Windows Server は、Windows のサーバー オペレーティング システムである Microsoft Windows Server System (WSS) の中核です。
各 Windows サーバーは、そのホーム (ワークステーション) エディションに対応します (2003 R2 を除く)。
1)、基本的なシステム セキュリティ設定
1. インストール手順: すべてのシステムを NTFS でフォーマットし、システムを再インストールし (元の win2003 を使用)、ウイルス対策ソフトウェア (Mcafee) をインストールします。ウイルス対策ソフトウェアを Update に置き換え、sp2 パッチをインストールし、IIS をインストールし (必要なコンポーネントのみをインストールします)、SQL2000 をインストールし、.net2.0 をインストールし、ファイアウォールをオンにします。そして最新のパッチをサーバーに適用します。
2)、不要なサービスを閉じます
コンピュータ ブラウザ: ネットワーク コンピュータの更新を維持し、無効にします
分散ファイル システム: LAN 管理共有ファイル、無効にする必要はありません
分散リンクトラッキング クライアント: LAN 上の接続情報を更新するために使用され、無効にする必要はありません。
エラー報告サービス: エラー レポートの送信を禁止します。
Microsoft Serch: 高速な単語検索を提供します。無効にする必要はありません
NTLMSecuritysupportprovide: Telnet サービスと Microsoft Serch に使用され、無効にする必要はありません
PrintSpooler: プリンターがない場合は無効にできます
Remoteレジストリ: レジストリのリモート変更は禁止されています
リモート デスクトップ ヘルプ セッション マネージャー: 他のサービスを検証するためのリモート アシスタンスを無効にします
#3)、アカウントのセットアップと管理 1. Guest アカウントを無効にして名前と説明を変更し、複雑なパスワード 2 を入力します。作成するシステム管理者アカウントの数を減らし、デフォルトの管理者アカウント名 (Administrator) と説明を変更することをお勧めします。パスワードは、数字、大文字、小文字、数字の組み合わせを使用するのが最善です。長さは 10 文字未満にしないことが最善です。3. Administrator という名前の新しいトラップ アカウントを作成し、最小限のアクセス許可を設定します。 4. コンピューターの構成 - Windows の設定 - セキュリティの設定 - アカウント ポリシー - アカウント ロックアウト ポリシーで、アカウントを「3 回のログインの無効な時間」に設定します。は 30 分です。5. セキュリティ設定 - ローカル ポリシー - セキュリティ オプションで、「最後のユーザー名を表示しない」を有効に設定します6. セキュリティ設定 - ローカル ポリシー - ユーザーで権利の割り当てでは、「ネットワークからこのコンピューターにアクセスする」で、インターネット ゲスト アカウントのみを保持し、IIS プロセス アカウントを開始します。,Aspnet アカウント7. ユーザー アカウントを作成し、システムを実行します。特権コマンドの場合は、Runas コマンドを使用します。4)、対応する監査ポリシーを開きます監査ポリシーの変更: 成功監査ログイン イベント: 成功、失敗オブジェクト アクセスの監査: 失敗オブジェクト トラッキングの監査: 成功、失敗ディレクトリ サービス アクセスの監査: 失敗権限の使用状況の監査: 失敗監査システム イベント:成功、失敗#監査アカウント ログイン イベント:成功、失敗
#監査アカウント管理:成功、失敗#5)、その他のセキュリティ関連設定
1. C$、D$、ADMIN$
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters などのデフォルトの共有を禁止します (右側) ウィンドウで新しい Dword 値を作成し、名前を AutoShareServer に設定し、値を 0 に設定します
2. TCP/IP プロトコルから NetBios のバインドを解除します。
[ネットワーク コンピューター] を右クリックし、[プロパティ] を選択し、[ローカル エリア接続] を右クリックし、[プロパティ] を選択し、[インターネット プロトコル] - [詳細] - [Wins] - [NETBIOS を無効にする] をダブルクリックします。 TCP/IP
3. 重要なファイル/ディレクトリを非表示にする
レジストリを変更して完全に非表示にすることができます:「HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent-VersionExplorerAdvancedFol derHiddenSHOWALL」を右クリックし、「CheckedValue」を右クリックして「変更」を選択します。値を 1 から 0
4 に変更します。SYN フラッド攻撃を防止します。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters Syn AttackProtect という名前の新しい DWORD 値を値 2 で作成します。
5. への応答を無効にします。 ICMP ルート アドバタイズメント メッセージ
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterface 値 0
6 を使用して、PerformRouterDiscovery という名前の新しい DWORD 値を作成します。ICMP リダイレクト メッセージからの攻撃を防止します
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters EnableICMPRedirects 値を 0 に設定します。
7. IGMP プロトコルはサポートされていません
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters IGMPLevel という名前の新しい DWORD 値を 0
8 の値で作成します DCOM を無効にする : 操作中に Dcomcnfg.exe を入力します。 Enter キーを押して、「コンソール ルート ノード」の下の「コンポーネント サービス」をクリックします。 「コンピューター」サブフォルダーを開きます。
ローカル コンピューターの場合は、[マイ コンピューター] を右クリックし、[プロパティ] を選択します。 「デフォルトのプロパティ」タブを選択します。 [このコンピュータで分散 COM を有効にする] チェック ボックスをオフにします。
9. ターミナル サービスのデフォルト ポートは 3389 です。別のポートに変更することを検討できます。
変更方法は次のとおりです。 サーバー側: レジストリを開き、「HKLM\SYSTEM\Current ControlSet\Control\ Terminal Server\Win Stations」で RDP-TCP に似たサブキーを見つけ、PortNumber 値を変更します。クライアント: 通常の手順に従ってクライアント接続を作成します。この接続を選択し、[ファイル] メニューの [エクスポート] を選択します。サフィックス .cns の付いたファイルが指定された場所に生成されます。ファイルを開き、「サーバーポート」の値をサーバー側のポート番号に対応する値に変更します。次に、ファイルをインポートします (方法: [メニュー]→[ファイル]→[インポート])。これにより、クライアントはポートを変更します。
6) IIS サービスの構成
1. デフォルトの Web サイトは使用せず、使用する場合は、IIS ディレクトリをシステム ディスクから分離します。
2. IIS によってデフォルトで作成される Inetpub ディレクトリ (システムがインストールされているディスク上) を削除します。
3. システム ディスクの下の仮想ディレクトリ (_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC など) を削除します。
4. 不要な IIS 拡張子マッピングを削除します。 「既定の Web サイト→プロパティ→ホーム ディレクトリ→構成」を右クリックし、アプリケーション ウィンドウを開き、不要なアプリケーション マッピングを削除します。主に .shtml、.shtm、.stm
5. IIS ログのパスを変更するには、「既定の Web サイト」を右クリック→「プロパティ」→「Website」→「ログを有効にする」の下の「プロパティ」をクリックします
6 2000 を使用している場合は、iislockdown を使用して IIS を保護できます。2003 で実行されているバージョンの IE6.0 では、これは必要ありません。
7. UrlScan を使用します。
UrlScan は ISAPI フィルタです。 , 受信 HTTP パケットが分析され、疑わしいトラフィックは拒否されます。最新バージョンは 2.5 です。2000Server の場合は、最初にバージョン 1.0 または 2.0 をインストールする必要があります。特別な要件がない場合は、UrlScan の既定の構成を使用してください。ただし、サーバー上で ASP.NET プログラムを実行し、それをデバッグするには、%WINDIR%System32InetsrvURLscan フォルダーにある URLScan.ini ファイルを開いて、UserAllowVerbs セクションにデバッグ動詞を追加する必要があります。 Web ページが .asp Web ページの場合は、DenyExtensions で .asp 関連コンテンツを削除する必要があります。Web ページが非 ASCII コードを使用している場合は、AllowHighBitCharacters の値を 1 に設定する必要があります。 URLScan.ini ファイルに変更を加えた後、有効にするために IIS サービスを再起動する必要があり、クイック メソッド操作中に iisreset と入力します。構成後に問題が発生した場合は、[追加と削除] を使用して URLScan を削除できます。プログラム.
8. WIS (Web Injection Scanner) ツールを使用して、Web サイト全体で SQL インジェクション脆弱性スキャンを実施します.
7)、SQL サーバーを構成します
1.システム管理者の役割を 2 つ以上持たないことが最善です
3. Sa アカウントを使用しないで、非常に複雑なパスワードを設定してください
4. 次の拡張ストアド プロシージャ形式を削除します:
use master sp_dropextendedproc '拡張ストアド プロシージャ名'
xp_cmdshell: オペレーティング システムにアクセスし、レジストリにアクセスするストアド プロシージャを削除するための最良のショートカットです、
delete
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Delete
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop
5. SQL Serverを非表示にし、デフォルトの1433ポートを変更します
インスタンスを右クリックし、 [プロパティ] - [一般] - [ネットワーク構成] を選択し、TCP /IP プロトコルのプロパティを選択し、SQL Server インスタンスを非表示にすることを選択して、デフォルトのポート 1433 を変更します。
8)、システム ログの保存アドレスを変更します。デフォルトの場所はアプリケーション ログ、セキュリティ ログ、システム ログ、DNS ログです。デフォルトの場所は %systemroot%\system32\config です。デフォルトのファイル サイズは次のとおりです。 512KB。管理者がこれを変更します。デフォルトのサイズです。
セキュリティ ログ ファイル: %systemroot%\system32\config\SecEvent.EVT システム ログ ファイル: %systemroot%\system32\config\SysEvent.EVT アプリケーション ログ ファイル: %systemroot%\system32\config\AppEvent 。 EVT インターネット インフォメーション サービス FTP ログのデフォルトの場所: %systemroot%\system32\logfiles\msftpsvc1\、デフォルトで 1 日あたり 1 つのログ インターネット インフォメーション サービス WWW ログのデフォルトの場所: %systemroot%\system32\logfiles\w3svc1\、1 日あたり 1 つのログデフォルトでは日 スケジューラ (タスク プラン) サービス ログのデフォルトの場所: %systemroot%\schedlgu.txt アプリケーション ログ、セキュリティ ログ、システム ログ、DNS サーバー ログ、これらの LOG ファイルはレジストリにあります: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlogレジストリ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent SQL の Schedluler(タスク プラン) サービス ログ xplog70.dll を削除または名前変更 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters] "AutoShareServer"=dword:00000000 "AutoShareWks"=dword: 00000000 // Pro バージョンの AutoShareWks // サーバー バージョンの AutoShareServer // 0
admin$、c$、d$ などのデフォルト共有の管理を無効にする [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA] "restrictanonymous"=dword:00000001 //0x1 匿名ユーザーはローカル ユーザー リストを列挙できません //0x2匿名ユーザーはローカル IPC$ 共有に接続できません (おそらく SQL サーバーを起動できない可能性があります)、ローカル セキュリティ ポリシー
#1。サービスに必要なポートとプロトコルのみを開きます。具体的な方法は、「ネットワーク ネイバーフッド → プロパティ → ローカル エリア接続 → プロパティ → インターネット プロトコル → プロパティ → 詳細 → オプション → TCP/IP フィルタリング → プロパティ」を開き、必要な TCP、UDP ポート、および IP プロトコルを追加します。サービスに応じてポートを開きます。一般的に使用される TCP ポートは、Web サービスの場合はポート 80、FTP サービスの場合はポート 21、SMTP の場合はポート 25、Telnet サービスの場合はポート 23、POP3 の場合はポート 110 です。一般的に使用される UDP ポートは次のとおりです: ポート 53 - DNS ドメイン名解決サービス、ポート 161 - snmp 簡易ネットワーク管理プロトコル。 8000 と 4000 は OICQ に使用され、サーバーは情報の受信に 8000 を使用し、クライアントは情報の送信に 4000 を使用します。ブロックされた TCP ポート: 21 (FTP、FTP ポート変更) 23 (TELNET)、53 (DNS)、135、136、137、138、139、443、445、1028、1433、3389 ブロック可能な TCP ポート: 1080、3128、6588 、8080(上記はプロキシポートです)、25(SMTP)、161(SNMP)、67(ブート)、ブロックUDPポート:1434(これは言うまでもありません)、すべてのICMPをブロック、つまりPINGをブロックします。最も頻繁にスキャンされるポートです。その他もブロックされます。もちろん、80 は WEB 用であるため、
2。空の接続を確立することは禁止されています。デフォルトでは、すべてのユーザーが空のポートを介してサーバーに接続できます接続し、アカウントを列挙し、パスワードを推測します。空の接続に使用されるポートは 139 です。空の接続を通じて、ファイルがリモート サーバーにコピーされ、タスクの実行がスケジュールされる可能性があります。これは脆弱性です。次の 2 つの方法で空の接続の確立を禁止できます。
(1) レジストリの Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous の値を 1 に変更します。
(2) Windows 2000 のローカル セキュリティ ポリシーを変更します。 「ローカル セキュリティ ポリシー → ローカル ポリシー → オプション」の RestrictAnonymous (匿名接続に対する追加の制限) を「SAM アカウントと共有の列挙を許可しない」に設定します。まず、Windows 2000 のデフォルトのインストールでは、すべてのユーザーが空の接続を介してシステムのすべてのアカウントと共有リストを取得できます。これは元々、LAN ユーザーがリソースやファイルを共有しやすくすることを目的としていました。リモート ユーザーも同じ方法でユーザー リストを取得でき、ブルート フォース手法を使用してユーザー パスワードを解読し、ネットワーク全体に損害を与える可能性があります。多くの人は、レジストリ Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1 を変更して null ユーザー接続を禁止することしか知りません。実際、Windows 2000 のローカル セキュリティ ポリシー (ドメイン サーバーの場合は、ドメイン サーバー セキュリティとドメイン セキュリティ ポリシー) 3 つの値を持つ RestrictAnonymous オプションがあります: "0" は制限のないシステムのデフォルト値です リモート ユーザーはすべてのアカウント、グループ情報、共有ディレクトリ、ネットワーク送信リスト (NetServerTransportEnum) を知ることができます、など、マシン上にあります。; 値「1」では、NULL 以外のユーザーのみが SAM アカウント情報および共有情報にアクセスできます。値「2」は Windows 2000 でのみサポートされます。この値が使用される場合は注意が必要です。 , リソースを共有できなくなるため、値を「1」に設定することをお勧めします。
10)、asp トロイの木馬を防止します
1、FileSystemObject コンポーネントに基づく asp トロイの木馬
cacls %systemroot%\system32\scrrun.dll /e /d guest //禁止ゲストは regsvr32 scrrun.dll /u /s //Delete
2 を使用します。 shell.application コンポーネントをベースにした Asp トロイの木馬
cacls %systemroot%\system32\shell32.dll /e /dゲスト //ゲストによるregsvr32の使用を禁止shell32.dll /u /s //削除
# ##3。画像フォルダーのアクセス許可を、実行を許可しないように設定します。 4. Web サイトに ASP が存在しない場合は、SQL インジェクションを防ぐため、ASP11) を無効にします。1。パラメータ化されたステートメントを使用してみてください2。パラメータ化された SQL 使用状況フィルタリングを使用できません。 3. Webサイトでは詳細なエラー情報が表示されない設定となっており、エラー発生時には必ずエラーページにジャンプします。 4. データベースへの接続に sa ユーザーを使用しないでください 5. パブリック権限を持つ新しいデータベース ユーザーを作成し、このユーザーを使用してデータベースにアクセスします。ロール public の sysobjects および syscolumns オブジェクトへのアクセス権を選択します。 注: 最後に、上記の設定は、リモート サーバーに接続できなくなるなど、一部のアプリケーション サービスに影響を与える可能性があることを強調しておきます。最初に上記の設定を行うことを強くお勧めします。ローカル マシンまたは仮想マシン (VMware Workstation) で設定を行い、すべてが正常であることを確認してから、サーバーで実行します。関連する推奨事項:ウェブサイトのセキュリティ
以上がWindowsサーバーのセキュリティ設定の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。