CentOS 7でWebサーバーを構築するためのネットワークセキュリティ強化手法

WBOY
リリース: 2023-08-05 13:12:26
オリジナル
850 人が閲覧しました

CentOS 7 で Web サーバーを構築するためのネットワーク セキュリティ強化テクニック

Web サーバーは現代のインターネットの重要な部分であるため、Web サーバーのセキュリティを保護することは非常に重要です。ネットワーク セキュリティを強化することで、リスクを軽減し、潜在的な攻撃を回避できます。この記事では、CentOS 7 で Web サーバーを構築するときに一般的に使用されるネットワーク セキュリティ強化手法を紹介し、対応するコード例を示します。

  1. システムとソフトウェアを更新する
    まず、システムとソフトウェアが最新であることを確認します。次のコマンドを使用して、CentOS 7 のソフトウェア パッケージを更新できます。
sudo yum update
ログイン後にコピー
  1. 不要なサービスをオフにする
    システムのセキュリティを向上させるために、いくつかの不要なサービスをオフにする必要があります。オフ。次のコマンドを使用して、現在インストールされているサービスを表示できます。
sudo systemctl list-unit-files --type=service | grep enabled
ログイン後にコピー

必要に応じて、次のコマンドを使用して、対応するサービスを停止および無効にすることができます。たとえば、FTP サーバーを使用する必要がない場合は、vsftpd を停止して無効にすることができます。

sudo systemctl stop vsftpd
sudo systemctl disable vsftpd
ログイン後にコピー
  1. ファイアウォールの構成
    ファイアウォールの構成は、Web を保護するための重要な手段の 1 つです。サーバ。 CentOS 7 では、firewalld を使用してファイアウォールを管理できます。一般的に使用されるファイアウォール ルールの一部を次に示します。

サーバーへの HTTP および HTTPS トラフィックを許可する:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
ログイン後にコピー

サーバーへの SSH 接続を許可する:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
ログイン後にコピー

数を制限する受信接続の数:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" limit value="5/m" accept'
sudo firewall-cmd --reload
ログイン後にコピー
  1. HTTPS を使用して通信を暗号化する
    HTTPS は、SSL または TLS 暗号化メカニズムを使用して Web サーバーとクライアント間の通信を保護するセキュリティ プロトコルです。 Certbot ツールを使用すると、Web サイトの SSL 証明書を自動的に生成および構成できます。以下は、CentOS 7 に Certbot をインストールして構成するためのサンプル コマンドです:

まず、Certbot と Certbot Nginx プラグインをインストールします:

sudo yum install certbot python2-certbot-nginx
ログイン後にコピー

次に、Web サイトの SSL を有効にします:

sudo certbot --nginx
ログイン後にコピー
  1. Web アプリケーション ファイアウォールのインストールと構成
    Web アプリケーション ファイアウォール (WAF) は、Web アプリケーションに対する攻撃を検出してブロックできます。 CentOS 7 では、ModSecurity が一般的に使用される WAF ツールです。以下は、CentOS 7 に ModSecurity をインストールして構成するためのサンプル コマンドです:

まず、ModSecurity モジュールと Nginx モジュールをインストールします:

sudo yum install mod_security mod_security_crs nginx-mod-http-modsecurity
ログイン後にコピー

次に、ModSecurity を有効にします:

sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/httpd/conf.d/mod_security.conf
ログイン後にコピー

最後に、Nginx を再起動します。

sudo systemctl restart nginx
ログイン後にコピー
ログイン後にコピー
  1. ログイン保護の設定
    Web サーバーのログイン ページを保護するために、ログイン ページにアクセスする IP アドレスを制限できます。以下は、Nginx を使用してログイン保護を構成するサンプル コードです:

Nginx 構成ファイルを編集します:

sudo nano /etc/nginx/nginx.conf
ログイン後にコピー

「http」ブロックに次のコードを追加します:

map $remote_addr $limited_access {
    192.168.1.1     '';
    10.0.0.0/24     '';
    default         1;
}

server {
    ...
    location /login {
        deny all;
        allow $limited_access;
        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
ログイン後にコピー

プロファイルを保存して終了します。次に、ログイン認証用のユーザー名とパスワードを作成します:

sudo htpasswd -c /etc/nginx/.htpasswd username
ログイン後にコピー

最後に、Nginx を再起動します:

sudo systemctl restart nginx
ログイン後にコピー
ログイン後にコピー

この記事では、CentOS 7 で Web サーバーを構築するときに一般的に使用されるネットワーク セキュリティ強化テクニックを紹介します。システムとソフトウェアを更新し、不要なサービスをオフにし、ファイアウォールを構成し、HTTPS を使用して通信を暗号化し、Web アプリケーション ファイアウォールをインストールおよび構成し、ログイン保護を構成することにより、Web サーバーのネットワーク セキュリティを向上させることができます。上記のヒントがお役に立てば幸いです。

以上がCentOS 7でWebサーバーを構築するためのネットワークセキュリティ強化手法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!