출처 : 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 |