자격증/정보보안기사

[시스템 보안] Unix, Linux 서버 보안 - 1

집으로가고싶다 2022. 8. 2. 12:59

1. /etc/shadow

 가. 구조 

  □ user_account : encrypted_passwd : last_change : minlife : maxlife : warn : inactive : expires

   1) encrypted_passwd 

    - 구조 : $ID(암호화에 적용된 일방향 해시함수 식별)$Salt(레인보우 테이블 공격 방지)$encrypted_passwd

    - * : 패스워드 잠긴 상태(패스워드 로그인 금지, 별도의 인증방식을 통한 로그인 가능)

    - !! : 패스워드 잠긴 상태(모든 로그인 금지)

    - 빈값 : 패스워드 미설정 상태(패스워드 없이 로그인 가능 상태)

     cf. UNIX : NP(로그인 불가), *LK*(패스워드 잠금, 로그인 불가), 빈값(패스워드 미설정, 자동 설정 단계 이동)

    2) last_change : 마지막 패스워드 변경일

    3) minlife : 패스워드 최소 사용기간(최근 암호 기억 무력화를 통한 익숙한 패스워드 재사용 방지)

    4) inactive : 패스워드 만료 후, 잠금까지 비활성화 일 수

 나. 관련 파일 및 명령어

  □ /etc/login.defs : 리눅스 패스워드 정책 설정 파일

  □ pwconv : 패스워드 저장 정책 shadow로 변경

  □ pwunconv : 패스워드 저장 정책 일반 패스워드로 변경(/etc/passwd 에 함께 저장)

 

2. 실행권한

 가. 구분

  1) RUID : 프로세스를 실행시킨 사용자의 UID

  2) RGID : 프로세스를 실행시킨 사용자의 GID

  3) EUID : 자원 접근권한판단을 위한 UID → 아.. SID 가 설정되어있으면 해당 값이 파일의 UID 값으로 바뀌겠네

  4) EGID : 자원 접근권한판단을 위한 GID → 아.. SGID 가 설정되어있으면 해당 값이 파일의 GID 값으로 바뀌겠네

 나. 명령어

  □ chmod -s "실행 파일명" : suid 및 sgid 권한 삭제

  □ find / -user root -type -f \( -perm 4000 -o -perm 2000\) -exec ls -al {} \;

      →  -exec "명령어" -{} : 찾은 파일을 대상으로 뒤에 나오는 명령어를 차례대로 수행해라

      →  루트 디렉터리(/) 에서 사용자가 root 이고 setuid(4000) or setgid(2000)

           권한이 설정된 파일을 찾아서 출력(ls -al) 해라(-exec)

 다. sticky bit

  □ 디렉터리에 대한 권한 설정 → 권한 없는 사용자에 대한 디렉터리 내부 파일 삭제 및 변경 방지

  □ ex. chmod o+t /tmp → others 에 권한 추가, 디렉터리에 권한 부여 

  

3. 슈퍼서버(inetd 데몬)

 가. 비교

  1) stand-alone : 개별 서비스별로 서버 프로세스(데몬)가 존재

  2) inetd : 클라이언트 요청은 모두 슈퍼 데몬이 처리하고 개별 서비스를 호출하는 방식

 나. /etc/inted.conf

  1) 용도 : 슈퍼데몬 최초 실행 시, 해당 파일의 정보를 참조하여 서비스할 프로그램들에 대한 정보 획득

  2) 구조  

   □ 서비스명    소켓타입    프로토콜    플래그(no wait or wait)    사용할 사용자 계정     실행 경로명(절대경로)     실행인수

    - 서비스명 : /etc/services 파일에 등록된 포트번호를 참조하여 서비스할 프로세스의 포트를 결정

    - 소켓타입 : datagram(udp), stream(tcp)

    - 프로토콜 : /etc/protocols 파일에 주어진 프로토콜 중 사용가능한 프로토콜을 설정