Ubuntuでいくつかのホストをブロックしたいので、hosts.deny
ファイルを編集してexample.comなどのいくつかのホストをブロックするにはどうすればよいですか。
Ubuntuにdnsmasq
をインストールしたので、dnsmasq
によってキャッシュされたDNSのエントリを確認できますか?はいの場合、どのように?
前もって感謝します。
hosts.deny
の例:
ALL: 192.168.1.2
ALL: example.org
これにより、192.168.1.2およびexample.orgに対するすべてのサービスが拒否されます。詳細については、こちらをご覧ください: http://linux.about.com/od/commands/l/blcmdl5_hostsde.htm
dnsmasq -d
はキャッシュされたエントリを提供するはずですが、それについてはよくわかりません。
- -更新 - -
IptablesでIPアドレスをブロックするには:
iptables -A INPUT -s 11.22.33.44 -j DROP
ブロックを解除するには:
iptables -D INPUT -s 11.22.33.44 -j DROP
hosts.allow
およびhosts.deny
は非推奨です。これらはTCPラッパー、ホストベースのアクセス制御、 http://en.wikipedia.org/wiki/TCP_Wrapper によって使用されます
サービスへのアクセスをブロックする場合は、そのサービスがTCPラッパーでコンパイルされているかどうかを確認する必要があります。 UbuntuサービスがTCPラッパーをまだ使用していることは非常に疑わしいです。
TCP Wrappersライブラリは/lib/libwrap.so.0
にありますlighttpd
(Webサーバー)がTCP Wrappersをサポートしているかどうかを確認する場合は、実行します
> ldd /usr/sbin/lighttpd
linux-vdso.so.1 => (0x00007fff2a5ff000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00007f69af837000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f69af633000)
libattr.so.1 => /lib/libattr.so.1 (0x00007f69af42d000)
libssl.so.0.9.8 => /lib/libssl.so.0.9.8 (0x00007f69af1db000)
libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8 (0x00007f69aee4b000)
libfam.so.0 => /usr/lib/libfam.so.0 (0x00007f69aec42000)
libc.so.6 => /lib/libc.so.6 (0x00007f69ae8bf000)
/lib64/ld-linux-x86-64.so.2 (0x00007f69afa90000)
libz.so.1 => /lib/libz.so.1 (0x00007f69ae6a8000)
> _
libwrap
には言及していないため、少なくともこのサービスはTCP Wrappersをサポートせず、/etc/hosts.{allow, deny}
を無視します。
ファイアウォールを使用して、他のサイトへのアクセスをブロックします。 ufwはデフォルトでインストールされていると思います。コマンドman ufw
は、使用方法に関する情報を提供する必要があります。 192.0.2.15をブロックするアドレスに置き換えます。
コマンド
Sudo ufw enable Sudo ufw deny to 192.0.2.15