Linux/서버 보안(CentOS)

TCP Wrapper

D4tai1 2018. 10. 9.

1. TCP Wrapper(TCP 래퍼)

1) TCP Wrapper의 특징

 [1] 호스트 기반의 ACL(Access Control List) 기술로 네트워크의 접근을 필터링하기 위해 사용한다.

 [2] TCP Wrapper는 libwrap이라는 라이브러리를 포함한다.

 [3] 그래서 libwrap에 링크되어 있는 프로그램만 사용이 가능하다.

 [4] 링크여부는 ldd명령어를 사용해서 확인이 가능하다.

  - # ldd [서비스데몬의 파일] | grep libwrap

 [5] 초기에는 inetd 같은 슈퍼서버에서 생성된 서비스만 래핑되었다.

 [6] 현재는 대부분의 네트워크 시스템 데몬들은 직접적으로 libwrap와 연결되어 사용이 가능하다.

 [7] TCP와 UDP 서비스를 보호하기 위해 만들어졌지만 'pingd'와 같이 ICMP 패킷에 대한 필터링도 가능하다.

 ※ 요약하면 슈퍼데몬으로 조작되고 libwrap 라이브러리에 링크되어 있는 것만 TCP Wrapper의 접근제어 서비스를 받을 수 있다.

 

2) 설정파일

 - ip주소, 호스트명, 도메인 명에 따라 접근가능여부를 판단한다.

 [1] /etc/hosts.allow

  - 접근 허가할 서비스 및 대상을 적는다.

 [2] /etc/hosts.deny

  - 접근 차단할 서비스 및 대상을 적는다.

 [3] 예약어(와일드카드)

  - ALL : 모든 서비스 또는 호스트

  - A EXCEPT B : B를 제외한 A

  - LOCAL : '.'을 포함하지 않는 모든 호스트

  - PARANOID : 호스트명이 주소와 일치하지 않는 호스트

 

3) 설정방법의 차이

 [1] 화이트리스트

  - 모두 접근거부 후 접근허용 대상만 기록한다.  -  일반적인 방식

  - /etc/hosts.deny 에서 모두 거부,  /etc/host.allow 에서 접근허용 대상 기록

  - 이 경우 허용한 사람만 들어올 수 있기 때문에 안전하다.

  - 허용할 목록을 매번 적어주어야 하기 때문에 불편하다는 단점이 있다.

 [2] 블랙리스트

  - 모두 허용 후 접근거부 대상만 기록한다.  -  안전하지 않음

  - /etc/hosts.allow에 허용하지 않은 사람도 접근이 허용되기 때문에 안전하지 않다.

  - 차단할 목록만 적기 때문에 문제발생가능성이 있다.

 

 ex) 분실된 신용카드를 획득하여 사용하다가 결제 시 분실신고된 카드라고 나온 경우는?

  - 블랙리스트를 체크해서 걸리는 것이다.

  - 보통 등록된 모든 카드가 사용이 가능하지만 분실 및 도난으로 신고접수된 카드만 차단하는 방식이다.

 

- 위 그림은 TCP Wrapper의 룰 체인을 그린 것이다.

- 요약하면 allow 보고 있으면 허용하고 없으면 deny으로 보낸다. deny에 있으면 차단, 없으면 허용한다.

 

4) 시연

[1] /etc/hosts.deny 파일 열기

 

[2] /etc/hosts.deny 파일 수정

- 위 사진과 같이 [서비스명] : [IP주소] 방식으로 예약어를 사용하여 모든 서비스에 대해 모든 IP를 차단한다.

 

[3] 접속시도

- 접속되지 않는 것을 확인할 수 있다.

 

[4] /etc/hosts.allow 파일 열기

 

[5] /etc/hosts.allow 파일 수정

- 172.16.10.34(접속시도할 테스터의 IP)의 IP주소만 sshd서비스를 허용하겠다.

 

[6] 접속시도

- 172.16.10.34주소에서만 172.16.100.60(서버) ip로 sshd서비스가 차단되지 않고 정상적으로 동작함을 알 수 있다.

 

[7] 다중서비스 및 다중IP

- telnet 데몬과 ssh 데몬을 적고 ':' 콜론을 적고 IP주소를 적으면 된다.

- 데몬이 여러개일 경우는 개행 후 적으면 되고 IP가 여러개일 경우는 한 칸 띄고 적으면 된다.

- telnet 데몬의 이름은 in.telnetd이고, ssh 데몬의 이름은 sshd 이다.

 

※ 데몬이름을 확인하는 방법

- 위 명령어로 텔넷서버를 설치한다.

 

- 위 명령어로 설정파일을 오픈한다.

 

- 위 그림과 같이 나오면 server에 보면 /usr/sbin/in.telnetd 가 텔넷 데몬임을 확인할 수 있다.

 

'Linux > 서버 보안(CentOS)' 카테고리의 다른 글

접근권한[퍼미션]  (0) 2018.10.27
SSH의 SCP 기능  (0) 2018.10.09
데몬관리  (0) 2018.10.04
패스워드 기간 관리  (0) 2018.09.30
시스템 시간관리  (0) 2018.09.23

댓글