WWWサーバー構築

【 OSのセキュリティ設定 】

【 不要ポートの停止 】
WindowsOSの場合、OSをインストール後から色々な機能を使用できるようにしているためか、その為、意図としないサービスなどが起動しており、サーバー機として使用する場合はセキュリティ上、危険な場合が多く見られます。
その他、WindowsOSの「セキュリティホール」等も多く存在します。
「セキュリティホール」に関しては、WindowsUP-DATEで必ず「重要な更新は全て適用」しましょう。
ここでは、必要最低限「サーバーに必要であろうセキュリティ」の設定を取り上げていきたいと思います。
これは現在私が知っている範囲での事であり、「これもした方がよい」「この方が効果的」等がございましたら、ご指摘・ご連絡頂ければ幸いです。
1番手軽な方法として考えられるのは、PersonalFireWallにて該当のポートを遮断してしまう方法です。
もしPersonalFireWallをお持ちでない場合は、製品版を購入しておくか、Freeでも出ていますので導入する事をお勧めいたします。
導入していない場合は下記作業を行うことにより、遮断することが可能です。

【 ポート135、137、138、139、445を閉じる 】

■注意して頂きたい事は、ここでご紹介している物は「サーバー機」として利用するための設定であって、通常の一般クライアント機に設定した場合には、「ファイル共有が行えない」「PCを起動する時に時間が掛かる」などの弊害が出る場合がありますので、クライアント機に設定される場合は、自分に必要だと思われる物を参考にしてください。
【ポート135の役割】
Windows2000/XPは、標準で分散オブジェクト技術(以下:DCOM)を利用しています。
このDCOMを利用すると、他のPCのDCOMソフトを遠隔操作できます。
遠隔操作をする場合に、相手PCに問い合わせをする時のに使用するのがポート135です。
場合によっては、遠隔操作をされてしまう可能性があるものですので、このポートは停止してしまいます。
■ポート135を閉じる
「コントロールパネル」 -> 「管理ツール」 -> 「サービス」 -> 「Remote Procedure Call」を選択します。
img037
ダブルクリックし、プロパティを開きます。
スタートアップの種類を「無効」にし、OKボタンをクリックしプロパティ画面を閉じます。
img038
変更をしたらPCを再起動します。
この事を行なう事によりWindowsの起動などには著しく時間が掛かりますので、この作業はあまりお勧めは致しません。
可能であれば、ファイヤーウォール等で遮断した方が好ましいと思います。
これでポート135は、使用できなくなります。
「不要と思われるポートを閉じる」事で「サービス」を停止しますので、メモリの確保などにも繋がります。
この設定を元に戻す場合は、レジストリエディタでHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSsの「Start」の値を0x04から0x02に変更して再起動する事により元に戻せます。
【 ポート137、138、139の役割 】
■ポート137は、接続状態を問い合わせるパケットを受け取った場合、様々な情報を返してしまいます。
「コンピュータ名」「ドメイン名」「ローカル・ログオン名」「MACアドレス」その他もろもろ・・・。
もし外部(インターネット側)からの問い合わせがあった場合、この内容を相手に知らせてしまうことになります。
これらのポートに使用されているのがポート137です
■ポート138は、同じく接続状態を問い合わせるパケットを受け取った場合、WindowsのOSバージョンなどの情報を返してしまいます。
他にも、NetBIOSのブラウジング機能を有しているため、ネットワークの一覧などにも使用されています。
これらのポートに使用されているのがポート138です。
■ ポート139はファイル共有やプリンタ共有などの通信に使用されています。
認証が成功した場合、相手の共有ファイルなどにアクセスすることが出来ます。
これらのポートに使用されているのが139です。
■ポート137、138、139を閉じる
「コントロールパネル」 -> 「ネットワークとダイヤルアップ接続」 -> 「使用しているネットワークアイコンを右クリック」 -> 「プロパティ」をクリックします。
■Microsoftネットワーク用クライアント
■Microsoftネットワーク用ファイルとプリンタ共有
■NetBEUIプロトコル
のチェックを外します。
その他項目があるようでしたら、それらもチェックを外します。
【インターネットプロトコル(TCP/IP)】をクリックし、プロパティをクリックします。
※この項目のみチェックは外しません。
img039
プロパティ画面の下にある「詳細設定」ボタンをクリックします。
img040
「WINSタブ」をクリックし、【NetBIOS over TCP/IPを無効にする】にチェックを付けOKボタンを押し、その他残り開いている画面も全てOKボタンで閉じます。
この時に、「この接続のプライマリWINSアドレスが空きです。続行しますか?」とメッセージが出ると思われますが「はい」ボタンを押し終了させます。
img041
PCの再起動を促された場合は、再起動します。
これでポート137、138、139は、使用できなくなります。
元に戻す場合は、今の手順を逆に作業を行います。
【 ポート445の役割 】
ファイル共有機能は139番と同じで、こちらはCIFSというプロトコルを使っています。
名前解決方法は違いますが、NetBIOS名ブロードキャストやWINSによる名前解決の代わりに、CIFSはDNSを利用しています。
■ポート445を閉じる
「コントロールパネル」 -> 「システム」 -> 「ハードウェアタブ」 -> 「デバイスマネージャ」ボタンをクリックします。
img042
メニューから「表示」をクリックし「非表示のデバイスの表示」をクリックします。
img043
一覧表示の内容が変更され、中に「プラグアンドプレイではないドライバ」と言う項目が出てきます。
左横の「+」印をクリックし、含まれているドライバを展開します。
img044
展開されたドライバ一覧の中に「NetBIOS over TCPIP」がありますので、項目をダブルクリックしプロパティ画面を出します。
img045
プロパティ画面から「ドライバタブ」をクリックし、スタートアップの種類を「無効」に変更します。
OKボタンを押し、今まで開いた画面を全て閉じます。
img046
PCの再起動を促された場合は、再起動します。
これでポート445は、使用できなくなります。
元に戻す場合は、今の手順を逆に作業を行います。
複数台接続されているネットワークで、どれも安全に運営されているLAN内であれば、どのポートも非常に便利な機能を担っていますが、この機能を有したまま、外部にサービスを提供するサーバー機として使用する場合には、大変危険な行為です。
各ポートの役割を見ると自分のサーバーが、いたずら行為の的として考えられた場合、様々な情報を与えてしまい「どのようないたずらを施すか」と言う情報を与えてしまっているような物と考えられます。
サービスを提供するサーバー機は外部にさらされていることも有り、出来るだけ不必要と思われる情報は返さない事が、セキュリティにも繋がると思います。