
Ubuntu日本語フォーラム

ログインしていません。
初めまして。
これまでRedHat Linuxのサーバー管理をしていたのですが、
Ubuntu Linuxを使い始めたところです。よろしくお願いします。
さて、Ubuntu DesktopでWebサーバ(Apache2)を立ち上げようとしているのですが、
iptablesの設定の問題で他のマシンからアクセスできなくなっています。
apacheはapt-getでインストールし、サーバマシン自体からは
ブラウザでlocalhostにアクセスすると"It works!"が表示されることから、
apache自体に問題は無いと思います。
この状態で他のマシンからアクセスできないので、iptablesを見てみたところ、
Webのポートが開いていないようでした(一応、LANのアドレスは伏せてあります)。
$ sudo iptables -n -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- (LANのアドレス) 0.0.0.0/0 tcp spts:1024:65535 dpt:22 state NEW ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 state NEW ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 state NEW ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 state NEW ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10520 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spts:1:65535 dpt:31337 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spts:1:65535 dpt:31338 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spts:1:65535 dpt:54320 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spts:1:65535 dpt:54321 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:12345 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:12346 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20034 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:16600 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:16660 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:65000 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:34555 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:35555 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spts:137:138 dpts:137:138 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpt:139 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpt:445 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:445 dpt:445 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spts:1024:65535 dpt:445 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpt:135 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpt:5000 state NEW DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpts:1025:1029 state NEW DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp spts:1:65535 dpt:135 state NEW ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpt:28082 state NEW DROP all -- 0.0.0.0/0 0.0.0.0/0 state NEW Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1:65535 dpts:1:65535 state NEW ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:1:65535 state NEW ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 state NEW ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpt:28082 state NEW DROP all -- 0.0.0.0/0 0.0.0.0/0 state NEW
そこで、以下のようなスクリプトを作って、iptablesを設定しました。
#!/bin/sh # initialize iptables -F # default rules iptables -P INPUT DROP # drop inputs iptables -P OUTPUT ACCEPT # accept outputs iptables -P FORWARD DROP # drop forward # accept input from myself iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Apache iptables -A INPUT -p tcp -s (LANのアドレス) --dport 80 -j ACCEPT
直後は、iptablesも正しく設定されるようです。
$ sudo iptables -n -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- (LANのアドレス) 0.0.0.0/0 tcp dpt:80 Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
この状態でしばらくはLAN内の別のマシンからアクセス可能なのですが、
数分経つと、アクセスできなくなってしまい、
iptablesを見ると設定前の初めの状態に戻ってしまっています。
最初はNetworkManagerが動いていたので、削除、再起動しましたがやはり変わりません。
また、ufw, lokkitを使ったiptablesの設定も試しましたが、
一旦、別のマシンからアクセス可能になるものの、やはり数分後に元に戻ってしまいます。
(RedHatでWebサーバを使っていたときは、lokkitで設定していました)
何か他の要因で勝手に書き戻されてしまっているように見えます。
何か原因に心当たりの方がいらっしゃいましたらよろしくお願いします。
その他、設定、構成などは以下のとおりです。
- Ubuntu Desktop 8.10 日本語 Remix
- kernel: 2.6.27-11-generic
- Apache: 2.2.9-7ubuntu3
ネットワーク設定は以下のとおりです。
- NetworkManagerは削除
- 固定IPで、/etc/network/interfaces, /etc/resolv.confを手で編集
オフライン
すみません、自己解決です。
導入に失敗していたセキュリティソフトが悪さをしていたようです。
以前に、エフセキュア Linuxセキュリティをインストールしようとして失敗していたのですが、半端に動いていたようでした。
/var/log/syslogを見たところ、1分置きにcronを使ってf-secureが何かしているのがわかったので、これを止めてみたらiptablesの書き戻しは無くなりました。
Ubuntuのせいでは全くなかったようです...、どうもお騒がせしました。
オフライン