2)不要サービス/ポートの停止

第2回目は、ポート制御についての解説です。
Linuxはインストールした状態では必要のないサービスが起動しています。
不要なサービスはセキュリティーホールばかりでなく、無駄なリソースの消費にもなりますので、必要のないサービスは停止する必要があります。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供

サービスとポート

 ポートはサービスがプロトコルを利用してネットワーク通信を行う際の出入り口です。そこで基本的にサービスを停止することで、ポートを閉じることが出来ます。

 ネットワーク通信を行っている不要なサービスが多ければ、利用するポートも増えるため、攻撃を受ける危険性も高くなります。

サービスの調査

 起動済サービスを調査するには、netstatコマンドで、利用中のポート番号とポートのサービス状況を調べることができます。その後、psコマンドを利用してアクセス番号を調べ、/etc/serviceからアクセス番号を利用してサービスを判別することができます。

1. netstatコマンドで、通信を行っているポート番号を調べる。
# netstat –anp
*netstatコマンドのオプションについて
  • -a = 現在のすべての接続を表示する。
  • -n = 出力をIPアドレスなど数値のみに抑制する(DNS逆引きを行わないなど)。ほかのオプション内容へ影響する。
  • -p = 各ソケットが属しているプログラムの PID と名前を表示する。
2. psコマンドで、プロトコルとポート番号から利用しているプログラムを調べられるので、プログラム名からサービスを推測し特定する。
# ps -ef
*psコマンドのオプションについて
  • -e = 実行中の全プロセスを表示する。
  • -f = プロセスの詳細情報を表示する。
不要なサービスの調査

 Linux が起動すると、さまざまなシステム・サービスを司るプログラム(デーモン)が起動します。どのサービスが不要であるかは、サーバーごとに異なるため一概に定義することはできません。

 誤って必要なサービスを停止すると本来のサーバー動作に支障をきたします。
 そこで、どのパッケージが必要なものか否かを調査する手段が必要となります。この調査手段について解説します。
 調査を行うには、iptablesコマンドで、パッケージが利用しているポートを予め全て閉じてしまい、必要に応じて各々ポートを開けていく方法があります。

*iptablesコマンドについて

 # iptables -A INPUT -i インターフェイス名 -p プロトコル名 --dport ポート番号 -j 設定内容

例1 eth0に対して、5680 番ポートへの外部からの接続を禁止するコマンド
 # iptables -A INPUT -i eth0 -p tcp --dport 5680 -j DROP

例2 例1で閉じたポートへの外部からの接続を許可するコマンド
 # iptables -D INPUT -i eth0 -p tcp --dport 5680 -j DROP

サービスの停止

 不要なサービスが分かれば、以下の手順でサービスを停止することが出来ます。

1. serviceコマンドを利用して、現在動作中のサービスを停止します。
# service サービス名 stop
2. chkconfigコマンドを利用して自動起動を無効にします。
# chkconfig サービス名 off
パッケージの削除

 今後、確実に必要としないことがあらかじめ分かっているサービスがあれば、そのサービスを提供するパッケージ自体を削除することを推奨します。不要パッケージの削除は以下のコマンドで行います。

1. Red Hat Linux、TurboLinux、Vine Linuxの場合
# rpm –e パッケージ名
2. Debian の場合(apt-get remove パッケージ名 で依存関係パッケージも同時に削除可能)
# dpkg --purge パッケージ名
次回予告

次回は、「リモート操作の通信暗号化」について解説します。

関連キーワード
Linux,サーバー防衛,サーバー運用,セキュリティー,ポート制御

コメントをお待ちしています

お名前:

メールアドレス:

コメント:

このエントリーのトラックバックURL

http://it.jfe-tec.jp/mt/mt-tb.cgi/13