インターネットの継続的な発展に伴い、Web アプリケーションは多くの人々の日常生活に欠かせないものになりました。ただし、SQL インジェクション、クロスサイト スクリプティングなどのさまざまな Web 攻撃が後続します。これらの攻撃は、重大なセキュリティ問題を引き起こし、Web アプリケーションのセキュリティと安定性を深刻に脅かす可能性があります。こうした問題を解決するために、Nginx ではアプリケーション ファイアウォール モジュール (WAF) が導入されており、この記事では Nginx が WAF モジュールを使用して Web 攻撃をどのように防ぐのかについて詳しく紹介します。
WAFとは何ですか?
アプリケーション ファイアウォールは、SQL インジェクション、XSS 攻撃、CSRF 攻撃などのさまざまな攻撃を防御できる Web アプリケーションのセキュリティ制御デバイスです。 WAF は Web サイトを監視し、正規表現、ルール エンジン、データ署名などのさまざまな手段を通じて攻撃を検出して防御します。 WAF はリクエストを検出することで、リクエストが悪意のあるものであるかどうかを判断し、不正なアクセスを防止し、Web アプリケーションを攻撃から保護します。
WAF が必要な理由?
多くの Web アプリケーションは、SSL、パスワード強度の検証、アクセス制御など、独自のセキュリティを保護するためにさまざまなセキュリティ対策を使用していますが、 Web 攻撃 予測不可能なため、これらの対策は簡単に失敗します。たとえば、SQL インジェクション攻撃は、今日最も一般的な攻撃の 1 つです。攻撃者は、データベースを操作したり機密情報を取得したりするための悪意のあるコードを作成することにより、SQL ステートメントを直接挿入する可能性があります。この場合、WAF を使用すると、Web アプリケーションのセキュリティをより適切に保護し、データベース攻撃や機密情報の盗難を防ぐことができます。
WAF モジュールを使用して Nginx を保護するにはどうすればよいですか?
Nginx はサードパーティ モジュールを導入することで WAF 機能を実装しており、OpenResty、ModSecurity、その他のモジュールの使用を選択できます。以下では、ModSecurity モジュールを例として、WAF モジュールを使用して Nginx を保護する方法を紹介します。
次のコマンドを使用して ModSecurity モジュールをインストールできます:
sudo apt-get install libmodsecurity3 libmodsecurity-dev
インストールが完了したら、Nginx コアに入ります。
location / { # 引入ModSecurity防火墙定义文件 ModSecurityEnabled on; ModSecurityConfig /etc/nginx/modsec/modsecurity.conf; }
次のステップでは、ModSecurity のルールを構成します。既存のルール セットを使用することも選択できます。 OWASP などのルールを使用することも、独自のニーズに応じてカスタム ルールを作成することもできます。 /etc/nginx/modsec フォルダーに新しいルール ファイルを作成できます:
sudo nano /etc/nginx/modsec/modsecurity_custom_rules.conf
ファイルを編集してカスタム ルールを追加します。例:
SecRuleEngine On # 防止SQL注入 SecRule ARGS "@rx ((select|union|insert|update|drop|delete))" "id:1,deny,status:403,msg:'SQL Injection attempt'"
上記の例では、 SQL インジェクション攻撃を防ぐルール。 GET リクエストにキーワード「select」、「union」、「insert」、「update」、「drop」、「delete」が含まれている場合、ModSecurity はリクエストをインターセプトし、アクセスが拒否されたことを示す 403 エラーを送信します。
上記の手順を完了したら、次のコマンドを使用して Nginx サービスを再起動します:
sudo systemctl restart nginx
これで、Nginx はWeb アプリケーションを攻撃から保護するための ModSecurity WAF モジュール。
概要
WAF は、Web 攻撃を防ぐための重要なコンポーネントの 1 つです。高性能 Web サーバーとして、Nginx は WAF モジュールの導入後にセキュリティを向上させるだけでなく、Web アプリケーションに対する Web 攻撃の影響を効果的に軽減できます。ニーズに応じて、ModSecurity、OpenResty などのさまざまな WAF モジュールの使用を選択できます。 WAFを使用する場合は、防御効果を確保するために、実際の状況に応じて関連するルールを構成することに注意する必要があります。
以上がNginx がアプリケーション ファイアウォール モジュール (WAF) を使用して Web 攻撃から保護する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。