# 우선 모든 Rule을 정리한다.
/sbin/iptables -F
/sbin/iptables -A INPUT -m state --state RELATED -j ACCEPT
# localhost에서의 traffic을 받아들인다.
/sbin/iptables -A INPUT -i lo -j ACCEPT
# 특정 ip에서의 연결을 모두받아들인다. 예를 들어 자기 집 컴퓨터
/sbin/iptables -A INPUT -s 192.168.1.1 -j ACCEPT
# 특정 포트로부터 연결을 받아들인다. udp도 할 수 있다.
/sbin/iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --destination-port 20 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
# x manager port 6000
/sbin/iptables -A INPUT -p tcp --destination-port 6000 -j ACCEPT
# 확립된 연결에 대한 Packet을 받아들인다.
/sbin/iptables -A INPUT -i eth0 -p tcp ! --syn -j ACCEPT
# 인증 연결을 거부한다(그렇지 않을 경우 메일서버가 오랫동안 타임아웃 상태가 될 것이다.)
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 113 -j REJECT
# 다음으로 각각에 대한 정책을 세운다.
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
## 1~30000번 포트를 드롭한다. (위에서 열어둔 20~22,80은 열려짐) --dport는 destination port
## 다 드롭할 수도 있는데 그렇게 하면 netstat, iptables -L 로 상태보기를 할 때 오랫동안 멈춰있슴.
/sbin/iptables -A INPUT -p tcp --dport 1:30000 -j DROP
## 핑 드롭
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
linux의 경우netstat -lp 로 하셔서 pid를 구하신뒤
linux의 경우
netstat -lp 로 하셔서 pid를 구하신뒤
그 pid 를 kill 해주세요.
---
http://coolengineer.com
/etc/inetd.conf 편집해 주세요~
/etc/inetd.conf 파일에 들어가셔서..
원하지 않는 서비스를 주석처리하신뒤에
inetd를 재시동~
요새꺼는 inetd.conf파일이 아예 없으니..--;
etc/services에서 해당 포트번호를 막아버리던가..
rc.d에 들어 가셔서 원치 않는 스크립트를
chmod a-x로 해주시던가..
xinetd같은 경우는 xinetd.d에 들어가셔서 역시 원치 않는
스크립트를 'disable=yes'로 해주시던가...
등등...
쓰고보니 굉장히 방법이 많네요..--;;
다른 방법도 있을 듯 싶은데....--a...
세상은 견고하고 삶은 유희가 아니다...
iptables를 사용해보세요.[quote]#!/bin/sh
iptables를 사용해보세요.
이런 스크립트를 부팅시에 올리시면 됩니다.
물론 커널이 iptables를 지원하게 컴파일 되어있어야 합니다.
rommance.net
댓글 달기