[RHEL8-9] TCP Wrapper 없이 방화벽(Firewall)과 SSH로 IP 및 포트 제한하기
리눅스 서버의 보안 취약점 조치 항목 중 하나는 '접속 IP 및 포트 제한'입니다. SSH, Telnet, FTP 같은 주요 서비스는 외부로 노출될 경우 시스템 정보가 탈취될 위험이 있기 때문에, 방화벽(Firewall)을 통해 허용된 IP만 접근하도록 제어하는 것이 필요합니다. RHEL 7까지는 TCP Wrappers 기능을 통해 이런 접근 제어를 설정했습니다. 하지만 RHEL 8부터는 hosts.allow 및 hosts.deny 파일이 제거되면서, 이제는 방화벽을 통해 접근 제한을 구현해야 합니다. TCP Wrappers 제거와 그 대안 기존에는 아래와 같은 방식으로 sshd 접근을 제한할 수 있었습니다 <RHEL7 이하> # cat /etc/hosts.deny sshd : 59.63.166.102 sshd : 141. sshd : 50. 이 설정은 지정된 IP 또는 IP 대역의 클라이언트만 SSH 접근을 차단하는 효과가 있었으며, 방화벽 설정과는 별개로 동작했습니다. 그러나 RHEL 8부터는 TCP Wrappers 기능이 더 이상 지원되지 않습니다. Fedora 프로젝트에서도 아래와 같은 이유로 해당 기능의 제거를 공식화했습니다. TCP Wrappers는 20년 전에는 유용한 보안 도구였지만, 오늘날의 리눅스 환경에서는 iptables나 nftables 같은 네트워크 레벨 방화벽 도구가 더 효과적이며, TCP Wrappers는 유지 관리나 보안 대응 측면에서 더 이상 적절하지 않습니다. TCP Wrappers 없이 SSH 접근 제한하기 TCP Wrappers가 사라진 이후, SSH 접근 제어는 주로 방화벽( firewalld )을 통해 수행해야 합니다. 다만 방화벽을 사용하지 않거나 별도의 보안 정책이 필요한 경우, 다음과 같은 대안이 있습니다 서비스 자체의 접근 제한 기능 활성화 리눅스 방화벽 설정 외부 방화벽 설정 서비스가 자체적으로 제공하는 접근 제한 기능이 있다면 해당 기능을 우선적으로 활용하는 것이 좋습...