目次
rootで直接ログインできないように設定
LinuxやUnix系OSならrootユーザーが存在していることは明らか。
rootでsshできるなんて気持ち悪すぎなんです。
パスワード認証が許されていれば、総当たり攻撃(ブルートフォースアタック)の餌食になりますよ。
デフォルト設定では、ログインしやすいようにセキュリティの強度が下げてあります。
ssh設定内容の確認
rootでのsshログインがどのように設定されているのか確認してみましょう。
su設定ファイルを確認するためにはroot権限が必要です。
sshd -T | grep permitrootloginRHEL8やCentOS8の結果
RHEL8やCentOS8までのバージョンではこのように表示されると思います。
permitrootlogin yesrootでのパスワード認証がデフォルトで許可されています。
DebianやUbuntu、RHEL9の結果
permitrootlogin prohibit-password通常のパスワード認証は拒否されますが、公開鍵認証は許可されます。
rootによるsshログインを停止する設定
パスワード認証よりは安全、rootのsshを拒否することでより安全にします。
cd /etc/sshcpコマンドでsshd_configファイルをsshd_config.orgとしてバックアップします。
cp -p sshd_config sshd_config.orgviでsshd_configを編集します。
vi sshd_configviのコマンドモード(escキーを押せばコマンドモード)で /PermitRootLogin でキーワード検索。
PermitRootLogin no行頭の#を削除し「PermitRootLogin no」と書き換えます。
sudoできるユーザーを登録
今後は一般ユーザーでsshログインをして、管理者権限が必要な時はsudoします。
CentOSの場合は以下を参照してください。
usermodでsudoユーザーを登録
usermod -G sudo USER_NAMEユーザーがsudoできるか確認
su - USER_NAMErootから一般ユーザーになって、sudoします。
sudo -sプロンプトが「#」に変われば管理者権限になったということです。
sshdの再起動
sshdを再起動すれば設定が反映されます。
service sshd restartsshdプロセスの確認
再起動後はプロセスが起動しているか必ず確認しましょう。
ps aux | grep sshd起動していれば以下のように表示されます。
root     2183431  0.0  0.2  12176  2912 ?        Ss   Dec19   0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root     2192372  0.0  0.8  13828  8740 ?        Ss   09:59   0:00 sshd: USER_ID [priv]
USER_ID  2192510  0.0  0.5  13972  5960 ?        S    10:00   0:00 sshd: USER_ID@pts/0sshログインの確認
もう一つ重要なのがsshログインチェックです。
今ログインしているターミナルはそのままの状態にして、別のターミナル起動してログイン確認をします。
- rootログインが無効化されている
 - 一般ユーザーでログイン
 - sudoで管理者権限になれるか
 
意図した設定になっているか必ず確認してください。
次に行うべき設定
rootのログインをできなくした後は、sshログインできるIPアドレスを絞ります。
      
      
      
      
コメント