Major Study./System hacking

시스템 보안 10.패스워드 설정 문제

sosal 2010. 11. 22. 19:12
반응형

/*
 http://sosal.tistory.com/
 * made by so_Sal
 */


관리중인 솔라리스 시스템에 계정을 가지고 있는 내부사용자들에게 패스워드를
자주 바꿀것을 공지하고 있으나 일부 사용자들이 잘 따라주지 않아서
부득이 강제로 패스워드를 바꿔야하는 제한기간을 설정해야 한다.
yspace라는 계정의 패스워드 정책을 다음과 같이 강제 설정하시오.
- 패스워드를 바꾼지 14일이 되면 무조건 새 패스워드로 바꿔야함.
- 패스워드를 새로 바꾼지 만 하루가 지나기 전에는 패스워드를 변경할 수 없음.
(단, yspace라는 계정에 대해서만 적용되어야 하고 타 계정에 영향을 주어서는 안됨)

[passwd]
시스템 모든 계정은 /etc/passwd파일에 관련 항목을 가지고 있다.
이 파일에는 각 행마다 한 사용자씩 사용자명, 실제 이름 등
각 계정과 관련된 몇가지 특성이 명시되어 있다.
(사용자의 유저이름, 암호, uid, gid등이 저장되어있다.)

account:password:UID:GID:GECOS:directory:shell
accout : 사용자이름
password : 패스워드(다음에 설명할 shadow로 링크될 경우 x로 표시된다)
UID, GID : 사용자ID, 그룹ID
GECOS : 사용자 정보
directiory : 사용자의 홈 디렉토리
shell : 사용자의 기본 shell 프로그램 
 

[shadow]
시스템 접속하는 모든 접속자가 /etc/passwd에 적혀 있는 암호화된 패스워드를 볼 수 있는데,
이것은 보안상 허점이 될 수 있다.
그래서 passwd 파일안에 암호화된 패스워드를 지우고, shadow라는 파일을 만들어 따로 관리한다.
/etc/shadow 파일은 root만이 읽을 수 있다.
(사용자의 암호가 shadow라는 파일에 암호화 되어 저장되어있다.)


account:encryptedpassword:last:may:must:warn:expire:disable:reserved:
account : 사용자이름
encryptedpassword : /etc/password의 패스워드를 md5 알고리즘을 통해 암호화 시킨 것이다.

last : 최근 패스워드 수정일
may : 패스워드 변경 최소일(기재된 수/day/ 이전에 패스워드를 변경할 수 없음)
must : 패스워드 변경 최대일(기재된 날 이후로 패스워드를 변경하여야만 함)
warn : 패스워드 만료 경고기간(만료일을 몇일전부터 경고할 지를 나타냄)
expire : 기재된 날 기간 만큼 로그인하지 않았을 때, 아이디는 정지된다.
disable : 기준날 이후로 계정의 만료기간
reserved : 예약필드 이다.
 
위의 /etc/shadow 파일은 root 권한자만이 접근이 가능하며, root도 접근한다 하여도 암호를 알아낼 수 없다.(but, root는 암호를 수정할 수는 있다.)
리눅스는 위와 같은 두 개의 파일로 사용자의 정보와 암호를 관리하게 된다.



yspace에 대한 계정의 shadow 파일만 수정하면 해결 가능하겠네요.





finish!