SRV-027 서비스 접근 IP 및 포트 제한 미비
【 상세설명 】
서비스로의 접근이 통제되지 않을 경우 악의적인 사용자의 공격 목표가 될 수 있기 때문에 보안상 접근통제가 필요함. 방화벽, 3rd-party 제품 또는 tcpwrapper를 활용하여 서비스에 대한 IP 및 포트 접근제어를 수행하고 있는지 점검
【 판단기준 】
- 양호 : 시스템 서비스로의 접근통제가 적절하게 수행되고 있을 경우 (방화벽, tcp-wrapper, 3rd-party 제품 등을 활용)
- 취약 : 시스템 서비스로의 접근통제가 적절하게 수행되고 있지 않을 경우
【 판단방법 】
1. 서비스 접근 IP 및 포트 제한 설정 확인
■ TCP Wrapper
# cat /etc/hosts.deny
# cat /etc/hosts.allow
※ TCP Wrapper 접근제어 가능 서비스 : SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, TALK, EXEC, TFTP, SSH
※ TCP Wrapper 는 다음 두 파일에 의해 접근이 제어됨
- /etc/hosts.deny : 시스템 접근을 제한할 IP 설정
- /etc/hosts.allow : 시스템 접근을 허용할 IP 설정
- /etc/hosts.allow, /etc/hosts.deny 파일 둘 다 미존재 : 모든 접근 허용
※ 최초 설치 상태에서는 각 파일 안에 설정 값이 없고 hosts.allow 파일이 없는 경우도 있음(파일 생성 후 설정)
■ IPfileter
# cat /etc/ipf/ipf.conf
pass in quick on hme0 proto tcp from any to any port=22 keep state
pass in quick on hme0 proto udp from any to any port=22 keep state
block in quick all
pass out on hme0 proto tcp from any to any keep state
pass out on hme0 proto udp from any to any keep state
pass out on hme0 proto icmp from any to any keep state
...
■ IPtables
# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT all -- 192.168.0.10 0.0.0.0/0 /* admin */
3 ACCEPT tcp -- 192.168.0.11 0.0.0.0/0 state NEW tcp dpt:21
4 DROP icmp -- 0.0.0.0/0 0.0.0.0/0
5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0
...
■ firewalld
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client ftp ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="192.168.0.10" port port="21" protocol="tcp" accept
※ "firewall-cmd --list-all" 은 현재 활성화되어 있는 Zone 을 확인하는 명령어로 "firewall-cmd --list-all-zones" 명령어로 전체 Zone 설정 확인 가능
※ RHEL 8 버전 이상부터 TCP Wrapper 가 firewalld 로 완전히 대체 되었으며 /etc/hosts.allow, /etc/hosts.deny 파일도 삭제되었음
※ firewalld 는 기본적으로 차단 정책(All Deny)이 적용되어 있으며 허용 정책만 등록
※ firewalld 는 "interfaces" 가 특정 Zone 에 할당되지 않은 경우 "Default Zone" 정책 사용
- 현재 Default Zone 확인 : firewall-cmd --get-default-zone
- Default Zone 변경 : firewall-cmd --set-default-zone <zone_name>
※ firewalld 는 특정 "interfaces" 에 정책 설정 가능하면 설정 시 "Active Zone" 으로 "Default Zone" 과 다른 정책 사용
- 현재 Active Zone 확인 : firewall-cmd --get-active-zones
- Active Zone 해제 : firewall-cmd --zone=<zone_name> --remove-interface=<interface_name>
- Active Zone 에 할당되어 있는 "interfaces" 변경 : firewall-cmd --zone=<zone_name> --change-interface=<interface_name>
※ firewall 접근제어 가능 서비스 : firewall-cmd --get-services 명령어로 확인 가능
※ "firewall-cmd --list-all" 은 현재 활성화되어 있는 Zone 을 확인하는 명령어로 "firewall-cmd --list-all-zones" 명령어로 전체 Zone 설정 확인 가능 Linux 2(RHEL 8 버전 기반) 에는 TCP Wrapper 가 패키지에 포함되어 있지만 Amazon Linux 2023 에서는 미포함
■ HP-UX
# cat /var/adm/inetd.sec
<service_name> deny *.*.*.*
<service_name> allow <allow_ip>
【 조치방법 】
1. 서비스 접근 IP 및 포트 제한 설정 : 불필요한 정책 삭제 및 필요한 정책 등록
2024-01-13 : (조치과정 삭제)
'인프라 진단 > 전자금융기반시설(서버) - Linux' 카테고리의 다른 글
SRV-028 원격 터미널 접속 타임아웃 미설정 (0) | 2024.01.01 |
---|---|
SRV-026 root 계정 원격 접속 제한 미비 (0) | 2024.01.01 |
SRV-025 취약한 hosts.equiv 또는 .rhosts 설정 존재 (0) | 2024.01.01 |