カスタム検索
|
Tweet |
|
|
NTのセキュリティ設定をしてみる
Modified: 29 Nov 1998
このページでは、NTに備わっている機能を使って、NTに備わっている機能を使って、セキュリティを強化し、外部からのアクセスに対して強くする方法です。
全部設定しても絶対安全というわけではありません。しかし、書いてある設定を行うと、破壊行為が難くなるのは間違いありません。
Firewallや、プロキシサーバー、ダイアルアップルータによる保護については、このページには書いていません。
毒を隠して、こんな毒がありますという考えには反対です。
毒は、これは毒だよ、こんな毒だよ、と示し、いつでも試せるようにみんなに与えるべきだと思います。
問題は、倫理感であって、情報ではないからです。昔と違って情報は、隠せません。情報を隠すことは不可能な時代です。セキュリティへの攻撃として、どんなことができるのかを体感しなければ、セキュリティの意識は高まりません。
ログオンしにくくする
NTFSにしてアクセス権を設定する
ユーザの行為を監視する
不要なサーバーを止める
NTのセキュリティホール対策
パスワード解読ツール(L0phtCrack)を使ってみる
パスワード解読ツール(PwDump,NtCrack)を使ってみる
ポートスキャナ(UltraScan)を使ってみる (29 Nov 1998)
セキュリティ設定の実験 (22 Nov 1997)
パスワードを厳しく運用する
パスワードの運用については、「ドメインユーザマネージャ」の「原則」、「アカウント」のダイアログを開くと、以下のように多くの設定が可能です。
この設定に関しては、「パスワード解読ツール(L0phtCrack)を使ってみる」を参照してください。
ログオンできるワークステーションを指定する
「ドメインユーザマネージャ」で、ユーザごとに、ログインできるワークステーションを8台まで指定できます。ただし、
この設定によって、指定したワークステーションからしかログオンできなくなります。
デフォルトでは、どのワークステーションからでもログオンできるように設定されています。
ログオンできる時間を設定する
「ドメインユーザマネージャ」で、ユーザごとに、ログインできる時間を設定できます。
この設定によって、夜中にはログインできないとか、平日の昼間にはログインできないようにすることも可能です。
デフォルトでは、いつでもログオンできるように設定されています。
ネットワーク経由でコンピュータへアクセスできるユーザを制限する
「ドメインユーザマネージャ」の「原則」、「ユーザの権利」のダイアログを開き、「ネットワーク経由でコンピュータへアクセス」が許されているアカウントを整理しましょう。
デフォルトで、Administratorも入っているので、別のコンピュータから管理作業をしないのであれば削除しましょう。Webを公開するためには、最低限、IUSR_G6-200 (G6-200はコンピュータ名)の許可が必要です。
Administratorのアカウント名を変える
ログオンに必要なユーザ名とパスワードのうち、名前が分かっていると、探すのはパスワードだけとなり、見つけやすくなります。したがって、Administratorの名前は、変えたようがいです。
Guestのアカウントを無効にする
Guestユーザは、削除できないので、ドメインユーザマネージャのアカウント画面で、「アカウントを無効にする」にチェックを入れておきます。
Administratorグループと、Domain Adminグループのユーザを減らす
Administratorグループと、Domain Adminグループに属すると、最強のユーザになります。これらに属するユーザは、1つだけが望ましいところです。
インターネットに接続するには、とにかく、NTFSにしましょう。
NTFSにして、ファイルやフォルダにアクセス権を設定する
デフォルトで以下のように、すべてのフォルダやファイルは誰でも読み書きできるようになっています。
最低限、Everyone、つまり誰でも変更可能、になっていますから、これは削除しましょう。
Everyoneを削除して、実際にアクセスを許可するユーザ(またはグループ)だけを追加し、それぞれアクセス権を設定します。
アクセス権の設定はより上のフォルダに設定されたアクセス権が適用されます。
たとえば、ドライブにアクセス権の設定すると、そのドライブ内のあるフォルダに別の設定がなされていれも、より上であるドライブのアクセス条件でチェックされることになります。
したがって、ドライブの共有ではなくて、ルートにあるフォルダ単位でアクセス権を設定するのが現実的です。
共有設定がなされた共有フォルダのアクセス権は、NTFSのアクセス権とは独立に働き、NTFSのアクセス権チェック以前にチェックされます。つまり、両方の組み合わせができます。
しかし、現実には、共有のアクセス権は設定せず、NTFSのアクセス権だけで運用したほうが、設定がわかりやすくていいと思います。
ユーザの行為を監査する
「ドメインユーザマネージャ」の「原則」の「監査」で、指定した項目は、イベントログに記録できます。
多く設定しすぎると、ログが増えすぎて管理しきれなくなりますので、あなたの環境に合わせて、運用しながら調整が必要です。
ディレクトリのアクセス状況を監視する
NTFSでは、指定したディレクトリのアクセス状況を監視することもできます。ファイルやフォルダの上で、右クリックして、「プロパティ」を開き、「セキュリティ」のタグから「監視」ボタンを押します。
ここでは、Everyone を追加して、すべてのユーザを対象に、ディレクトリのアクセス状況を監視して、イベントログに記録することが可能です。
インストール直後は、多くのサーバが起動しています。不要なサーバは止めましょう。
ftpもできれば止めるか、別のサーバーにしたほうがいいです。
Webを公開するだけなら、多くのサーバーを停止できます。
Service Pack 3 を充てる
一時、NT4.0のセキュリティホールが次々と見つかり、大騒ぎになりましたが、ServicePack 3 がでてひとまず落ち着きました。
しかし、ServicePack3以降にもセキュリティホールがいくつかみつかっています。それらは以下からダウンロードできます。
http://www.microsoft.com/japan/products/ntupdate/NT4SP3/postsp3.htm面倒ですが上記ページを見て、できるだけダウンロードして、修正しておきましょう。
ただし、上記ページには、問題にぶかったときにだけ、ダウンロードして修正すればよいと書いてあります。(そうかなあ)
主なものを、3つだけ紹介します。
tearfixi.exe を実行して修正すると以下の問題が解決できるようです
tcpip.sys というtcp/ipのドライバソフトを入れ替えることで以下の問題を解決します。
teardrop アタックの対策: 故意に、特別なUDPパケットを大量に受信すると、0x0000000A または 0x00000019 というメッセージを表示してハングする、という問題が解決するようです。 (J042091)
OOBアタックの対策: 故意に、Out Of Band (OOB) データが送られると、TCPIP.SYS の 0x0000000A で停止してしまう、ということが発生するという問題が解決するようです。 (J030463)
故意に、特殊な Internet Control Message Protocol (ICMP)のデータが送られるとハングする、という問題が解決するようです。(J030717)
SYNアタックの対策: 故意に、接続要求 (SYN) パケットが連続して送られると、Windows NT の動作速度が極端に遅くなる、という問題が解決するようです。しばらくすると元に戻るそうです。 (J040523)
マルチプロセッサ(CPUを2つ以上搭載したコンピュータ)のPCに、多量のデータを送受信するとハングする、という問題が解決するようです。普通のユーザには関係ありませんが。(J041381)
dnsfix_i.exe を実行して修正すると以下の問題が解決できるようです
dns.exe という、DNSサーバーのソフトを入れ替えることで以下の問題を解決します。
これらは、MicrosoftのDNSを使っていないひとには関係ありません。
Answer Conutが0より大きいというパケットを受け取ると、DNSがエラーで死んでしまう、という問題が解決されるようです。(J030482)
DNSに複数のIPアドレスを含むデータで名前解決を要求すると名前解決できない、という問題が解決されるようです。(J030483)
DNSのゾーンタイプを変更すると、DNSが立ち上がらない、という問題が解決されるようです。(J030484)
故意に、名前解決のためのキャッシュに適当な文字を流し込まれたらDNSがハングする、という問題が解決されるようです。(J030485)
故意に、TelnetのデータをDNSに流し込むとDNSがハングする、という問題が解決されるようです。(J030486)
pent_fix.exe を実行して修正すると以下の問題が解決できるようです
Getadmin.exe を使うと、一般ユーザがAdministrators グループに参加できてしまう、という問題が解決されるようです。(J030800)
CMPXCHG8Bという命令を実行するとハングするようです。これは、CPUのバグのようです。(J041092)
1.7 GB 以上の RAM で Memory.dmp ファイルが作成できない、という問題が解決されるようです。これはフツーの人には、ほとんど関係ないですね。(J041118)
自分のパスワードがどのくらい短時間に解読されるか、解読しにくいパスワードとはどんなものかを知るために有益なツールです。その反面、悪用されるととてもこわいツールです。
L0phtCrackとは
L0phtCrackは、パスワードを解読するツールです。
英単語のパスワードなら、数分で解読され、そうでないパスワードには、全文字列の組み合わせによるチェックが行われるので、時間さえかければパスワードを必ず見つけることができるのだそうです。
解読しにくいパスワードを設定しても、数日とか、数百日で解読できますから、数十年とか、途方もない時間がかかるわけではありません。丁寧にも、途中中断機能があるので、必ずしも連続して実行させつづける必要もありません。
評価版の入手
以下から評価版(期間限定、機能限定版)がダウンロードできます。
http://www.lopht.com/この評価版を試すには、まずAdminstratorの権限を持った人が、自分のPC内のユーザのパスワードを解読することしかできません。しかも、使えるのはインストールから10日間だけです。
L0phtCrackの原理
原理は、レジストリ(SAM)に書いてある暗号化されたパスワードを取り出してから、解析処理を実行します。
また、このSAMの内容は、修復のためのバックアップディレクトリの \winnt\repare\sam._ と、\winnt\system32\config\sam にもあるので、Adoministratorの権利がなくても、たとえばDOSのFDでブートして、DOSモードで取り出すこともできるそうです。また、SMBつまり、ファイル共有のためのパケットから取り出すことができるツールも同梱されています。
外部からの解読行為の対策
外部からのネットワーク経由であれば、Administratorの権利を守ればいいです。
ただし、SMBの解析機能もありますから、TCPのポート137,138,139 を外部に出さないようにすることも大切です。
内部の人による解読行為に対する防止方法はとても困難です。内部事情に沿ったそれぞれの対策が必要だと思います。
パスワードに関する教訓
私のパスワードは、それなりに凝ったつもりなので、約2時間ほど実行してもみつかりませんでした。
このツールを使ってみて”しっかり”とわかったのですが、
- 英語辞書にある単語を使ってはいけない。数分で解読されてしまいます。
- パスワード時間をかければ必ず見つけることができるわけですから、同じパスワードを永く使いつづけるのは危険です。つまり、定期的に変更すること、しかも短期に変更する必要があるということになります。
- 長いパスワードは、解読に時間がかかりますから、長いほうがいいことになります。
- 多くの方のパスワードは、特殊文字を含んでいませんから、解読する手順としては、まず英数文字の組み合わせをしらべ、見つからなかったら特殊記号も含めて調べるという手順を踏むと思います。したがって、特殊記号を含めたパスワードを設定しておくと解読時間をながくすることができる、つまり、パスワードの寿命を長くできると思います。
つまり、パスワードは安全なものではありません。英語辞書にない単語で、長いパスワードを設定し、短期に変更していくことが最大の防御手段ということですね。
パスワード解読ツール(pwdump,ntcrack)を使ってみる ![]()
pwdump で、パスワードのハッシュコードを得る
SAM というユーザごとのパスワード表をとりだして、テキストファイルに変換してくれるツールです。
pwdump は、以下から入手できます。
ftp://samba.anu.edu.au/pub/samba/pwdumpこのツールは、Administrator のみ実行できます。
Administratorの権限を持ったユーザでは実行できません。
NTcrack で、パスワードの解読をする
pwdump が出力したユーザとパスワードの表をと、単語辞書(1単語1行というテキストファイル)から、パスワードを解読します。
以下から入手できます。
http://www.secnet.com/ntinfo/ntcrack.html
または
http://www.secnet.com/freesoft/ntcrack.html
実行例
pwdump を実行し、結果を、sam.txt というファイルに保存します。
その sam.txt と、Ntcrack に同梱されている辞書、wordlist を使って、私のPCのパスワードを解読してみました。
同梱されている wordlist は、単語が少ないですから、私のPCのユーザのパスワードの解読はしてくれませんでした。そこで、私は、test というユーザを作り、パスワードを、wordlist の先頭にあった、aaa にしました。
上記は、その後の実行結果です。
- guest というユーザは、パスワードが設定されていない。
- test というユーザのパスワードは、aaa であることが表示されました。
とりあえず、私のユーザ名のパスワードは解読できなかったことになりますが、辞書に単語をどんどん追加していけば、多くのパスワードの解読が可能となります。
これらのツールを見ると、単語でない文字、でたらめな文字の組み合わせがいいようです。ただし、たとえば、”qwert” のように、単語と見ればでたらめでも、キーボードの配列通りというのも、もし私だったら辞書登録しますので危険ですよ。
UltraScanとは
TCP/IPのサービスは、ポートを使って行われます。したがって、どのポートが開いているかを調べたら、侵入方法のヒントが得られます。
以下のページから、フリーのツールが入手できます。
http://www.point1.com/UltraScan/download.htm
自分のPCの状態を確認するためのツールとして紹介しています。他人のコンピュータに対してこのソフトを働かせると、その行為そのものが犯罪行為となります。他人のPCに対して使っただけで、あなたがブラックリストに載るかもしれませんので、ご注意を!!。
ダウンロードして、setup.exe を実行しても、途中でエラーになってインストールできません。私は、手動でインストールして実行してみました。その方法は、説明しません。