출처 :  http://cafe.naver.com/aix.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=209


TCP Wrapper 7.6 plus ip v6   aix 4.3 & 5.1 용 binary 파일과 source 파일입니다.

 

<출처:IBM문서>

 

아래는 간략한 설치 절차입니다.

binary 파일의 경우 /usr/local/bin 에 해제해서 사용하시면 됩니다.

소스 파일은 아래처럼 컴파일합니다.

 

1. cd <src-dir>     (src-dir 은 소스 프로그램이 있는 디렉토리입니다.)

 

2. # make aix REAL_DAEMON_DIR=/usr/sbin

 

3. # cp -p tcpd /etc     ( or     cp -p  tcpd  /usr/local/bin)

 

4. # vi /etc/inetd.conf

telnet  stream  tcp6    nowait  root    /usr/sbin/telnetd      telnetd -a     를
telnet  stream  tcp6    nowait  root    /etc/tcpd      telnetd -a     로 변경합니다.

 

ftp  stream  tcp6    nowait  root    /etc/tcpd                  ftpd

5. cat > /etc/hosts.allow       에 다음과 같은 형태의 내용을 넣습니다.

ALL :hostname.domain
ALL :ip.ip.ip.ip

 

/etc > cat hosts.allow
telnetd: 211.238.199.0/255.255.255.0 : allow
ftpd: 211.238.199.0/255.255.255.0 : allow

6. cat > /etc/hosts.deny     에 다음과 같은 형태의 내용을 넣습니다.

ALL : ALL

 

/etc > cat hosts.deny
ftpd: ALL: deny
telnetd: ALL: deny

※ 5.6의 예에 나온 내용을 넣게 되면 hostname.domain과 ip.ip.ip.ip 로부터만 telnet할 수 있고 그 외 다른 서버 또는 pc로부터의 telnet은 불가능합니다.

 

만들어진 규칙을 점검해봅니다.

# /usr/local/bin/tcpdchk -v

 

가상으로 테스트 해봅니다.

# tcpdmatch telnetd  211.239.199.3

client:   address  211.238.199.230
server:   process  telnetd
matched:  /etc/hosts.allow line 1
command:  allow
access:   granted

 

# tcpdmatch telnetd 201.238.199.230
client:   address  201.238.199.230
server:   process  telnetd
matched:  /etc/hosts.deny line 2
command:  deny
access:   denied

 

7. # refresh -s inetd     (or  kill -1  <inetd pid>)

 

< AIX 4.3.x에서 tcp wrapper 7.6.x 이전 버전 설치시 유의점 >
   ※ 이하 tcp-wrapper는 tcp-wrapper 7.6.x 이전 버전을 가리킴

AIX 4.3.x에서는 IPv6를 지원하여 128bit IP address를 인식할 수 있습니다.
그러나 tcp-wrapper는 IPv4만을 지원하므로 프로그램상에서 접속을 시도하려고 하는 상대 서버의 IP를 가져올 때 IPv6 형태의 ip인 경우는 0.0.0.0으로 인식합니다.


다시 말해, AIX 4.3.x에서 /etc/inetd.conf를 보면 다음과 같은 형태의 내용을 볼 수 있습니다.

telnet  stream  tcp6    nowait  root    /usr/sbin/telnetd      telnetd -a

이것은 /usr/sbin/telnetd가 IPv6를 지원하므로 ip정보가 IPv6(tcp6) 형태로 전달될 것임을 나타냅니다.

 

하지만 /usr/sbin/telnetd를 /etc/tcpd로 바꾸게 되면

telnet  stream  tcp6    nowait  root    /etc/tcpd      telnetd -a        가 됩니다.

 

이 때 /etc/tcpd로 ip정보가 IPv6(tcp6) 형태로 전달되는 데, tcp-wrapper는 IPv6를 지원하지 않으므로 상대방의 ip정보를 알 수 없게 됩니다.

따라서 다음과 같이 하여 ip정보가 IPv4의 형태로 전달되도록 합니다.

telnet  stream  tcp    nowait  root    /etc/tcpd      telnetd -a

 

 

그다음 tcp_wrapper 에 대한 로그를 남기려면 아래와 같이 해줍니다.

 

1. /etc/syslog.conf  에 서

mail.debug              /var/adm/tcp_wrapper.log
를 맨아랫줄에 삽입해줍니다.

2. # touch /var/adm/tcp_wrapper.log

3. # chmod 600 /var/adm/tcp_wrapper.log

4. # refresh -s syslogd

 

 

 

이제 로깅이 시작됩니다.   telnet,ftp 로 로깅하고 deny,allow 되는 것이 다 남습니다.

 

##
##   Example of use of tcp_wrapper with AIX
##
##
## service  socket  protocol  wait/  user    server    server program
##  name     type             nowait         program     arguments
##
ftp     stream  tcp     nowait  root    /usr/local/bin/tcpd         ftpd
telnet  stream  tcp     nowait  root    /usr/local/bin/tcpd      telnetd
shell   stream  tcp     nowait  root    /usr/local/bin/tcpd         rshd
login   stream  tcp     nowait  root    /usr/local/bin/tcpd      rlogind


#finger stream  tcp     nowait  nobody  /usr/local/bin/tcpd     fingerd

 

NOTE:

tcp_wrappers-7.6.1.0 이후부터는 IPv6를 이용가능합니다.





'::: OS ::: > AIX' 카테고리의 다른 글

pGraph  (1) 2010.05.13
AIX 환경에서 특정 날짜에 생성된 로그를 찾아 자동으로 압축하여 보관  (0) 2010.05.12
vi editor 명령어  (0) 2010.04.30
Maximizing Java performance on AIX  (0) 2010.03.08
IBM JVM Heap 구조  (0) 2010.03.04

+ Recent posts