GNU/Linux >> Linux の 問題 >  >> Linux

RockyLinux8を保護する方法

セキュリティは、実稼働環境で起動するサーバーにとって重要な考慮事項です。 Rocky Linux 8の最新バージョンには、堅牢なセキュリティ機能が備わっています。ただし、すべてがアクティブであるか、デフォルトで適切に構成されているわけではないため、新規インストールは常にハッキングや侵入攻撃に対して脆弱です。

このガイドでは、初期設定と基本的なサーバー強化のためにサーバーで実行するいくつかの重要なタスクについて説明します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいRockyLinux8サーバー
  • サーバーで構成されているrootパスワード

ステップ1–サーバーを更新する

開始する前に、SSHまたは次の場所にあるVNCコンソールを介してRocky Linux8サーバーにログインします:https://cloud.atlantic.net/

ログイン後、サーバーに最新のセキュリティパッチとアップデートをインストールする必要があります。次のコマンドを実行して更新します。

dnf update -y

Atlantic.Netサーバーは、不要なパッケージがインストールされて未使用のままになるのを防ぐために、最小限のインストールとしてセットアップされています。次のコマンドを実行して、いくつかの基本的なソフトウェアパッケージをインストールできます。

dnf install wget git curl bind-utils tree net-tools -y

ステップ2–デフォルトのrootパスワードを変更する

新しいサーバーを起動すると、サーバーには安全なパスワードが自動的に設定されます。ただし、安全を確保するために、その後60〜90日ごとにrootパスワードを変更することをお勧めします。小文字、大文字、数字を含めて8文字以上のルートパスワードを作成する必要があります。

次のコマンドを使用して、rootパスワードを変更できます。

passwd root

ステップ3–sudo権限を持つ新しいユーザーを作成する

まず、次のコマンドを使用して新しいユーザーを作成します。

adduser user1

次に、次のコマンドを使用してパスワードus​​er1を設定します。

passwd user1

新しいユーザーを作成したら、このユーザーをsudowheelグループに追加する必要があります。 Rocky Linux 8では、それらをsudo Wheelグループに追加すると、自動的にsudo/root権限が割り当てられます。

次のコマンドを実行して、ユーザーをsudowheelグループに追加します。

usermod -aG wheel user1

sudo / root権限を持つユーザーを作成したら、次のコマンドを使用してuser1にログインします。

su - user1

ログインしたら、sudoを使用して次のコマンドを実行します。

sudo dnf update -y

システムを更新するためにuser1パスワードを入力するように求められます。

これにより、sudoユーザーが期待どおりに機能していることが確認されます。

ステップ4–SSH経由のルートログインを無効にする

すべてのタスクを実行するためのsudo/root権限を持つ管理者ユーザーをすでに作成しました。サーバー上でrootユーザーをSSH経由で利用可能で脆弱な状態に保つ必要はないため、SSH経由のrootログインを無効にする必要があります。

次のコマンドを使用して、SSHメイン構成ファイルを編集します。

sudo nano /etc/ssh/sshd_config

次の行を見つけます:

PermitRootLogin yes

次の行に変更します:

PermitRootLogin no

ファイルを保存して閉じてから、SSHサービスを再起動して変更を適用します。

systemctl restart sshd

ステップ5–SSHデフォルトポートの変更

SSHポートを変更するには、SSHメイン構成ファイルを編集します。

sudo nano /etc/ssh/sshd_config

次の行を見つけます:

#Port 22

次の行に変更します:

Port 2020

ファイルを保存して閉じてから、SSHサービスを再起動して変更を適用します。

systemctl restart sshd

これで、次のコマンドを使用して、SSH経由でAtlanticサーバーにリモートでログインできます。

ssh [email protected] -p 2020

ステップ6–ファイアウォールを構成する

firewall-cmd --state

ファイアウォールが実行されていないことがわかります:

not running

ファイアウォールを有効にし、外部アクセスに必要なポートを許可することをお勧めします。

まず、次のコマンドでfirewalldサービスを有効にします。

systemctl start firewalld
systemctl enable firewalld

次に、次のコマンドを使用して、SSHポート2020がファイアウォールを通過できるようにします。

sudo firewall-cmd --permanent --add-port=2020/tcp

次に、firewalldサービスをリロードして、変更を適用します。

sudo firewall-cmd --reload

これで、次のコマンドを使用して、追加されたポートを確認できます。

sudo firewall-cmd --list-ports

次の出力が表示されます。

2020/tcp

サーバーにWebサーバーをインストールして実行している場合、インターネット経由でアクセスするには、ファイアウォールを介したHTTPおよびHTTPSサービスを許可する必要がある場合があります。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

POP3、IMAP、およびSMTPサービスに外部アクセスを許可するには、次のコマンドを実行します。

sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp

ステップ7–時刻同期のためにNTPをインストールする

また、NTPサーバーをインストールして、ネットワークを介してコンピューターの時刻と日付を同期し、コンピューターを正確で最新の状態に保つことをお勧めします。

まず、次のコマンドを使用してNTPサーバーをインストールします。

sudo dnf install chrony -y

NTPサービスをインストールしたら、それを開始し、システムの再起動時に開始できるようにします。

sudo systemctl start chronyd
sudo systemctl enable chronyd

これで、NTPサーバーがインストールされ、NTPサーバーからサーバーの時刻が常に更新されます。

ステップ8–IPv6を無効にする

IPv6を使用していない場合は、セキュリティ上の理由からIPv6を無効にすることをお勧めします。

まず、次のコマンドを使用して、RockyLinux8インストールでIPv6が有効になっているかどうかを確認します。

ip a | grep inet6

IPv6が有効になっている場合は、次の行が表示されます。

    inet6 ::1/128 scope host 
    inet6 fe80::200:d8ff:fe62:817/64 scope link 
    inet6 fe80::200:aff:fe62:817/64 scope link

IPv6を無効にするには、新しい構成ファイルを作成する必要があります。

sudo nano /etc/sysctl.d/70-ipv6.conf

次の行を追加します:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

ファイルを保存して閉じてから、次のコマンドを使用して構成ファイルを再ロードします。

sudo sysctl --load /etc/sysctl.d/70-ipv6.conf

次の出力が表示されます。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

IPv6が無効になっていることを確認するには、次のコマンドを実行します。

ip a | grep inet6

コマンドが何も返さない場合は、すべてのネットワークインターフェイスでIPv6が無効になっていることを確認しています。

ステップ9–スワップスペースを作成する

スワップは、物理RAMメモリの量がいっぱいになったときに使用されるディスク上のスペースです。サーバーのRAMが不足すると、非アクティブなページはすべてRAMからスワップスペースに移動されます。

Atlantic.Netで新しいインスタンスを起動しても、スワップパーティションは作成されません。新しいインスタンスを起動した後、手動でスワップスペースを作成する必要があります。

通常、スワップスペースは既存のRAMの半分にする必要があります。実際のRAMが1GBの場合は、512MBのファイルを作成する必要があります。

まず、次のコマンドを使用して(512MBの)スワップスペースを作成します。

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

出力:

524288+0 records in
524288+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 10.3523 s, 51.9 MB/s

ブロックサイズは、1024 x 512MB=524288の式を使用して計算できます。

スワップスペースを作成したら、次のコマンドでフォーマットします。

sudo mkswap /swapfile

出力:

mkswap: /swapfile: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=8981408a-549d-47aa-a99a-72870b65212d

次に、次のコマンドを使用して/swapfileに適切な権限を設定します。

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

次に、次のコマンドを使用してスワップスペースをアクティブにします。

sudo swapon /swapfile

次に、次のコマンドを使用してスワップスペースを確認します。

swapon -s

出力:

Filename				Type		Size	Used	Priority
/swapfile                              	file    	524284	0	-2

次に、再起動後もアクティブにするために、スワップファイルエントリを/ etc/fstabに追加する必要があります。

nano /etc/fstab

次の行を追加します:

/swapfile              swap   swap     defaults     0 0

ファイルを保存して閉じ、次のコマンドを使用してスワップスペースを確認します。

free -m

次の出力が表示されます。

              total        used        free      shared  buff/cache   available
Mem:           1817         263         100          68        1452        1329
Swap:           511           0         511

結論

上記のガイドでは、RockyLinux8サーバーを保護するためのいくつかの基本的な手順について説明しました。これで、セキュリティで保護された環境で任意のアプリケーションをホストできるようになりました。Atlantic.NetのVPSホスティングアカウントで試してみてください。


Linux
  1. RockyLinux8にGulp.jsをインストールする方法

  2. RockyLinux8でSudoユーザーを作成する方法

  3. Rocky Linux 8 に MariaDB をインストールする方法

  1. RockyLinux8にMariaDB10.6をインストールする方法

  2. RockyLinux8にDockerをインストールする方法

  3. RockyLinux8にコックピットをインストールする方法

  1. RockyLinux8にGitLabをインストールする方法

  2. RockyLinux8にFreeIPAをインストールする方法

  3. RockyLinux8にPodmanをインストールする方法