ISMS-P/보안

TCP Wrapper

Glren 2023. 6. 13. 01:40
SMALL

TCP Wrapper는 네트워크 보안 기능을 제공하는 소프트웨어입니다. 주로 인터넷 서비스의 접근 제어와 로깅을 담당하며, 호스트 기반의 액세스 제어를 구현하기 위해 사용됩니다.

* TCP
TCP는 Transmission Control Protocol(전송 제어 프로토콜)의 약자로, 인터넷 프로토콜 스위트 중 하나입니다. TCP는 네트워크에서 안정적인 데이터 전송을 제공하기 위해 설계되었습니다.

TCP는 연결 지향적이고 신뢰성 있는 프로토콜로 알려져 있습니다. 데이터를 전송하기 전에 송신자와 수신자 간에 가상의 연결을 설정하고, 데이터 전송 후에는 연결을 정리하는 방식으로 동작합니다. 이를 통해 데이터의 손실, 중복, 순서 오류 등을 최소화하고, 데이터 전송의 신뢰성과 정확성을 보장합니다.

TCP는 흐름 제어, 혼잡 제어, 오류 검출 및 복구 등의 기능을 포함하고 있어 안정적인 데이터 전송을 위한 다양한 메커니즘을 제공합니다. 또한, TCP는 패킷 기반의 프로토콜인 IP(Internet Protocol)와 함께 사용되어 인터넷에서 데이터를 안정적으로 전송하는 기반이 되고 있습니다.

TCP는 일반적으로 웹 브라우저에서의 HTTP, 이메일 전송에서의 SMTP, 파일 전송에서의 FTP 등 다양한 응용 프로토콜에서 사용됩니다. 네트워크에서 데이터의 신뢰성과 정확성이 중요한 경우에 주로 TCP를 선택하여 데이터 전송을 수행합니다.


TCP Wrapper는 네트워크 서비스의 액세스를 제어하기 위해 /etc/hosts.allow와 /etc/hosts.deny라는 두 개의 파일을 사용합니다. hosts.allow 파일에는 특정 호스트 또는 네트워크에 대한 허용 규칙을 정의하고, hosts.deny 파일에는 액세스를 거부할 호스트 또는 네트워크를 지정합니다. TCP Wrapper는 클라이언트의 IP 주소와 서비스 요청을 비교하여 액세스를 허용하거나 거부하는 규칙을 적용합니다.

또한, TCP Wrapper는 액세스 제어 외에도 접속 시 로깅 기능을 제공합니다. 서비스에 연결을 시도한 클라이언트의 IP 주소, 접속 시간 및 날짜, 접속한 서비스 등과 같은 정보를 로그로 남깁니다. 이를 통해 보안 사고 분석, 이상 접근 탐지, 로그 분석 등에 활용될 수 있습니다.

TCP Wrapper는 보안 관리자가 네트워크 서비스에 대한 접근 제어와 로깅을 구현하는 데 유용한 도구입니다. 그러나 현대의 방화벽과 인트라넷 보안 시스템과 같은 다른 고급 보안 도구로 대체되기도 합니다.

 

TCP Wrapper의 사용 예시 중 하나는 SSH 서비스에 대한 접근 제어입니다. hosts.allow 파일을 편집하여 특정 IP 주소나 서브넷에 대해서만 SSH 접속을 허용하고, 나머지 IP 주소는 거부할 수 있습니다. 이를 통해 SSH 서비스에 대한 보안을 강화할 수 있습니다.

예를 들어, hosts.allow 파일에 다음과 같이 설정하여 특정 IP 주소인 192.168.1.100에서만 SSH 접속을 허용할 수 있습니다.(승인받은 것만 허용)

white list(명확하게 허용하지 않은 것은 금지)

 

그리고 hosts.deny 파일에 다음과 같이 설정하여 나머지 IP 주소에서의 SSH 접속을 거부할 수 있습니다:(모두금지)

black list(명확하게 금지하지 않은 것은 허용)

이러한 활동은 "최소권한 정책"에 부합합니다. 이렇게 설정된 TCP Wrapper는 192.168.1.100 IP 주소에서만 SSH 접속을 허용하고, 다른 모든 IP 주소에서는 접속을 거부합니다. 이를 통해 외부에서의 불법적인 접속 시도를 방지하고, 시스템의 보안을 강화할 수 있습니다.

TCP Wrapper는 다양한 네트워크 서비스에 대해 접근 제어를 설정할 수 있으며, hosts.allow와 hosts.deny 파일을 통해 유연하고 편리하게 액세스 제어를 관리할 수 있습니다.