UNIX/Linuxで不要なポートを閉じるには

文:Chad Perrin 翻訳校正:石橋啓一郎
2008-12-16 08:00:00
  • このエントリーをはてなブックマークに追加

rc.d

 一部のサービスは、inetdでもxinetdでも管理されていない。これは、そのシステムでスーパーサーバを使っていないことが理由である場合もあれば、単にそのサーバプロセスがシステム起動時に有効にされ、スーパーサーバとは別に運用されているという場合もある。ほとんどのシステムでは、そのようなプロセスはrcユーティリティを使って管理されている。rcユーティリティは、initによって起動され、ブートプロセスを自動化するために使われるものだ(これらのプロセスの役割については、man rcおよびman initを参照して欲しい)。

 FreeBSDなどのシステムでは、そのような特定のポートを閉じ、そのポートと結びついているサーバプロセスを無効にするには、/etc/rc.confファイルの中のそのプロセスと結びついている行をコメントアウトするか、そのサービスについて書かれた部分の「YES」の値を「NO」に変えればよい。一部のシステムでは、/etc/rc.dディレクトリか/etc/rc*.dディレクトリに、どこか他の場所に置かれたサーバ起動のためのスクリプトへのシンボリックリンクが置かれている(Debian GNU/Linuxのinit.dディレクトリがその例だ)。それらのシステムでは、該当するシンボリックリンクを削除すれば、rcがそのサーバプロセスを起動することはなくなる。

 上記の方法は、システムの起動時にサーバプロセスを起動しないようにするか、(Linuxシステムなどの場合)ランレベルを変更することができるが、すでに動いているプロセスを停止するわけではない。すでに動いているプロセスを停止するには、そのプロセスの起動スクリプトを探し、そのスクリプトを使ってプロセスを停止する必要がある。例えば、Debianのシステムでは、次のようなファイルがある。

  # ls -l /etc/rc3.d
  . . .
  lrwxrwxrwx  1 root root 13 2006-06-14 13:17 S14ppp -> ../init.d/ppp

 この場合、pppの起動スクリプトは/etc/init.dの中にある。このS14pppファイルを削除すれば、rcはシステムの起動時にpppを起動しなくなる。その後/etc/init.dに移動し、次のコマンドを実行すれば、すでに作動しているpppサーバプロセスを直ちに停止できる。

  # ./ppp stop

ソフトウェア管理システム

 開いているポートを閉じ、listenしているサービスを無効にするには、単に対応するサーバプログラムをアンインストールするのが一番適切で、簡単である場合も多い。例えばDebianのAPT、FreeBSDのportsなどの、オペレーティングシステムが持っているソフトウェア管理システムを使えば、それらのソフトウェアを完全に削除し、依存関係も自動的に処理できる上に、サーバプログラムの削除によって現在使っている機能が使えなくなってしまうような場合には警告を表示させることもできる。

 詳しくは自分のOSのソフトウェア管理システムのドキュメントを参照して欲しい。

ダブルチェック

 自分のシステムで不要なポートを開かないように設定し、それらのポートをlistenしているプロセスをシャットダウンしたら、自分が行った作業をダブルチェックすべきだ。最初に開いているポートとlistenしているサービスを調べるために使った手順を再び使い、無効にしたかったものが確かに無効になっているかを確認する。もし可能であれば、コンピュータを再起動して、設定が適切であり、リブートされてもそれらのサービスが起動されないことも確認した方がよい。

その他のツール

 他にも、サーバをシャットダウンし、ポートを閉じる手順を簡単にするためのツールはある。例えば、多くのLinuxディストリビューションで利用可能なネットワークセキュリティツールであるBastille Linuxを使ってもよいし、一部のディストリビューションでは、デフォルトでそれらの設定を管理するためのGUIツールが提供されている(openSUSEのYaSTツールセットがその例だ)。UNIX系のOSでは、ソフトウェア管理システムのアーカイブでrcleanやThe Fishなどのその他のツールも提供されているかも知れない。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]