기록하는 공부

[U-18 (상)] 2. 파일 및 디렉토리 관리 > 2.14 접속 IP 및 포트 제한 본문

정보보안/주요정보통신기반시설가이드

[U-18 (상)] 2. 파일 및 디렉토리 관리 > 2.14 접속 IP 및 포트 제한

SS_StudySteadily 2024. 1. 31. 17:53
728x90
반응형

 

 

점검내용

 

허용할 호스트에 대한 접속 IP 주소 제한 및 포트 제한 설정 여부 점검

 

 

점검목적

 

허용한 호스트만 서비스를 사용하게 하여 서비스 취약점을 이용한 외부자 공격을 방지하기 위함

 

 

보안위협

 

허용할 호스트에 대한 IP 및 포트제한이 적용되지 않은 경우, Telnet, FTP 같은 보안에 취약한 네트워크 서비스를 통하여 불법적인 접근 및 시스템 침해 사고가 발생할 수 있음

 

 

참고

 

  • 접속 IP 및 포트제한 애플리케이션 종류 예시
    • TCP Wrapper: 네트워크 서비스에 관련한 트래픽을 제어하고 모니터링 할 수 있는 UNIX 기반의 방화벽 툴
    • IPFilter: 유닉스 계열에서 사용하는 공개형 방화벽 프로그램으로써 Packet Filter로 시스템 및 네트워크 보안에 아주 강력한 기능을 보유한 프로그램
    • IPtables: 리눅스 커널 방화벽이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 응용프로그램

 

점검대상 및 판단기준

 

■ 대상 : SOLARIS, LINUX, AIX, HP-UX 등

 

 판단기준

  • 양호 : 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정한 경우
  • 취약 : 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않은 경우

  조치방법 : OS에 기본으로 제공하는 방화벽 애플리케이션이나 TCP Wrapper와 같은 호스트별 서비스 제한 애플리케이션을 사용하여 접근 허용 IP 등록

 

 

점검 및 조치 사례

 

OS별 점검 파일 위치 및 점검 방법
SOLARIS, LINUX, AIX 1. TCP Warrper 사용할 경우
All deny 적용 확인 및 접근 허용 IP 적절성 확인
#cat /etc/hosts.deny
#cat /etc/hosts.allow

2. IPtables 사용할 경우 (Linux)
#iptalbes -L

3. IPfilter 사용할 경우 (SOLARIS)
#cat /etc/ipf/ipf.conf

4. TCP Warrper (SOLARIS 10 이상)
# inetadm –p tcp_
   wrappers=true <- 현재 실행되어 있는 상태
   tcp_wrappers=false <- 현재 정지된 상태
HP-UX All deny 적용 확인 및 서비스 접근 가능 IP 확인
#cat /var/adm/inetd.sec
위에 제시한 파일이 존재하지 않거나 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 설정
  • 위의 두파일이 존재하지 않은 시 --> 모든 접근 허용

 

■ HP-UX

HP-UX 서버의 경우 “/var/adm/inetd.sec” 파일을 이용하여 서버 자체적으로 접근제어를 할 수 있으며, 해당 파일이 존재하지 않을 경우 “/usr/newconfig/var/adm/inetd.sec” 샘플 파일을 복사하여 사용함

  • Step 1) vi 편집기를 이용하여 “/var/adm/inetd.sec” 파일 열기 (해당 파일이 없을 경우 새로 생성)
  • Step 2) 아래와 같이 수정 또는, 신규 삽입 (ALL Deny 설정)
    • telnet 으로의 모든 접속 차단 => telnet deny *.*.*.*
    • telnet 접속을 허용할 IP 등록 => telnet allow [telnet 접속 허용 IP 등록]
      (다른 서비스들도 위와 동일한 방법으로 설정)

 

 

조치 시 영향

 

허용되지 않은 IP는 서비스 사용이 불가함

 

 

 

 


 

 

실습

 

  • TCP Wrapper 사용할 경우 :   접속을 허용할 IP 주소 및 포트 제한을 설정하지 않음
#  All deny 적용 확인 및 접근 허용 IP 적절성 확인
cat /etc/hosts.deny
cat /etc/hosts.allow

 

  • IPtables 사용할 경우 :  접속을 허용할 IP 주소 및 포트 제한을 설정하지 않음
iptables -L

 

 

진단결과

 

취약 : 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않음

728x90
반응형