KISA 취약점 분석 및 평가 방법론 기반 Linux 운영체제 보안 침해사례 대응 매뉴얼
프로젝트 발표날짜 : 2025. 06. 10

(정보시스템구축) 정보시스템 구축·운영 기반 정보보안 전문가 양성과정A23(5) 1회차
팀장/팀원 | 전**(팀장) : 1. 네트워크 - VMware 기반 가상환경 및 네트워크 구성 - 서버 및 클라이언트 Rocky Linux 8.10 OS 설치 - Apache 서버 설치 2. KISA 상세 가이드를 참조하여 Rocky Linux 8.10 버전 OS에서 취약점 점검 및 설정 후 기술 문서 작성 2-1. FTPusers 파일 설정 - vsFTP root 접속 차단 - vsFTP 접근 제어 설정 2-2. at 서비스 파일 소유자 및 권한 설정 - /usr/bin/at 파일 SUID 제거 - /etc/at.allow, /etc/at.deny 파일 수정 2-3. SNMP 서비스 구동 여부 및 Community String 설정 - SNMP 서비스 중지 - /etc/snmp/snmpd.conf 파일 수정 2-4. 로그온 시 경고 메세지 제공 - 서버 및 Telnet, FTP, SMTP, DNS 배너 설정 2-5. NFS 설정파일 접근 권한 설정 - /etc/exports 파일 소유자 및 권한 변경 2-6. expn, vrfy 명령어 제한 - SMTP 서비스 중지 - noexpn, novrfy 설정 2-7. Apache 웹 서비스 정보 숨김 - ServerTokens Prod, ServerSignature Off로 설정 2-8. 정책에 따른 시스템 로깅 설정 - /etc/rsyslog.conf 파일 수정 |
---|---|
김** : 1. VMware 가상머신으로 FTP 서버 구축 및 환경 구성 - Linux 시스템에서 NAT 네트워크 환경을 구성하고, 가상 머신에 192.168.11.30 IP 주소를 할당한 후, vsftpd 패키지를 이용하여 FTP 서버 설치 및 설정 2. KISA의 취약점 분석 상세가이드를 참고해 리눅스 시스템의 보안 설정 및 파일 권한을 점검한 대응 매뉴얼과 체크리스트를 작성 2-1 root 홈, 패스 디렉터리 권한 및 패스 설정 - root 계정의 PATH에 상대 경로 "."가 설정되어 있는지 점검하여 보안 취약 여부 확인 2-2 파일 및 디렉터리 소유자 설정 - 소유자 불분명한 파일이나 디렉터리가 존재하는지 여부를 점검 2-3 /etc/passwd 파일 소유자 및 권한 설정 - /etc/passwd 파일의 권한 적절성을 점검하여 소유자 및 권한이 맞게 설정되어 있는지 확인 2-4 /etc/shadow 파일 소유자 및 권한 설정 - /etc/passwd 파일의 권한 적절성을 점검하여 소유자 및 권한이 맞게 설정되어 있는지 확인 2-5 /etc/hosts 파일 소유자 및 권한 설정 - /etc/hosts 파일의 권한 적절성을 점검하여 소유자 및 권한이 맞게 설정되어 있는지 확인 2-6 /etc/(x)inetd.conf 파일 소유자 및 권한 설정 - /etc/(x)inetd.conf 파일의 권한 적절성을 점검하여 소유자 및 권한이 맞게 설정되어 있는지 확인 2-7 /etc/syslog.conf 파일 소유자 및 권한 설정 - /etc/sysdlog.conf 파일의 권한 적절성을 점검하여 소유자 및 권한이 맞게 설정되어 있는지 확인 2-8 /etc/services 파일 소유자 및 권한 설정 - /etc/services 파일의 권한 적절성을 점검하여 소유자 및 권한이 맞게 설정되어 있는지 확인 2-9 SUID,SGID,Sticky bit 설정 파일 점검 - SUID나 SGID 권한이 부적절하게 부여된 파일이 있는지 점검 2-10 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정 - 홈 디렉터리 내의 환경변수 파일에 대한 소유자 및 접근권한이 관리자 또는 해당 계정으로 설정되어 있는지 점검 2-11 world writable 파일 점검 - 모든 사용자에게 쓰기 권한이 부여된 불필요한 파일이 시스템에 있는지 확인 2-12 /dev/에 존재하지 않는 device 파일 점검 - /dev/ 에 존재하지 않는 디바이스 파일이 포함되어 있는지 확인 2-13 $HOME/.rhosts, hosts.equiv 사용 금지 - /etc/hosts.equiv 파일 및 .hosts 파일의 소유자가 root나 해당 사용자 계정으로 설정되어 있는지 확인하고 파일 권한이 적절히 설정되어 있는지 점검, 파일 내용에 모든 호스트를 허용하는 “+” 설정이 포함되어 있지 않은지 확인 | |
김** : 1. 환경 구성 - 구현 환경에서 사용될 NIS 서버 및 클라이언트 환경 구축, 매뉴얼 작성 2. KISA 가이드를 참조하여 RHEL 시스템 환경에서 보안 취약점 점검 항목 확인, 매뉴얼 작성 2-1. 관리자를 제외한 사용자의 Sendmail 실행 방지 설정 - 일반사용자의 SMTP서비스 접근 제어 2-2. DNS 보안 버전 패치 - BIND 서비스 버전 확인 - 취약점이 공개된 버전 사용 제한 2-3. DNS Zone Transfer 설정 제한 - named.conf 파일 allow-transfer 옵션 제한 - allow list 사용 여부 점검 2-4. 웹 서비스 디렉토리 접근 제어 - 디렉토리 리스팅 - httpd.conf 파일 Indexes 옵션 미사용 점검 - 상위 디렉토리 접근 - httpd.conf 파일 AllowOverride 옵션 설정 점검 2-5. 웹 서비스 프로세스 권한 제한 - Apache 데몬의 실행 권한 점검, root권한 실행 금지 설정 2-6. 웹 서비스 서버의 서비스 영역 제어 - 서비스 설치 시 생성되는 불필요한 파일 제거 점검(샘플, 임시 파일 등) - 서비스 영역과 / 디렉토리 분리 조치 2-7. Apache 링크 사용 금지조치 - httpd.conf 파일 FollowSymLinks 옵션 제거 2-8. 웹 서버 파일 업로드 및 다운로드 제한 - httpd.conf 파일 LimitRequestBody 옵션 사용 조치 2-9. 웹 서버 관리자 ssh 원격접속 허용 - sshd_config 설정, 웹 서비스 관리자 접속 허용조치 2-10. ftp 서비스 점검 - 미사용 시 ftp 서비스 활성화 여부 점검, 비활성화 - 사용 시 ftp 계정 shell 제한 설정 | |
노** : 1. NFS 서버 구성 및 A/B 클라이언트 연동 - Kail Linux에서 192.168.11.40 IP로 NFS 서버 설치 및 구축 - 192.168.11.100 A 클라이언트와 NFS 서버 마운트하여 연동 2. 보안 상세 가이드 참고하여 Rocky Linux 8.10 버전에서 취약점 점검과 대응 메뉴얼 및 체크리스트 작성 2-1. Finger 서비스 비활성화 2-2. Anonymous FTP 비활성화 - 실행중인 FTP 서비스에 익명 FTP 접속이 허용되고 있는지 확인 - vsFTP 설치 및 접속 제한 설정 2-3. r 계열 서비스 비활성화 - rsh, rlogin, rexec 서비스 구동 확인 - vi /etc/xinetd.d 디렉터리에서 rsh, rlogin, rexec 파일을 열어서 보안 설정 2-4. cron 파일 소유자 및 권한 설정 - /usr/bin/crontab에서 crontab 일반사용자 권한 삭제 - cron 설정파일 소유자 및 권한 설정 2-5. DoS 공격에 취약한 서비스 비활성화 - 사용하지 않은 서비스 중지 - vi /etc/xinetd.d 디렉터리에서 echo, discard, daytime, chargen 파일을 열어서 보안 설정 2-6. NFS 서비스 비활성화 및 접근 통제 - 서버에 마운트 되어 있는 디렉터리에서 NFS 설정파일에 공유 디렉터리 설정 여부 확인 - 접근 통제하기 위해 /etc/exports 파일에 접근 가능한 호스트명 추가 - 인증 및 클라이언트 권한을 nobody로 설정 - NFS 서비스 데몬 중지 2-7. automountd 제거 - automountd 서비스 데몬 확인 - automountd 데몬 중지 및 스크립트 삭제 2-8. RPC 서비스 확인 - RPC 서비스 비활성화 여부 확인 - vi /etc/inetd.conf에서 보안 설정 2-9. NIS, NIS+ 점검 - NIS, NIS+ 서비스 구동 확인 - NIS, NIS+ 데몬 중지 및 스크립트 삭제 2-10. TFTP, TALK 서비스 비활성화 - tftp, talk, ntalk 서비스 활성화 여부 확인 - vi /etc/xinetd.d 디렉터리에서 tftp, talk, ntalk 파일을 열어서 보안 설정 2-11. Sendmail 버전 점검 - Sendmail 서비스 실행 여부 확인 - 버전 점검 후, 보안 패치 설치 2-12. 스팸 메일 릴레이 제한 - SMTP 서비스 사용 및 릴레이 제한 옵션 확인 - vi /etc/mail/sendmail.cf 에서 sendmail 접근 제한 및 보안 설정 | |
유** : 1. DNS 서버 구성 및 A/B 클라이언트 연동 - Rocky Linux에서 192.168.11.20 IP로 DNS 서버 설치 및 구축 2. KISA 취약점 분석 및 평가 가이드를 참조하여 Linux 운영체제 보안 침해 사례 대응 매뉴얼과 체크리스트 작성 후 Rocky Linux 8.10 버전 OS에서 매뉴얼을 직접 활용한 뒤 내용 정리를 통해 보안 관리 역량 향상과 기술 문서 작성 2-1. root 계정 원격접속 제한 - 외부 비인가자의 root 계정 접근 시도를 원천적으로 차단 2-2. 패스워드 복잡성 설정 - 사용자 계정 패스워드 복잡성 관련 설정이 적합하게 되어있는지 점검 2-3. 계정 잠금 임계값 설정 - 계정 잠금 임계값을 설정하여 비밀번호 노출 공격을 무력화 하기 위함 2-4. 패스워드 파일 보호 - /etc/passwd 파일에 저장된 패스워드 정보 보호 2-5. root 이외의 UID가 '0' 금지 - root 권한이 비인가자의 접근 위협에 안전하게 보호되고 있는지 확인 2-6. root 계정 su 제한 - su 명령어를 특정 그룹에 속한 사용자만 사용하는지 점검 2-7. 패스워드 최소 길이 설정 - 패스워드 최소 길이 설정이 적용되어 있는지 점검하여 짧은 패스워드 길이로 발생하는 취약점을 이용한 공격에 대한 대비 확인 2-8. 패스워드 최대 사용기간 설정 - 패스워드 최대 사용 기간 설정을 하여 사용자 패스워드가 유출되지 않도록 설정 2-9. 패스워드 최소 사용기간 설정 - 사용자가 패스워드를 변경했을때 사용기간을 설정해 정해진 사용기간 이내에 비인가자가 패스워드를 변경할 수 없게 설정 2-10. 불필요한 계정 제거 - 불필요한 계정이 존재하는지 점검하여 관리되지 않은 계정에 의한 침입에 대비하는지 확인 2-11. 관리자 그룹에 최소한의 계정 포함 - 관리자 그룹에 최소한의 계정만 존재하게 설정하여 불필요하게 권한이 남용되지않도록 설정 2-12. 불필요한 그룹 제거 필요 - 불필요한 그룹의 소유권으로 설정되어 있는 파일의 노출에 의해 발생할 수 있는 위험에 대한 대비가 되어있는지 확인 2-13. 동일한 UID 금지 - UID가 동일한 사용자 계정을 점검함으로써 타 사용자 계정 소유의 파일 및 디렉터리로의 악의적 접근 예방 및 침해사고 시 명확한 추적 확인이 가능 2-14 사용자 shell 점검 - 로그인이 불필요한 계정에 쉘 설정을 제거하여, 공격자가 불필요한 계정을 통해 시스템 명령어를 실행하지 못하게 하기 위함 2-15 Session Timeout 설정 - 시스템에 계정이 접속된 상태로 방치됨을 Session timeout 값을 설정하여 차단하도록 함 | |
개요 | 본 프로젝트는 한국인터넷진흥원(KISA)에서 제공하는 취약점 분석 및 평가 방법 상세가이드를 기반으로, Linux 운영체제의 보안 취약점을 진단하고 대응하는 실무형 매뉴얼 및 체크리스트를 제작하는 것을 목표로 한다. 192.168.11.0/24 NAT 네트워크 환경에 FTP, DNS, Apache, NFS, NIS 서비스별로 가상 머신을 구성하고, A/B 클라이언트와의 상호 통신을 구현하여 서비스를 하고 있는 Linux 운영체제에 대한 보안 설정 및 점검을 수행한다. 주요 보안 영역(계정 관리, 파일 및 디렉터리 권한, 서비스 관리, 패치 및 업데이트, 로그 관리)에 대해 발생 가능한 보안 침해사례를 분석하고, 해당 위협을 방지하기 위한 설정 방법 및 점검 항목을 정리한다. 실무자가 즉시 활용 가능한 형식으로 정리함으로써, 보안 관리 역량을 실질적으로 향상시키는 것이 본 프로젝트의 핵심이다. |
구현기능 | 1. 네트워크 및 가상 환경 구성 - NAT 기반 192.168.11.0/24 네트워크 구성 - FTP, DNS, Apache, NFS, NIS 서비스별 가상 서버 구축 - A 클라이언트, B 클라이언트 가상 머신 구성 및 상호 통신 확인 2. 계정 및 인증 정책 보안 설정 - 불필요한 계정 제거 및 기본 계정 비활성화 - 비밀번호 복잡성, 만료일, 실패 잠금 정책 설정 - /etc/login.defs, PAM 설정 등 보안 정책 적용 3. 파일 및 디렉터리 권한 강화 - 중요 디렉터리의 권한 최소화 (/etc, /var/log 등) - 불필요한 SUID/SGID 설정 제거 - 파일 권한 확인 4. 서비스 보안 설정 및 제한 - 사용하지 않는 서비스 비활성화 - 방화벽(firewalld) 설정: 서비스별 포트 제한 및 IP 기반 접근 제어 - rich rule을 활용한 세부 접근 통제 5. 패치 및 업데이트 관리 - yum 또는 dnf를 이용한 최신 보안 패치 적용 - 커널 및 주요 서비스 업데이트 이력 관리 6. 로그 및 감시 체계 구성 - journald 및 /var/log/ 로그 설정 검토 - 로그 파일 접근 권한 설정 및 자동 삭제 방지 - cron을 이용한 주기적 로그 백업 및 점검 스크립트 작성 7. 보안 체크리스트 및 대응 매뉴얼 제작 - 항목별 취약점 설명, 발생 가능한 위협 사례 수록 - 각 보안 설정에 대한 적용 방법과 점검 절차 명시 - 실무 적용을 고려한 문서화 (PDF/한글 문서 및 스크립트 포함) |
설계의 주안점 | 1. 침해사례를 반영한 실무형 보안 설정 - KISA에서 제시한 분석 및 평가 방법론을 기반으로 침해사례를 참고하여 보안 설정. - 각 보안 항목에 대해 “무엇을, 왜 해야 하는가”를 명확히 하여 이해도 및 현장 활용성 강화. 2. 서비스별 가상 환경 분리 및 통신 구현 - FTP, DNS, Apache, NFS, NIS 등 보안 취약점이 자주 발생하는 핵심 서비스를 별도 가상 머신에 구성하여 실습 환경을 구현. - NAT 환경(192.168.11.0/24) 내에서 A/B 클라이언트와의 양방향 통신을 통해 실제 운영 환경을 시뮬레이션. 3. 보안 원칙에 따른 계층별 접근 통제 - 계정 관리 → 파일 권한 → 서비스 제한 → 네트워크 방화벽 → 로그 및 추적 관리로 이어지는 계층별 보안 접근 방식 적용. 4. 표준화된 체크리스트 및 설정 가이드화 - 각 보안 항목별 점검 체크리스트와 설정 가이드 문서를 함께 제공하여 반복적 보안 점검 및 교육용 자료로 활용 가능. - 시스템 관리자 및 보안 담당자가 즉시 참고 가능한 문서화 형태로 구성 (스크립트 + 설명). 5. 보안 설정 미흡 시 발생 가능한 위협 시뮬레이션 - 보안 설정을 하지 않았을 때의 실제 침해 시나리오(예: 계정 탈취, 서비스 스니핑, 파일 손상 등)를 함께 제시. - 단순 설정이 아닌 설정하지 않을 경우의 리스크 인식을 유도하여 교육 및 실무 반영도 향상. |
사용기술 및 개발환경 |
1. 사용기술 - OS : Rocky Linux 8.10 - 가상머신 : VMware Workstation Pro - 네트워크 구성 : NAT 기반 192.168.11.0/24 내부망 구성 - 테스트 환경 : vsFTPD3.0.3, DNS(bind 9.11.36), Apache/2.4.37, nfs-utils-2.3.3, NIS(ypserv 4.1-1), 및 A/B 클라이언트 구성 |
![]() ![]() |