대외활동/42서울

[42서울] Born2beroot 개념 정리 1

Campus Coder 2024. 3. 4. 19:42
728x90
반응형

목차

  1. 서론
  2. 가상머신과 운영체제
  3. 사용자 관리
  4. 패스워드 정책 설정
  5. 호스트

 

서론

born2berroot(본투비)는 시스템(운영체제) 관리에 관련된 과제이다.

가상머신 개념 및 관련 용어, UFW 서비스, SSH 서비스, 유저 및 그룹 관리, 패스워드 정책 설정, 하드디스크 파티션과 LVM, SUDO, Cron 등에 대해서 배울 수 있다. 42서울의 다른 과제에 비해 코딩이 어렵기 보다는 처음 접하는 개념과 익숙하지 않은 환경에 공부할 것도 많고 은근히 까다로울 수 있는 과제이다. 이 포스팅에서는 본투비를 진행하며 배웠던 개념들에 대해서 정리해보겠다.

 

명령어가 동작하지 않는다면 앞에 sudo를 추가해보세요.

 

가상머신과 운영체제

가상머신 동작 원리

가상머신은 하이퍼바이저를 통해 동작

 

하이퍼 바이저 유형

TYPE 1

- 하이퍼바이저가 하드웨어 위에서 바로 실행

TYPE 2

- 호스트 OS 위에 하이퍼바이저를 실행시키는 방식

 

https://campus-coder.tistory.com/86

 

[컴퓨터구조] #12 가상머신/가상화/클라우드

가상머신 HW 지원 필요 System Mode/User Mode - OS의 커널 관련 이해 필요 Guest OS는 User Mode에서만 동작 - 가상화된 자원만 사용 가상화 컴퓨터의 자원(CUP, 메모리, 저장장치, 네트워크 등)의 추상화 서버

campus-coder.tistory.com

 

Rocky vs. Debian

Rocky

  • RedHat 계열
  • RHEL처럼 기술 지원 서비스 받을 수 없음
  • RPM 패키지 형식 (YUM과 DNF를 프로그램의 설치, 제거, 구성을 관리하는 패키지 완리자로 사용)
  • CentOS의 후속작으로 불림

 

Debian

  • Debian 계열
  • 오픈소스 기반 (사후지원과 배포가 늦음)
  • DEB 패키지 형식 (dpkg와 APT를 프로그램의 설치, 제거, 업그레이드 구성을 관리하는 패키지 관리자로 사용)

 

레드햇 계열과 데비안 계열은 둘다 리눅스 기반의 커널을 사용하지만 패키지 관리 형식 등이 다르다는 차이를 가지고 있다.

비유하자면 같은 인간이지만 백인종과 황인종의 차이 정도라고 생각하면 되겠다.

 

커널 정보 확인

uname -a

 

가상머신의 목적

가상머신을 사용하여 하나의 하드웨어에서 여러 OS를 구동시킬 수 있다.

이때, 각 OS가 제공하는 기능을 독립적으로 사용할 수 있다.

또한 가상머신은 스냅샷을 제공하여 해당 스냅샷으로 롤백이 가능하다.

 

예를 들어 보안에 대한 우려가 있는 프로그램을 실행시킬 때 가상머신을 통하여 해당 프로그램을 실행시킨다면 OS가 공격받더라도 스냅샷을 통하여 공격받기 전으로 롤백 할 수 있으며, 가상머신은 독립적으로 동작하기 때문에 호스트 OS는 공격으로부터 안전하다.

 

aptitude vs. apt

데비안에서는 apt, aptitude를 이용해 소프트웨어의 설치와 제거를 수행한다. (패키지 관리 툴)

 

aptitude

  • 사용자 인터페이스 기반 패키지 관리 툴 (구글에 "데비안 aptitude" 검색해서 이미지 찾아보세요.)
  • apt 보다 많은 기능
    • 사용되지 않는 패키지 자동 관리(삭제)
    • why, why-not 명령어를 통해 동작이 왜 수행되는지, 수행되지 않는지 확인 가능

 

apt

  • 명령어 기반 패키지 관리 툴 (그래픽 인터페이스X, 명령어로 사용)
  • 설치할 패키지명 입력 -> 해당 패키지 및 종속적인 패키지 설치

 

APPArmer

APPArmer는 MAC 방식의 리눅스 커널 보안 모듈이다. (기본 리눅스는 DAC 방식)

프로그램에서 액세스 있는 파일을 지정하는 규칙 집합에 따라 프로그램을 제한한다.

 

  • MAC: 미리 정해진 정책과 보안 등급에 따라 접근 통제
  • DAC: 시스템 객체에 대한 접근을 사용자나 그룹의 신분을 기준으로 제한

 

 

사용자 관리

유저 추가

adduser newuser
# 홈 디렉터리 자동생성
useradd newuser
# 홈 디렉터리를 자동생성 안함

 

그룹에 유저를 추가

usermod -aG user42,sudo newuser
# a옵션으로 명시되지 않은 그룹 탈퇴처리 안함

 

패스워드 설정

passwd newuser

 

사용자가 속한 그룹 보기

groups newuser

 

그룹 생성

groupadd newgroup

 

 

2023.06.12 - [전공/리눅스시스템관리] - [Linux] 리눅스 사용자 관리

 

[Linux] 리눅스 사용자 관리

사용자 계정 관련 파일 /ect/passwd 파일 사용자 계정 정보가 저장된 기본 파일 로그인 ID: 사용자 계정의 이름 x: 초기 유닉스 시스템에서 사용자 암호를 저장하던 항목(현재는 /etc/shadow에 암호 저장

campus-coder.tistory.com

 

 

패스워드 정책 설정

/etc/login.defs 파일

리눅스 시스템에서 사용자 계정의 로그인 설정을 정의하는 파일이다.

이 파일은 주로 'login' 프로세스 및 다른 로그인 관련 프로그램들이 사용하는 기본적인 설정을 제공한다.

이중 패스워드와 관련된 세 가지 설정이다.

  • PASS_MAX_DAY       30    #비밀번호 만료 기간
  • PASS_MIN_DATS      2      #비밀번호 변경한 후 재설정 대기 기간
  • PASS_WRAN_AGE    7      #비밀번호 만료 전 경고알림

 

/etc/pam.d/common-password 파일

리눅스 시스템에서 사용자의 비밀번호 관리에 관련된 PAM(Pluggable Authentication Modules) 설정을 포함하는 파일이다. PAM은 사용자 인증을 관리하는 데 사용되며, 시스템 전반에 걸쳐 로그인, 비밀번호 변경, 계정 잠금 해제 등과 관련된 작업을 효과적으로 처리한다.

 

비밀번호 조건 설정

  • minlen=10
    # 최소길이 10
  • ucredit=-1
    # 대문자 1개 이상
  • lcredit=-1
    # 소문자 1개 이상
  • dcredit=-1
    # 숫자 최소 1개 이상
  • maxrepeat=3
    # 같은 문자 연속 3번까지 가능
  • reject_username
    # 유저 이름 사용 불가
  • enforce_for_root
    # 사용자 패스워드 생성 법칙 적용
  • difok=7
    기존 패스워드와 달라야 하는 문자 수 7

 

이렇게 규칙이 까다로운 비밀번호 정책의 장점은 단점은 무엇일까?

장점은 당연히 보안성이 높아진다는 점이 있다.

단점은 아이러니하게도 보안성이 낮아질 수도 있다는? 점이 있다.

 

왜 이런 단점이 생길 수 있을까?

비밀번호는 결국 인간이 기억하고 사용해야하기 때문이다.

요즘 같이 다양한 사이트 등에서 비밀번호를 요구하는 시대에서 보통 사람들은 모든 비밀번호와 비밀번호의 조건을 기억할 수 없다.

결국 조건이 까다로운 조건으로 매달 바꿔야 하는 비밀번호를 기억하기 위해서는 메모장 등을 이용하여 비밀번호를 어딘가에 남겨 놓을 텐데, 해당 플랫폼이 노출되면 비밀번호까지 함께 노출되기에 조건을 까다롭게 정한 것이 독이 될 수도 있다는 것이다.

 

 

호스트

호스트는 네트워크 환경에서 다른 컴퓨터나 장치와 통신하기 위한 네트워크 서비스를 제공하는 시스템을 의미한다. 호스트의 역할은 주로 네트워크 관리, 서비스 제공, 데이터 저장, 보안 및 인증 등과 관련되어 있다.

 

호스트 정보 확인

hostnamectl

 

호스트 명 변경

sudo hostnamectl set-hostname newhostname

 

728x90
반응형