cpWrapper?
- TCP-Wrapper는 네트워크 서비스에 관련한 트래픽을 제어하고 모니터링 할 수 있는 UNIX 기반의 방화벽 툴
임의의 호스트가 서비스를 요청해 오면 실제 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인하여 호스트명 및 서비스명을 로그에 남긴 다음, 허가된 시스템은 서비스를 제공하고 허가되지 않은 경우에는 접속을 차단해 준다
임의의 호스트가 서비스를 요청해 오면 실제 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인하여 호스트명 및 서비스명을 로그에 남긴 다음, 허가된 시스템은 서비스를 제공하고 허가되지 않은 경우에는 접속을 차단해 준다
허가와 블록은
> #echo /etc/hosts.deny #echo /etc/hosts.allow 에서 해줌
> #echo /etc/hosts.deny #echo /etc/hosts.allow 에서 해줌
TCP-Wrapper 프로그램은 허락되지 않은 접속으로부터 inetd 모드로 구동되는 데몬들을 보호하는 역할을 한다고 볼 수 있다
Client Serve
telnet telnetd
ftp ftpd
Client Serve
telnet telnetd
ftp ftpd
TCP_Wrappers 프로그램은 logging 정보를 syslog데몬으로 전달하고, 일반적으로 syslog.conf 에 의해 파일이나 콘솔에 쓰여지거나 @loghost 로 전달한다.
tcpd가 접속제어한 서비스명,호스트명,어드레스등의 정보를 /var/log(adm)/syslog에 저장한다. Linux시스템의 경우에는 /var/log/messages 파일에 저장된다.
일반적인 접속제어 로그내용은 다음과 같은 형태로 남는다
telnet 접속을 요청 한 경우
[cert:root]:/> telnet 172.16.4.150
Trying 172.16.4.150...
Connected to 172.16.4.150.
Escape character is '^]'.
Connection closed by foreign host.
ftp 접속을 요청 한 경우
[cert:root]:/> ftp 172.16.4.150
Connected to 172.16.4.150.
421 Service not available, remote server has closed connection
[cert:root]:/> telnet 172.16.4.150
Trying 172.16.4.150...
Connected to 172.16.4.150.
Escape character is '^]'.
Connection closed by foreign host.
ftp 접속을 요청 한 경우
[cert:root]:/> ftp 172.16.4.150
Connected to 172.16.4.150.
421 Service not available, remote server has closed connection
기본구분 : 서비스리스트 : 호스트리스트 : 커맨드
서비스리스트-규칙이 적용되는 서버이름. ftpd/telnetd/fingerd같은것들
호스트리스트-콤마로 구분된 호스트 이름들의 목록 여기에 ip주소를 쓸수도있다
커맨드-선택사항으로 규칙이 적용될때마다 실행될 명령의 완전한 경로이름이다.접속한 호스트의 이름이나
주소를 나타내는 %h와 불려지는 데몬이름을 나타내는 %d등이다.
호스트리스트-콤마로 구분된 호스트 이름들의 목록 여기에 ip주소를 쓸수도있다
커맨드-선택사항으로 규칙이 적용될때마다 실행될 명령의 완전한 경로이름이다.접속한 호스트의 이름이나
주소를 나타내는 %h와 불려지는 데몬이름을 나타내는 %d등이다.
예제)allow
in.smtpd: ALL
telnetd, ftpd: LOCAL, myhost.athome.org.au
fingerd: ALL: (finger @%h | mail -s "finger from %h" root)
telnetd, ftpd: LOCAL, myhost.athome.org.au
fingerd: ALL: (finger @%h | mail -s "finger from %h" root)
예제)deny
ALL: PARANOID
ALL: ALL
ALL: ALL
안전한설정)
deny안에 ALL: ALL을 기본으로 넣어놓고 원하는 서비스와 호스트들을 /etc/hosts.allow파일안에서
명시적으로 허가하는것이 가장 안전한 설정법이다.
deny안에 ALL: ALL을 기본으로 넣어놓고 원하는 서비스와 호스트들을 /etc/hosts.allow파일안에서
명시적으로 허가하는것이 가장 안전한 설정법이다.