作成日:2001年06月01日、更新日:2004年01月10日 作成:鷹の巣

Windows用のセキュリティソフトとその関連リンクを紹介します。


手順H.セキュリィテイの確認(Windows系だけに摘要します。)

Windowsユーザーであれば、Firewallと森遊びの部屋をまず読むべきでしょう。このサイトのサイトマップを見ると良く分かりますが、Windows のセキュリティに関して、ほとんど網羅されています。Firewall 製品別紹介には、インストールから、設定方法までが一通り記述されています。 ファイアーウォールソフトの比較については、このサイトのFirewall:性能比較表に詳しく記載されています。 また、リンクだけになってしまいましたが、Windowsのファイアーウォールについては、自宅マシン・ファイアウォール構築計画のリンク先も最初にご一読されることを推奨します。

又、パーソナルセキュリティ研究所さんのセキュリティ診断程度は、絶対に問題のないようにしておきましょう。

目次

  1. ファイヤーウォールソフトの導入
  2. Sygate Personal Firewallのインストールと設定方法
  3. 自サイトへのポートスキャン
  4. 抗ウィルスソフトの導入
  5. スパイウェアの確認
  6. セキュリィティ関連リンク
  7. IPアドレスによるアクセス制限
  8. WWWサーバーの不正アクセス解析について
  9. IPアドレスより、不正アクセス元を特定する方法
  10. 自宅サーバーのWebページスペースレンタル(貸し出し)について

1. ファイヤーウォールソフトの導入

セキュリティの確保のため、ファイアーウォールソフトを(モデム直結の方は、是非)インストールしましょう。 ファイヤーウォールは、ルータに代表されるパケットフィルタリング形とファイヤーウォールソフトに代表される アプリケーションゲートウェイ形に大別されます。以下に示しますソフトは、ルータのパケットフィルタリングを併用する必要があります。

私は、Sygate Personal Firewallを英語のまま使用しておりますが、 英語が苦手な方は、ZoneAlarm ファイア ウォールを日本語化して使用しましょう。 竜の情報館さんのセキュリティという見出しのネットセキュリティからZonealarm日本語化パッチがダウンロードできます。

ファイアーウォールソフトの設定例は、以下の所にあります。(全てフリーウェアのものだけを取り上げています。)

矢印右 Windowsセキュリティ関係の解説サイトリンク集(ファイアーウォール)

2. Sygate Personal Firewallのインストールと設定方法

Sygate Personal Firewall英語のフリーウェア)というソフトを英語のまま使用するインストールと設定方法を示します。

  1. このソフトは、インストールしたマシンの送受信データを監視し、許可(allow)したプログラム(サービス)だけを送受信可能にします。 従って、サービスを許可しないと、LAN内のファイル共有もできなくできます。(必要なときだけファイル共有を許可するようにできます。) あなたの使用OSがこのダウンロードページのOperating Systems(Windows系だけ)であることを確認したら、 ダウンロードしてインストールし、起動します。

  2. 「Security」を「Normal」に選択して終了させ、サーバー機を再起動します。

  3. 再起動中も許可(allow)を求めるウィンドウが開きますが、わからない場合は、全て、許可(allow)にします。 後からでも禁止(Block)できます。

  4. Sygate Personal Firewallが「Normal」状態にて起動しているのを確認し、サーバを立ち上げます。 「Applications」押しボタンを押して、Applications画面を開け、必要なサービスを許可(allow)します。

  5. クライアントを起動し、サーバに対して、各種のサービスを要求します。 「Applications」押しボタンを押して、同様にサービスを許可(allow)します。

3. 自サイトへのポートスキャン

余裕があれば、Sygate Online Serviceを開いて、手順C.Service Portの確認の4項で行った「Quick Scan」と「Stealth Scan」以外のScan も行ってください。 ちなみに「Trojan Scan」が20分、「TCP Scan」が45分、「UDP Scan」が20分、「ICMP Scan」が10分もかかります。

4. 抗ウィルスソフトの導入

メールウェア(メール登録が必要なフリーソフト)ですが、Anti-Virus Protection!(AVG 7.0 Free Edition.)等があります。 この様なソフトは、最初は無料なんですが、何ヶ月かすると途中から、有料になる場合が多いですから、その覚悟で使用しましょう。使用される場合は、メールアドレスもhotmail等の無料メールアドレスを新規に取得し、そのメールアドレスで登録しましょう。

Anti-Virus Protection!(AVG 7.0 Free Edition.)の主な機能は、
●使用者保護 ●電子メールスキャナ ●オン・デマンドスキャナ ●計画的なテスト ●自由に月単位で抗ウィルスデータの更新 ●最新版の自動更新機能 ●使いやすいインターフェース ●感染ファイルの自動修復 ●感染ファイルを安全に取扱う ●抗ウィルス動作
というフリーソフトとは思えない本格的なものとなっています。

このソフトは、インストールしたままの状態で、ほぼ使用出来ますが、詳細な設定やフリーの抗ウィルスソフト一覧は、以下の所にあります。(全てフリーウェアのものだけを取り上げています。)

矢印右 Windowsセキュリティ関係の解説サイトリンク集(抗ウィルスソフト)

5. スパイウェアの確認

フリーソフトには、インストールしたPC機の個人情報を勝手に流出する悪質なソフト(スパイウェア)が存在します。フリーソフトを多用している場合は、必ずチェックし、該当する実行ファイルやDLLファイルを削除(remove)しておきましょう。 スパイウェアの確認は、英語のフリーウェアですが、LavasoftのDownloadsからAD-AWARE(R)6 STANDARD EDITION(PlusやProfessionalでない方)を(download.comなどより)ダウンロードし、インストールしすれば、チェックできます。 この日本語化パッチが、b.d.cさんのサイトにAd-aware 6 Personal用 日本語化パッチにあります。

6. セキュリィティ関連リンク

  1. セキュリィティに関して、非常に独創的で噛み砕いて解説されている自宅サーバーのホームページを下記に紹介致します。是非一度ご覧になって下さい。

    矢印右 Windowsセキュリティ関係の解説サイトリンク集(Windows自宅サーバーセキュリィティ解説サイト一覧)

  2. セキュリィティ全般に関する解説サイトへのリンクです。是非、ご一読願います。

    矢印右 Windowsセキュリティ関係の解説サイトリンク集(セキュリティ関連記事へのリンク)

7. IPアドレスによるアクセス制限

ホームページが日本語だけの場合は、JPNICが逆引きの管理を行っているIPアドレス(2003年3月12日現在)JPNICがネームサーバの管理をしているIPアドレス(2003年11月17日現在)でフィルタをかけて、直接アクセスを受け付けないようにするのも一つの方法です。

2003年11月22日にOAKさんより、blackholes.usのCountries欄のjapan.blackholes.usのデータの方が良いというご指摘も頂いています。
参考:掲示板No.13574 Webサーバーへの不正アクセスを制限する良い方法は?

WWWサーバーのAN HTTPd用アクセス許可IPフィルタファイルが「自宅サーバーを開局しよう」(http://mebius.zive.net/)さんの「国内IPアドレス一覧」にありました。 これは、上記の日本国内IPアドレスに127.0.0.1と LAN内のプライベートIPアドレスの192.168.*.* を追加されたものです。 AN HTTPdのバージョンは、Ver1.34c以上を使用しなければなりません。 このアクセス制限を行うと、海外からのアクセスを拒否でき、WWWサーバーを使用した不正なアクセスの絶対数を少なくできます。海外からアクセスしてくるCode Redワーム等によるエラー内容は、404エラー(ドキュメントがないか、読み込みができません。)から403エラー(ドキュメントにアクセスする権限がありません)に変わります。エラー番号の内容については、AN HTTPdのAN HTTP Server Errorsをご参照願います。

私の場合、この海外からのアクセス拒否で最も効果があったのは、掲示板(CGI)に対する連続アクセス攻撃でした。
(少数ですが、海外からの正常なアクセスもありますので、現在はアクセス制限を行なっていません。)

8. WWWサーバーの不正アクセス解析について

WWWサーバーの不正アクセス解析は、CGIなどによる通信解析などを利用する他、WWWサーバーのアクセスログ(記録)ファイルの解析も 行う必要があります。 AN HTTPdやApacheのログファイルの読み方については、WWWサーバーのHTTP Logファイルの読み方に まとめましたので、ご一読願います。

9. IPアドレスより、不正アクセス元を特定する方法

OSに依存しない方法を提示しています。

不正アクセスを発見した場合、IPアドレスより、アクセス元を特定する方法を説明します。
  1. IPアドレスのホスト名の特定

    nslookupコマンドを使用して、逆引きを行います。(PC-UNIX,Windows NT/2000/XP)
    Windows95/98/Meをご使用でしたら、にゃんこ先生のソフトの泉さんのInternet Test Tools(フリーのネットワークテストツール)をインストールして、NSLookupネーム参照を使用します。
    これにより、そのIPアドレスの所有者(プロバイダ)や独自ドメイン名が判明したりします。

  2. IPアドレスの所有者(プロバイダ)情報の特定

    以下の入力欄に、IPアドレス(ホスト名でも可)を入力すると、その所有者(プロバイダ)が解ります。前項の逆引きで、独自ドメイン名が表示される場合は、その独自ドメイン名の所有者も調べます。

    Meta-Whois Gateway  

    これは、CGI倶楽部さんのimWHOISをWindows 2000のAN HTTPDサーバーに設置したものです。
    詳細は、Meta-Whois Gateway(統合型Whois検索)をご参照願います。

    通常は、日本国内であれば、「JPNIC Whois Gateway」、海外からは、Welcome to uwhois.comで調べるという手順になります。これらを調べることにより、連絡先のメールアドレス等がわかります。

  3. 自宅サーバー等の特定

    ブラウザのセキュリティレベルを上げて、ブラウザから、http://vvv.xxx.yyy.zzz/とIPアドレスを入力して、ホームページが出てくるかどうかも調べてみましょう。これでホームページが表示されたら、以下のサイトであることがわかります。

    • 逆引きができない自宅サーバーのサイト(ダイナミックDNS利用サイトを含む)
    • ドメイン名を使用していない自宅サーバーのサイト
    • ポートスキャンサービスを実施しているWebサイト等で、逆引き設定していないIPアドレスを使用しているサイト

    より詳しくは、netcraftより、IPアドレスを入力して、使用OSとWebサーバーを調べてみましょう。 不正アクセスの犠牲者からの不正アクセスの様な悪意のない場合もありますので、調べてみる価値はあります。以下に示しますnmapをインストールして、同様の試験を自サイトから実施することも出来ます。

    OSを推定する指紋照合(fingerprinting)については、Remote OS detection via TCP/IP Stack FingerPrintingをご参照願います。 (この参照先は、PC-UNIXユーザー用Nmapの入手先です。この使用方法の日本語訳は、LinuxとフレッツISDN/フレッツADSL/BフレッツによるInternet Serverの構築ネットワークセキュリティスキャナ Nmap Manページにあります。

    Windows NT/2000/XP ユーザーは、まずWindows Packet Capture Libraryより、Windows 95/98/ME/NT/2000/XP Instructions用の「WinPcap 3.0 beta download WinPcap auto-installer (driver +DLLs)」をダウンロードして、インストールします。次に以下の何れかをインストールします。

    • コマンドプロンプト画面(DOS窓)のコマンドより操作されるのでしたら、Nmap -- Free Stealth Port Scanner For Network Exploration & Security Audits. Runs on Linux/Windows/UNIX/Solaris/FreeBSD/OpenBSDより、Latest stable Nmap command-line zipfile: nmap-X.XX-win32.zip(X.XXは、バージョンで、2003年3月19日現在は、3.20)をインストールします。
    • GUIで操作されるのでしたら、上記の同じサイトのLatest Nmapwin Installer (includes Nmap and Winpcap): nmapwin_X.X.X.exe(X.X.Xは、バージョンで、2003年3月19日現在は、1.3.1)をインストールします。私は、クライアント機のWindows XP Home Editionにインストールしていますが、このnmapwinに付属のWinpcap2.3は、使用していません。

    eEye Digital SecurityよりnmapNTをインストールしても良いのですが、インストール方法が多少厄介です。nmapNTをインストールされるのでしたら、Tef Room - Windowsのトラブル対策やTIPS-nmapをWindowsで使おう♪をご参照願います。

    注)
    1. Internet Test Tools やNmap や nmapNTは、基本的にはポートスキャンツールなので、自サイト以外に使用する場合は、クラッカーと間違えられない様、実施する了解を取ったり、実施した時間と自サイトのグローバルIPアドレスを通知する義務が生じます。

10. 自宅サーバーのWebページスペースレンタル(貸し出し)について

自宅サーバーの管理者で、Webページスペースのレンタル(貸し出し)を行う方がおられますが、これはやめた方が良いと考えます。 Webページスペースのレンタル(貸し出し)を行うには、セキュリティに関して、それ相応の能力が必要となりますし、第一、管理する手間が大変です。 利用規約やFTPクライアントの設定方法に始まって、ユーザーサポートということまで、やらなければなりません。 これらの雑多なことを行わなければならないのですから、私はお金を頂いても行いたくありません。 自宅サーバーを楽しく趣味として行うためにも、よく考える必要があります。

詳しくは書きませんが、CGIでtelnetと同じことが出来ます。(Perlの初心者でも簡単にtelnetのCGIを簡単に書けてしまいます。) Perl等では、SYSTEM関数を使用しなくてもOPEN関数で、変数に格納した任意のシェルコマンドを実行出来ますので、CGIのソースコードを監視するのは、やっかいです。 また、SSIはユーザーが設置したHTMLファイルから、コマンドを実行出来ます。これらのコマンドがWWWサーバーを通して実行されることは、セキュリティ上、望ましくありません。

下表にWebページスペースをレンタルする場合を大雑把に分類し、そのセキュリティについて考察してみます。

Webページスペースレンタル(貸し出し)の分類とそのセキュリティ

サービス内容 FTP
アップロード
設置
CGI

種類
メール
アドレス
の発行
セキ
ュリ
ティ
セキュリティ特記事項
HT
ML
CGI SSI 一般
パス
実行
パス
A × × × 不可 Webページスペースだけの貸し出し。
B × × 既定 既定のCGIのみ可。実行パスより、FTPダウンロードは、可能としておく。
C × × 不可 × HTMLファイルを設置している一般パスにFTPアップロードが可能で、
HTMLファイルより任意のコマンドの実行が可能。
D × 自由 × 自由なCGIを設置可能にする=実行パス下にFTPアップロードが可能。
アップロードしたCGIより、任意のコマンドの実行が可能。
E 自由 × アップロードしたHTMLファイルやCGIより、任意のコマンドの実行が可能。

注)WWWサーバーの設定で、CGIが実行できるのは、実行パスだけという設定になっていることを前提とします。

AとBは、セキュリティもそんなに甘くなりませんし、個人でもなんとかなりそうです。 理由は、WWWサーバー経由で、任意のコマンドが実行できないからです。 要点は、WWWサーバーの実行パス下にFTPアップロードさせないことです

Cは、ユーザーにより、WWWサーバーの一般パス下にFTPアップロードが可能です。 SSIの実行を許しているので、HTMLファイル等を置く一般パスより、任意のコマンドの実行が可能となります。

DとEは、ユーザーにより、WWWサーバーの実行パス下にFTPアップロードが可能な為、任意のコマンドの実行が可能となります。 又、Eは、SSIの実行を許しているので、一般パスに設置しているHTMLファイルからも、任意のコマンドの実行が可能となります。 これらは、極端にセキュリティが低下して、管理が難しくなります。

以下に私が思いついた制限事項を列挙します。

  1. WWWサーバーやCGIの実行権限を制限して、任意のコマンドの実行を制限する。(SSIコマンドも同じ。)
    しかし、色んな場合がありますので、完璧な防御方法はないと言えます。
    任意のコマンドの実行を制限するには、Unix系のOSの方が楽だと思いますが、WindowsでもNT系なら、なんとか制限出来ると思います。 NT系といっても実行権限が2種類しかないWindows XP Home Editionでは、httpdとCGIのアクセス権が適切に設定出来ません。

  2. 実行権限の甘いtmpディレクトリ等をなくす。
    (実行権限の甘いtmpディレクトリ等がユーザにわかってしまうと、OSの種類とバージョンが同じ実行ファイルをアップロードされて、容易に実行されます。)

  3. 当たり前のことですが、アクセス可能なディレクトリのデータをSSIやCGIの実行権限から見れなくする必要もあります。

  4. ユーザーに最初のパスワードを発行するには、Web上で書き込まれた個人情報(住所・氏名・電話番号・勤め先等)を把握して、ユーザーの自宅に封書を郵送し、記載事項に間違いがないことを確認し、ユーザーによる不正行為を抑止する。不正行為に対する罰則などを明示する。

  5. ユーザーが使用可能なCGIのモジュールを制限する。(というより、不要なモジュールを削除する。)

  6. ユーザーがhttpクライアントCGIやproxy CGIを設置しても機能しない様にパケットフィルタリングを行う。

  7. メールアドレスの発行を行っている場合は、メールのパスワードが暗号化されていないSMTP認証やPOP認証によるメールの送受信を行わない。プロバイダと同じような認証方式では、インターネットの経路上、第三者によるメールのパスワードの盗聴が可能となります。

  8. FTPパスワードを別個に長いパスワードに定義したりしてセキュリティ強度を上げ、定期的に変更する。パスワードの管理をユーザーまかせにしていたりすると、FTPパスワードとメールのパスワードを同じにされたりして、FTPパスワードが類推されやすくなります。

  9. ユーザーのクライアント機が第三者によって、クラッキングされると第三者によるFTPアップロードが可能になりますので、ユーザーの使用しているIPアドレスブロック単位のFTPアクセス制限を行う。(プロバイダと違って、ここが最もやりにくいところです。)

以上、長々と書きましたが、他にも制限すべきことが多いはずです。プロバイダでもないのにレンタルサーバーを行うには、ユーザーの使用するIPアドレスの制限が難しいです。従って、正規のユーザー(個人情報を把握しているユーザー)以外のクラッカーによるFTP接続に対する制限が難しくなります。ここまで書くと、仕事でもないのにプロバイダ以上に難しいことをするのは、やめた方が良いと考えが変わりましたでしょうか?

参考:掲示板No.7697 個人サーバでスペースを貸出す場合のCGI実行許可の危険性について。

▲頁先頭