Nginxはよくシールド規則を使って、ウェブサイトをもっと安全にします

2394 ワード

Nginx(engine x)は高性能のHTTPとリバースエージェントサービスであり、現在多くのサイトではWEBサーバとしてNginxが使用されている.Nginxは非常に強力であるが、デフォルトでは悪意のあるアクセスを阻むことはできない.xiaozはよく使われるNginxシールドルールを整理し、あなたに役立つことを望んでいる.
開始する前に、停止、再起動などのNginxの一般的なコマンドとnginxエラーログの確認を熟知し、問題が発生しないようにしてください.特に明記がなければ、以下のコマンドはserver段に追加され、nginx構成を変更する前に必ずバックアップを行い、変更が完了したらnginxを再ロードする必要があります.そうしないと有効になりません.
ファイルのダウンロードを防止
例えば、サイト・データベースをサイト・ルート・ディレクトリにエクスポートしてバックアップすると、他の人にダウンロードされ、データが失われるリスクが高い可能性があります.以下のルールは、通常のファイルがダウンロードされることを防止し、実際の状況に応じて増減することができます.
location ~ \.(zip|rar|sql|bak|gz|7z)$ {
  return 444;
}

非常に蜘蛛(爬虫類)を隠す
ウェブサイトのログをよく分析すると、奇妙なUAが頻繁にウェブサイトにアクセスしていることがわかりますが、これらのUAはウェブサイトの収録に意味がなく、逆にサーバーの圧力を増加させ、直接それを遮断することができます.
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
     return 444;
}

ディレクトリ実行スクリプトの禁止
例えば、サイトのアップロードディレクトリは、通常静的なファイルが保存されており、プログラムの検証が厳格でないため、木馬プログラムがアップロードされると、サイトが黒くなります.以下のルールは、自分の状況に応じて自分のディレクトリに変更してください.禁止するスクリプト接尾辞も自分で追加できます.
#uploads|templets|data         PHP
location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
    return 444;
}

IPまたはIPセグメントをブロック
ウェブサイトが悪意のある灌水またはCC攻撃を受けた場合、ウェブサイトのログから特徴IPを分析し、そのIPまたはIPセグメントを遮蔽することができる.
#  192.168.5.23  IP
deny 192.168.5.23;
#  192.168.5.*    
denu 192.168.5.0/24;

その他の説明
再度、nginx構成を変更する前に必ずバックアップを行い、変更が完了したらnginxを再ロードする必要があります.そうしないと有効になりません.
上記のルールの大部分は、444ステータスコードがnginxにおいて特別な意味を有するため、444ではなく403ステータスコードを返す.nginxの444ステータスは、サーバによって直接接続が中断され、クライアントに403を返すよりも暴力的なメッセージを返すことはありません.不足があれば補足と指摘をお願いします.
転載先:Nginxはよく使う遮蔽規則、ウェブサイトを更に安全にさせます