[投稿]Linuxサーバのセキュリティ強化の7つのステップ
9367 ワード
Linuxサーバのセキュリティ強化の7つのステップ
https://linux.cn/article-11444-1.html
作成者:
パトリックH.Mullins訳者:LCTT Xingyu.Wang
|2019-10-11 09:41コレクション:1
7つの簡単な手順でLinuxサーバを強化します.
この入門記事では、基本的なLinuxサーバのセキュリティに関する知識を紹介します.主にDebian/Ubuntu向けですが、ここで紹介したすべての内容を他のLinuxリリースに適用できます.私もあなたにこの材料を研究することを奨励して、そして適用する情況の下で拡張します.
1、サーバーの更新
サーバのセキュリティを保護する最初のことは、ローカル・リポジトリを更新し、最新のパッチを適用することで、OSとインストールされているアプリケーションをアップグレードすることです.
UbuntuとDebianで:
$ sudo apt update && sudo apt upgrade -y
Fedora、CentOSまたはRHEL:
$ sudo dnf upgrade
2、新しい特権ユーザーを作成する
次に、新しいユーザーアカウントを作成します.rootとしてサーバにログインするのではなく、自分のアカウント(ユーザー)を作成し、
sudo
の権限を与え、サーバにログインします.まず新しいユーザーを作成します.
$ adduser <username>
sudo
グループ(-G
)をユーザーのグループメンバーシップに追加(-a
)することで、新しいユーザーアカウントsudo
に権限を付与します.$ usermod -a -G sudo <username>
3、SSHキーをアップロードする
SSHキーを使用して新しいサーバにログインする必要があります.
ssh-copy-id
コマンドを使用して、事前に生成されたSSHキーを新しいサーバにアップロードできます.$ ssh-copy-id <username>@ip_address
パスワードを入力することなく、新しいサーバにログインできます.
4、安全強化SSH
次に、次の3つの変更を行います.
/etc/ssh/sshd_config
を開き、次のことを確認します.PasswordAuthentication yes
PermitRootLogin yes
次のように変更します.
PasswordAuthentication no
PermitRootLogin no
次に、
AddressFamily
オプションを変更することによって、SSHサービスはIPv 4またはIPv 6に制限される.IPv 4のみを使用するように変更するには(ほとんどの人には問題ないはずです)、次のように変更します.AddressFamily inet
SSHサービスを再起動して変更を有効にします.SSHサービスを再起動する前に、サーバと2つのアクティブな接続を確立するのは良いアイデアです.これらの追加の接続により、SSHサービスの再起動にエラーが発生した場合、すべての問題を修正できます.
Ubuntuで:
$ sudo service sshd restart
FedoraまたはCentOSまたはSystemdを使用する任意のシステムでは、
$ sudo systemctl restart sshd
5、ファイアウォールの有効化
ファイアウォールをインストールし、ファイアウォールを有効にし、指定したネットワークトラフィックのみを通過させるように構成する必要があります.(Ubuntu上の)簡単なファイアウォール(UFW)は使いやすいiptablesインタフェースであり、ファイアウォールの構成プロセスを大幅に簡素化することができます.
UFWは以下の方法でインストールできます.
$ sudo apt install ufw
デフォルトでは、UFWはすべての転送接続を拒否し、すべての転送接続を許可します.これは、サーバ上のアプリケーションがインターネットにアクセスできることを意味しますが、サーバにアクセスしようとするコンテンツは接続できません.
まず、SSH、HTTP、HTTPSへのアクセスを有効にしてログインできることを確認します.
$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https
UFWを有効にします.
$ sudo ufw enable
次の方法で、どのようなサービスが許可され、拒否されたかを確認できます.
$ sudo ufw status
UFWを無効にしたい場合は、次のコマンドを入力して無効にできます.
$ sudo ufw disable
また、(RHEL/CentOSで)firewall-cmdを使用することもできます.一部のリリースにインストールされ、統合されています.
6、Fail 2 banのインストール
Fail 2 banは、重複または自動攻撃を検索するためにサーバログをチェックするアプリケーションです.攻撃が見つかった場合、ファイアウォールは、攻撃者のIPアドレスを永続的または指定された時間内にブロックするために変更されます.
次のコマンドを入力してFail 2 banをインストールできます.
$ sudo apt install fail2ban -y
次に、添付のプロファイルをコピーします.
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Fail 2 banの再起動:
$ sudo service fail2ban restart
これでいいです.このソフトウェアは、攻撃を検索するためにログファイルをチェックし続けます.しばらくすると、アプリケーションはかなりのIPアドレスリストを確立します.このリストは、SSHサービスの現在のステータスを次の方法で確認できます.
$ sudo fail2ban-client status ssh
7、不要なネットワークサービスの削除
ほとんどのLinuxサーバオペレーティングシステムでは、ネットワーク向けのサービスが有効になっています.その多くを残したいかもしれませんが、削除したいものがあるかもしれません.
ss
コマンドを使用して、実行中のすべてのネットワーク・サービスを表示できます.$ sudo ss -atpu
ss
の出力は、オペレーティングシステムによって異なります.次の例では、SSH(sshd
)およびNgnix(nginx
)サービスがネットワークをリスニングし、接続を準備していることを示します.tcp LISTEN 0 128 *:http *:* users:(("nginx",pid=22563,fd=7))
tcp LISTEN 0 128 *:ssh *:* users:(("sshd",pid=685,fd=3))
未使用のサービスを削除する方法は、オペレーティングシステムと使用するパッケージマネージャによって異なります.
Debian/Ubuntuで未使用のサービスを削除するには、次の手順に従います.
$ sudo apt purge <service_name>
Red Hat/CentOSで未使用のサービスを削除するには、次の手順に従います.
$ sudo yum remove <service_name>
ss -atup
を再度実行して、未使用のサービスがインストールおよび実行されていないことを確認します.まとめ
このチュートリアルでは、Linuxサーバを強化するために必要な最低限の措置について説明します.サーバの使用方法に応じて、他のセキュリティ・レイヤを有効にする必要があります.これらのセキュリティ層には、各アプリケーション構成、侵入検出ソフトウェア(IDS)、アクセス制御の有効化(例えば、デュアルファクタ認証)などが含まれる.
via: https://opensource.com/article/19/10/linux-server-security
作者:Patrick H.Mullins選題:lujun 9972訳者:wxy校正:wxy