vine-users ML アーカイブ



[vine-users:068832] iptables の ntp エントリについて

  • From: Sadanori Horiguchi <silvia@xxxxxxxxx>
  • Subject: [vine-users:068832] iptables の ntp エントリについて
  • Date: Thu, 25 Nov 2004 11:23:10 -0500
御世話になります。堀口です。

以前助けて頂いたiptablesの話の続きなのですが、どうしても、ntpのポートを
開けることができません。何がいけないのか、御指導願えますか。雑誌を参考
に、firewallというスクリプトを作成し、init.dから起動しています。

ntp関連の行は以下のとおりです。

$IPTABLES -A INPUT -i ppp0 -p tcp --dport ntp -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p udp --dport ntp -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p tcp --sport ntp -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p udp --sport ntp -j ACCEPT

初めは --dportの方だけだったのですが、--sportも加えてみました。

外部からnmapを走らせてみると、以下の様にntpは閉まっています。

PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
123/tcp closed ntp

何かどなたかお気付きになることがありましたら、お教えください。
以下はfirewallスクリプトの全体です。
よろしくお願いいたします。

堀口 定則

#!/bin/sh
#
# firewall This script starts firewall
# chkconfig: 2345 98 99
# description: firewall setting
IPTABLES="/sbin/iptables"
start(){
# Initialize setting
$IPTABLES -F
# IP Masquerade
/sbin/modprobe iptable_nat; echo 1 > /proc/sys/net/ipv4/ip_forward
# Accept all policy by default.
$IPTABLES -P INPUT DROP; $IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# Accept local loop back
$IPTABLES -A INPUT -i lo -j ACCEPT
# Accept all from interface ppp0 for test
#$IPTABLES -A INPUT -i ppp0 -j ACCEPT
# Allow TCP for SSH connection
$IPTABLES -A INPUT -i ppp0 -p tcp --dport 22 -m state --state \
INVALID,NEW -j LOG --log-prefix "iptables(ssh connection): "
$IPTABLES -A INPUT -i ppp0 -p tcp --dport ssh -m state --state \
NEW,ESTABLISHED -j ACCEPT
# Allow TCP for http connection
$IPTABLES -A INPUT -i ppp0 -p tcp --dport http -j ACCEPT
#Allow TCP for ntp connection
$IPTABLES -A INPUT -i ppp0 -p tcp --dport ntp -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p udp --dport ntp -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p tcp --sport ntp -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p udp --sport ntp -j ACCEPT

# Allow TCP for connection established
$IPTABLES -A INPUT -p tcp --dport 1024: ! --syn -j ACCEPT
# Allow connection from the LAN
$IPTABLES -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
# Allow DNS query
$IPTABLES -A INPUT -p udp --dport 1024: --sport 53 -j ACCEPT
# Allow IP Masquerading to LAN
$IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -o \
ppp0 -j MASQUERADE
# Allow forward from outside to LAN that are already connected
$IPTABLES -A FORWARD -i ppp0 -o eth0 -d 192.168.1.0/24 \
-m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow connection from LAN to outside
$IPTABLES -A FORWARD -i eth0 -o ppp0 -s 192.168.1.0/24 \
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Deny IP Masquerade from out side (new and invalid)
$IPTABLES -A FORWARD -i ! ppp0 -m state --state NEW,INVALID -j DROP
# Deny all that were not allowed.
$IPTABLES -A INPUT -i ! lo -j DROP
}
stop(){
$IPTABLES -F
}
case "$1" in
start)
echo -n "Starting firewall:";start; echo;;
stop)
echo -n "Shutting dow firewall:";stop;echo;;
status)
$IPTABLES -L;;
*)
echo "Usage: firewall {start|stop|status}";exit 1
esac
exit 0