주요정보통신기반시설기술적취약점분석평가방법상세가이드 중 UNIX/LINUX 항목에 대한 취약점 점검 도구
주요정보통신기반시설기술적취약점분석평가방법상세가이드 문서 내 UNIX 서버 항목 중 중요도 '상'에 해당하는 항목 중 10개 선정
u00.sh : report.txt 구성 스크립트
u01.sh : root 계정 원격 접속 제한 스크립트
u03.sh : 계정 잠금 임계값 설정 스크립트
u04.sh : 패스워드 파일 보호 스크립트
u05.sh : root 홈, 패스 디렉터리 권한 및 패스 설정 스크립트
u19.sh : finger 서비스 비활성화 스크립트
u20.sh : Anonymous FTP 비활성화 스크립트
u21.sh : r 계열 서비스 비활성화 스크립트
u24.sh : NFS 서비스 비활성화 스크립트
u26.sh : automountd 제거 스크립트
u33.sh : DNS 보안 버전 패치 스크립트
[webservers]
managed1.example.local
[dbservers]
managed2.example.local
[allservers:children]
webservers
dbservers
[defaults]
inventory = ./inventory
remote_user = user
ask_pass = false
[privilege_escalation]
become = true
become_method = sudo
become_user = root
become_ask_pass =true
---
- name: execute a script
hosts: allservers
tasks:
- name: with_list # 스크립트 파일 호스트에 복사
copy: src={{ item }} dest=/home/user mode=0777
with_list:
- u00.sh
- u01.sh
- u03.sh
- u04.sh
- u05.sh
- u19.sh
- u20.sh
- u21.sh
- u24.sh
- u26.sh
- u33.sh
- name: with_list # 복사된 스크립트 파일 실행
command: sh /home/user/{{ item }}
with_list:
- u00.sh
- u01.sh
- u03.sh
- u04.sh
- u05.sh
- u19.sh
- u20.sh
- u21.sh
- u24.sh
- u26.sh
- u33.sh
- name: with_list # 실행 후 복사한 스크립트 호스트에서 삭제
command: rm -f /home/user/{{ item }}
with_list:
- u00.sh
- u01.sh
- u03.sh
- u04.sh
- u05.sh
- u19.sh
- u20.sh
- u21.sh
- u24.sh
- u26.sh
- u33.sh
스크립트 복사
스크립트 실행
스크립트 삭제
KISA 기술적 취약점 분석 평가 상세 가이드 문서를 참고하여 CentOS7 환경에서 스크립트와 ansible을 기반으로 취약점 진단을 정해진 호스트에 배포하고 실행하는 일련의 작업들을 수행하였습니다.
앞으로 더 발전할 방향으로는 상세 가이드 문서에 나온 모든 부분을 점검할 수 있도록 스크립트를 제작하며 실행 결과가 취약으로 나온 부분에 대해서 자동으로 해당 부분 조치를 취할 수 있도록 구성하는 것이 필요해 보입니다.