취약점 개요 | |
점검 내용 | 허용할 호스트에 대한 접속 IP 주소 제한 및 포트 제한 설정 여부 점검 |
점검 목적 | 허용한 호스트만 서비스를 사용하게 하여 서비스 취약점을 이용한 외부자 공격을 방지하기 위함 |
보안 위협 | 허용할 호스트에 대한 IP 및 포트제한이 적용되지 않은 경우, Telnet, FTP같은 보안에 취약한 네트워크 서비스를 통하여 불법적인 접근 및 시스템 침해사고가 발생할 수 있음 |
참고 | 접속 IP 및 포트제한 애플리케이션 종류 예시 ※ TCP Wrapper: 네트워크 서비스에 관련한 트래픽을 제어하고 모니터링 할 수 있는UNIX 기반의 방화벽 툴 ※ IPFilter: 유닉스 계열에서 사용하는 공개형 방화벽 프로그램으로써 Packet Filter로 시스 템 및 네트워크 보안에 아주 강력한 기능을 보유한 프로그램 ※ IPtables: 리눅스 커널 방화벽이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 응용프로그램 |
점검대상 및 판단 기준 | |
대상 | LINUX |
판단기준 | 양호 : 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정한 경우 |
취약 : 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않은 경우 | |
조치 방법 | OS에 기본으로 제공하는 방화벽 애플리케이션이나 TCP Wrapper 같은 호스트별 서비스 제한 애플리케이션을 사용하여 접근 허용 IP 등록 |
점검 및 조치 | |
점검 | 1. TCP Warrper 사용할 경우 All deny 적용 확인 및 접근 허용 IP 적절성 확인 #cat /etc/hosts.deny #cat /etc/hosts.allow 2. IPtables 사용할 경우 (Linux) #iptalbes -L |
위에 제시한 파일이 존재하지 않거나 All deny 설정이 적용되지 않은 경우 또는, 시스템 접근 제한 IP 설정 필요 시 아래의 보안설정방법에 따라 설정을 변경함 |
|
조치 | ■ IPtables 사용하는 경우 Step 1) iptables 명령어를 통해 접속할 IP 및 포트 정책 추가 (예) SSH 서비스 제한 #iptables –A INPUT –p tcp –s 192.168.1.0/24 —dport 22 –j ACCEPT #iptables -A INPUT -p tcp --dport 22 -j DROP Step 2) iptables 설정 저장 #/etc/rc.d/init.d/iptables save ■ IPfilter 사용하는 경우 Step 1) vi 편집기를 이용하여 “/etc/ipf/ipf.conf” 파일 열기 Step 2) 접속할 IP 및 포트 정책 추가 (예) SSH 서비스 제한 pass in quick proto tcp from 192.168.1.0/24 to any port = 22 keep state block in quick proto tcp from any to any port = 22 keep state Step 3) IPfilter 서비스 재시작 ■ TCP Wrapper 사용하는 경우 Step 1) vi 편집기를 이용하여 “/etc/hosts.deny” 파일 열기 (해당 파일이 없을 경우 새로 생성) Step 2) 아래와 같이 수정 또는, 신규 삽입 (ALL Deny 설정) (수정 전) 설정 없음 (수정 후) ALL:ALL Step 3) vi 편집기를 이용하여 “/etc/hosts.allow” 파일 열기 (해당 파일이 없을 경우 생성) (수정 전) 설정 없음 (수정 후) sshd : 192.168.0.148, 192.168.0.6 (다른 서비스도 동일한 방식으로 설정) < TCP Wrapper 접근제어 가능 서비스 > SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, TALK, EXEC, TFTP, SSH < TCP Wrapper는 다음 두 파일에 의해 접근이 제어됨 > /etc/hosts.deny --> 시스템 접근을 제한할 IP 설정 /etc/hosts.allow --> 시스템 접근을 허용할 IP 설정 위의 두파일이 존재하지 않은 시 --> 모든 접근 허용 |
점검 스크립트
#!/bin/bash
. function.sh
BAR
CODE '[U-18] : 접속 IP 및 포트 제한'
cat << EOF >> $RESULT
[양호]: 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정한 경우
[취약]: 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않은 경우
EOF
BAR
CHECK1=$(cat /etc/hosts.allow | grep -v "^#")
CHECK2=$(cat /etc/hosts.deny | grep -v "^#")
if [ -n "$CHECK1" ] && [ -n "$CHECK2" ] ; then
OK "접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정한 경우"
else
VULN "접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않은 경우"
fi
cat $RESULT
'Hacking > infra 진단' 카테고리의 다른 글
[Linux] U-20 (상) Anonymous FTP 비활성화 (0) | 2021.09.01 |
---|---|
[Linux] U-19 (상) Finger 서비스 비활성화 (0) | 2021.09.01 |
[Linux] U-17 (상) $HOME/.rhosts, hosts.equiv 사용 금지 (0) | 2021.08.23 |
[Linux] U-16 (상) /dev에 존재하지 않는 device 파일 점검 (0) | 2021.08.23 |
[Linux] U-14 (상) 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정 (0) | 2021.08.23 |