Linuxサーバー強化: コマンドからセキュリティ設定を実施
Linuxサーバーのセキュリティ設定を強化するために役立つ一般的なコマンドを以下に示します。
- ファイアウォールをインストールし、ルールを設定する:
- Ubuntu/Debian:sudo apt-get install ufwでインストールし、sudo ufw enableでファイアウォールを有効化します。sudo ufw allow <ポート番号>で例えばSSHアクセスならsudo ufw allow sshで特定ポートのアクセスを許可します。
- CentOS/RHEL:sudo yum install firewalld でファイアウォールをインストール後、sudo systemctl enable firewalld で有効化。sudo firewall-cmd –zone=public –add-port=/tcp –permanent で任意のポートへのアクセスを許可。
- 不要なサービスを無効にする
- sudo systemctl list-unit-files –type=serviceでサービス一覧を表示する。不要なサービスは、sudo systemctl disable <サービス>で無効化し、sudo systemctl disable telnetのように、Telnetサービスを無効化できる。
- SSHの設定
- SSHの構成ファイルの編集:sudo nano /etc/ssh/sshd_config
- PermitRootLoginを「no」に設定して、rootログインを無効化する。
- パスワード認証禁止:PasswordAuthenticationをnoに設定する。
- SSHサービスを再起動:sudo systemctl restart sshd
- ソフトウェアパッケージの更新
- Ubuntu/Debian: sudo apt-get update && sudo apt-get upgrade
- CentOS/RHEL:sudo yum update
- ログイン制限を設定:
- ログイン制限設定ファイルの編集:sudo nano /etc/login.defs
- PASS_MAX_DAYSおよびPASS_MIN_DAYSを変更してパスワード変更間隔を制限します。
- PASS_WARN_AGEを修正して、パスワードの有効期限切れ警告の日数を設定します。
- SELinux の有効化(CentOS/RHEL の場合)
- SELinuxの設定ファイルを編集するには、sudo nano /etc/selinux/config で編集します。
- SELINUXをenforcingに設定する。
- 変更を適用するにはシステムを再起動してください。
- fail2banのインストールと設定をする
- Ubuntu/Debian:sudo apt-get install fail2ban
- CentOS / RHEL:sudo yum install epel-release を実行してから sudo yum install fail2ban を実行します。
- ネイティブの構成ファイルの編集:sudo nano /etc/fail2ban/jail.local
- 一般的な攻撃から保護するためにFail2banを設定しましょう。例えばSSHブルートフォースなど。
これらのコマンドはLinuxサーバのセキュリティを強化し、保護機能を向上させるのに役立ちます。セキュリティ設定を行う際は、念のためサーバデータをバックアップしておくことをお勧めします。