- KISA의 주요정보통신기반시설 - 기술적 취약점 분석 및 평가 방법 상세가이드의 실제 적용 스크립트 입니다.
- 문서는 2017년 12월 배포본 기준 입니다.
- reference: 한국인터넷진흥원 기술안내서가이드
- 멱등성을 보장하지 않습니다. 일부 중복실행 방지처리가 되어있으나 절대 2회 이상 실행하지 마십시오.
- 초기 상태로 돌아가는 방법은 없습니다. 되돌리기를 원하시면 OS를 재설치 하셔야 합니다.
- 이 스크립트는 KISA 권장사항을 모두 보장하지 않습니다. 미보장 사항을 하기 추가 항목에서 확인하십시오.
- 적용 후 필히 수기검토 하십시오.
- OS 설치 중 필수 패키지 선택 조건이 있습니다.
- Docker 및 LXC 환경에 적합하지 않습니다.
- NTP 주소가 필요합니다.
- RHEL6와 7이 구분되어 있습니다.
- yum repository의 로컬 구축이 필요합니다.
- Apache, 및 기타 DBMS
- 순정상태에서 진행해야 합니다. (AD join되어 있는 경우 해제 요망)
- 모든 윈도우 업데이트가 완료되어야 합니다.
- 적용 과정에서 Hostname입력이 필요합니다.
- IIS 및 MS-SQL
- 루트 권한을 얻은 상태에서 다음과 같이 입력하면 유저 상호와 함께 시작됩니다.
- sudo등을 사용하지 마십시오. id=0을 감지하므로 작동이 불가능합니다.
$ ./pLSS.sh
- 실행이 끝나면 재부팅 해주세요.
- Administrator계정이 로그인 된 상태에서 run.cmd를 관리자 권한으로 실행하세요.
- 실행이 모두 끝나면 재부팅을 해주세요.
- [항목번호추가요망] hosts.deny hosts.deny 설정시 특정 호스트에서만 접근이 가능해 집니다. 대외공개 서버(웹사이트 등)에서 적합하지 않으므로 공통사항이 아니라고 판단하여 제가합니다. 실제 적용시 고객담당자와 협의 후 미조치 사유를 작성하여야 합니다.
- [항목번호추가요망] World writable 파일 제거 /tmp 디렉토리에 실제 시스템 운영에 필요한 세션 및 임시파일들이 전체권한 가능 상태로 작동중입니다. 제거시 시스템운영이 불가능해 질 수 있으므로 조치사항에서 제거합니다.
이하 스크립트 순서대로 적용내역입니다.
- 적용 대상 파일에 대한 백업 조치 (~/security_modify/ 내 저장)
- SELinux 비활성화
- firewalld 방화벽 비활성화
- libvirtd 관련 서비스와 가상인터페이스 비활성화
- NTP서버 설정 (chronyd/ntpd)
- /etc/shadow 파일 권한 강화
- ssh 데몬 root 계정 접속 제한 조치
-
1.2 패스워드 복잡성 설정 /etc/pam.d/system-auth 에서 password의 pam_cracklib.so 항목을 기준에 맞는 설정으로 추가합니다. authconfig를 통해 한번 더 설정합니다. (RHEL7 한정)
-
1.3 계정 잠금 임계값 설정 /etc/pam.d/system-auth, /etc/pam.d/password-auth에 pam_tally2.so 항목을 기준에 맞는 설정으로 추가합니다.
-
1.6 root 계정 su 제한 /etc/pam.d/su에 wheel 그룹 이외 sudo로 권한상승 제한을 추가합니다. /usr/bin/su에 wheel 그룹 권한을 부여합니다.
-
1.8 패스워드 최대 사용 기간 설정 /etc/login.defs에 패스워드 만료 기간 90일 설정을 합니다.
-
1.9 패스워드 최소 사용기간 설정 / 패스워스 최소길이 설정
-
1.10 불필요한 계정 제거
-
1.14 사용자 shell 점검
-
1.15 Session Timeout 설정
-
2.2 파일 및 디렉터리 소유자 설정
-
2.3 /etc/passwd 파일 소유자 및 권한 설정
-
2.4 /etc/shadow 파일 소유자 및 권한 설정
-
2.5 /etc/hosts 파일 소유자 및 권한 설정
-
2.6 /etc/(x)inetd.conf 파일 소유자 및 권한 설정
-
2.7 /etc/syslog.conf 파일 소유자 및 권한 설정
-
2.8 /etc/services 파일 소유자 및 권한 설정
-
2.9 SUID, SGID, Sticky bit 설정 파일 점검
-
2.10 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정
-
2.12 2.12. /dev에 존재하지 않는 device 파일 점검
-
2.13 HOME/.rhosts, hosts.equiv 사용 금지
-
2.15 hosts.lpd 파일 소유자 및 권한 설정
-
2.16 NIS 서비스 비활성화
-
2.17 UMASK 설정 관리
-
3.1 Finger 서비스 비활성화
-
3.2 Anonymous FTP 비활성화
-
3.3 r service disable
-
3.4 cron 파일 소유자 및 권한 설정
-
3.5 DoS 공격에 취약한 서비스 비활성화
-
3.6 NFS 서비스 비활성화
-
3.8. automountd 제거
-
3.11. tftp, talk 서비스 비활성화
-
3.25. ftp 서비스 확인
-
3.27. Ftpusers 파일 소유자 및 권한 설정
-
3.29. at 파일 소유자 및 권한 설정
-
3.32. 로그온 시 경고 메시지 제공
-
3.33. NFS 설정 파일 접근 권한