C & Docker & LINUX

리눅스 시스템 보안 - 패스워드

로픽 2017. 10. 28. 00:05
300x250

리눅스 시스템 보안


출처 : 알기사 정보보안기사/산업기사 실기 대비 1권

1) 패스워드
  - /etc/passwd 파일은 리눅스 시스템에 등록된 사용자 정보가 담겨있다.
  - 과거에는 사용자의 패스워드를 /etc/passwd 파일의 두 번째 필드에 저장하였다.
  - 하지만 최근에는 /etc/shadow파일에 암호화된 패스워드만 저장하고 있다.

/etc/passwd 파일의 필드

[사용자 계정] : [패스워드(X표시 - /etc/shadow저장)] : [uid] : [gid] : [comment] : [홈디렉터리] : [로그인 쉘]


1. 사용자 계정 : 시스템에 대한 총괄 권한을 가지고 있어 보안상의 문제로 원격접속을 제한한다


2. 패스워드 : X /etc/shadow에 저장된다는 뜻


3. uid : 사용자 id, root 계정의 경우 0으로 부여한다. uid는 중복이 가능하며, 중복의 경우 계정명이 달라도 똑같은 권한을 가진다.


4. gid : 기본 그룹과 root 그룹의 경우 0으로 부여한다. 임의의 사용자가 0의 권한을 가지고 있을 때 점검해봐야한다.


5. comment : 사용자 관련 기타 정보로 일반적으로 사용자 이름을 설정한다.


6. 홈디렉터리 : 로그인에 성공한 후에 사용자가 위치할 홈 디렉터리로 루트 : /root, 사용자 : /home


7. 로그인쉘 : 리눅스의 기본 쉘로 bash 쉘



** 쉘 점검을 통해서 로그인이 불필요한 계정을 차단할 수 있다.


 - 해당 계정의 login_shell을 "/sbin/nologin" 또는 "/bin/false"로 설정한다.



shadow 파일


 - 패스워드 정보를 평문으로 저장할 경우 정보 유출 피해가 발생할 수 있으므로 패스워드를 암호화하여 보호해야한다.

 - shadow 패스워드 파일은 관리자만 읽을 수 있도록 제한한다.

 - shadow 파일에는 암호화된 패스워드 정보와 패스워드 에이징 정보가 저장되어 있다.


[사용자 계정] : [암호화된 패스워드] : [마지막 변경일] : [최소 사용기간] : [최대 사용기간] : [패스워드 만료 이전 경고일수] : [계정 만료된 이후 비활성화 일수] : [계정 만료일 설정]


 1. 마지막 변경일 : 마지막으로 패스워드를 변경한 날

 2. 최소 사용기간 : 패스워드 최소 사용기간 설정으로 패스워드를 마지막으로 변경한 날 이후부터 패스워드를 변경할 수 없는 일수를 의미한다.

 3. 최대 사용기간 : 패스워드 최대 사용기간 설정으로 패스워드를 마지막으로 변경한 날 이후부터 패스워드 만료 일수를 의미한다


** 암호화된 패스워드

  $ id $ salt $ 암호화된 패스워드


 - id : 적용된 일방향 해시 알고리즘의 id로 1:MD5, 2:BlowFish, 5:SHA-256, 6:SHA-512를 의미한다. 최근 MD5의 경우 안전하지 않기 때문에 SHA-256 이상의 해시 알고리즘을 사용한다.

 - salt : 패스워드 암호화 강도를 높이기 위한 값, 암호화를 위한 난수값


패스워드 잠금 설정(lock) 명령 : passwd -l 계정명

패스워드 잠금 해제(unlock) 명령 : passwd -u 계정명


반응형