리눅스 계정 취약점 점검 방법
리눅스(linux)취약점 중 계정관리를 어떻게 하여야 되는지에 대하여 포스팅 해보겠습니다.
점검 그룹 | 점검 항목 |
계정 관리 | root 계정 원격 접속 제한 |
계정 관리 | 패스워드 복잡성 설정 |
계정 관리 | 계정 잠금 임계값 설정 |
계정 관리 | 패스워드 파일 보호 |
계정 관리 | root 이외의 UID가 '0' 금지 |
계정 관리 | root 계정 su 제한 |
계정 관리 | 패스워드 최소 길이 설정 |
계정 관리 | 패스워드 최대 사용 기간 설정 |
계정 관리 | 패스워드 최소 사용기간 설정 |
계정 관리 | 불필요한 계정 제거 |
계정 관리 | 관리자 그룹에 최소한의 계정 포함 |
계정 관리 | 계정이 존재하지 않는 GID 금지 |
계정 관리 | 동일한 UID 금지 |
계정 관리 | 사용자 shell 점검 |
계정 관리 | Session Timeout 설정 |
위 표는 리눅스(linux) 시스템에서 관리자가 계정관리를 할 때 참고 하면 유용하게 사용 할 수 있습니다.
해킹 시도가 들어왔을때 os 상에서 최소한의 보안 지침 입니다.
1.root 계정 원격 접속 제한
-원격 서비스를 사용하지 않거나, 사용 시 root 직접 접속을 차단한 경우 양호합니다.
점검파일은
/etc/pam.d/login 파일 안에 auth required /lib/security/pam_securetty.so 라인이 없으면 취약하게 됩니다.
/etc/securetty 파일 안에 pts/0 ~ pts/x 관련 터미널 설정이 존재하면 취약하게 됩니다.
[조치방안]
1. “/etc/securetty” 파일에서 pts/0 ~ pts/x 설정 제거 또는, 주석 처리
2. “/etc/pam.d/login” 파일 수정
(수정 전) #auth required /lib/security/pam_securetty.so
(수정 후) auth required /lib/security/pam_securetty.so
※ /etc/securetty : Telnet 접속 시 root 접근 제한 설정 파일
“/etc/securetty” 파일 내 *pts/x 관련 설정이 존재하는 경우 PAM 모듈 설정과 관계없이 root 계정
접속을 허용하므로 반드시 "securetty" 파일에서 pts/x 관련 설정 제거 필요
*pts/0 ~ pts/x 설정:
tty(terminal-teletype) : 서버와 연결된 모니터, 키보드 등을 통해 사용자가 콘솔로 직접 로그인함
pts(pseudo-terminal, 가상터미널) : Telnet, SSH, 터미널 등을 이용하여 접속함
2.패스워드 복잡성 설정
-영문∙숫자∙특수문자가 혼합된 8자리 이상의 패스워드가 설정된 경우 양호합니다.
< 부적절한 패스워드 유형 >
1. 사전에 나오는 단어나 이들의 조합
2. 길이가 너무 짧거나, NULL(공백)인 패스워드
3. 키보드 자판의 일련의 나열 (예) abcd, qwert, etc
4. 사용자 계정 정보에서 유추 가능한 단어들
(예) 지역명, 부서명, 계정명, 사용자 이름의 이니셜, root, rootroot, root123, admin 등
3.계정 잠금 임계값 설정
-계정 잠금 임계값이 5 이하의 값으로 설정되어 있는 경우 양호합니다.
<설정방법>
1. vi 편집기를 이용하여 “/etc/pam.d/system-auth” 파일을 연 후
2. 아래와 같이 수정 또는, 신규 삽입
auth required /lib/security/pam_tally.so deny=5 unlock_time=120 no_magic_root
account required /lib/security/pam_tally.so no_magic_root reset
옵션 설명
no_magic_root root에게는 패스워드 잠금 설정을 적용하지 않음
deny=5 5회 입력 실패 시 패스워드 잠금
unlock_time
계정 잠김 후 마지막 계정 실패 시간부터 설정된 시간이 지나면 자동 계정 잠김 해제 (단위: 초)
reset 접속 시도 성공 시 실패한 횟수 초기화
3.root 계정 su 제한
-su 명령어를 특정 그룹에 속한 사용자만 사용하도록 제한되어 있는 경우 양호합니다.
<설정방법>
1. “/etc/pam.d/su” 파일을 아래와 같이 설정(주석제거)
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so debug group=wheel 또는,
auth sufficient /lib/security/$ISA/pam_rootok.so
auth required /lib/security/$ISA/pam_wheel.so use_uid
2. wheel 그룹에 su 명령어를 사용할 사용자 추가
#usermod –G wheel <user_name>
또는, 직접 “/etc/group” 파일을 수정하여 필요한 계정 추가
wheel:x:10: -> wheel:x:10:root,admin
오늘은 여기 까지 입니다~ 다음편에 게속됩니다~
'IT' 카테고리의 다른 글
[리눅스]linux 사용자 계정정보 확인방법! (0) | 2017.12.07 |
---|---|
[리눅스]linux 명령어 꿀팁! (0) | 2017.12.07 |
[리눅스]linux파일복사명령어! (0) | 2017.12.07 |
[리눅스]linux파일권한명령어! (0) | 2017.12.07 |
[리눅스]linux 디렉토리용량 확인 명령어! (0) | 2017.12.07 |