INDEX
目的
最低限のセキュリティを考慮して、下記要件のユーザーを作成します。
- rootではなく一般ユーザーを作成し、sudoで管理コマンドを実行します。
- rootに昇格できるユーザーを限定します。
- リモートログインは一般ユーザーのみとします。
- リモートログインはSSH公開キー認証とします。
ユーザーの作成
ユーザーを作成してwheelグループに追加します。
このwheelグループのユーザーを、後の作業でrootに昇格できるユーザーとします。
# useradd [ユーザー名] # passwd [ユーザー名] # usermod -G wheel [ユーザー名]
ユーザーの公開鍵と秘密鍵の作成
teraTermの
メニュー>設定>SSH鍵生成
より公開鍵と秘密鍵を作成してください。
作成した公開鍵をサーバーに配置
・作成したユーザーに変更 # su [ユーザー名] $ cd /home/[ユーザー名]/ $ mkdir .ssh $ chmod 700 .ssh $ cd .ssh ・teraTermで作成した公開鍵を.ssh配下に配置する。 ファイル名はauthorized_keysとする。 $ vi authorized_keys ⇒ここに公開鍵テキストの中身を貼り付け [ユーザー名]による読み取り専用にする。 $ chmod 600 authorized_keys
SSH公開キー認証の設定
sshd_configを編集する
# vi /etc/ssh/sshd_config ・RSA公開鍵認証の有効化 RSAAuthentication yes ・公開鍵認証を有効化 PubkeyAuthentication yes ・公開鍵の場所を指定(%hはホーム) AuthorizedKeysFile %h/.ssh/authorized_keys ・パスワードでのログインを禁止(鍵方式でのみログイン許可) PasswordAuthentication no ・sshd_configの文法チェック # /usr/sbin/sshd -t ・sshdの再起動 # service sshd restart
rootに昇格可能ユーザーを制限
suコマンドでrootになれるアカウントを制限します。
rootになれるのはWHEELグループのユーザーのみにします。
# vi /etc/login.defs 下記行を最後に追加 SU_WHEEL_ONLY yes
# vi /etc/pam.d/su 下記行を追加(コメントアウト) auth required /lib/security/pam_wheel.so use_uid group=wheel
追加ユーザーにsudoの設定
# visudo # 以下の行のコメントを外す %wheel ALL=(ALL) ALL <補足> ## Allows people in group wheel to run all commands # %wheel ALL=(ALL) ALL ←こちらをコメントアウトすること。 ## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL ←こちらはパスワードが不要でsudoができる。。意味がないのでダメ。
rootアカウントでのリモートログインの不許可
# vi /etc/ssh/sshd_config ・変更 PermitRootLogin yes ↓ PermitRootLogin no