2013年4月26日金曜日

[CentOS] SSHを鍵認証で [セキュリティ]

VMWare上のサーバばかり使っているとセキュリティ意識が薄れてくるよね
だって自分のPCの中だけでやってるので、だれも使うことないし、常にrootでログインして作業してる有様(笑)

なので、実際の運用を想定して、ログイン認証をちょっとばかり硬くしてみようと思う

root ログインを禁止し、作業用ユーザでログインするように設定

・作業用ユーザを作る
# useradd hoge
# passwd hoge

・作成したユーザにwheel グループを設定
# usermod -G wheel hoge

・su できるユーザをwheel グループに制限する
 vi などで /etc/pam.d/su を編集する
この行のコメントをはずす
auth            required        pam_wheel.so use_uid
以下のtrust付き を有効にすると パスワードなしで su できるので注意
#auth sufficient pam_wheel.so trust use_uid

・root でのログインを禁止する
 vi などで /etc/ssh/sshd_config を編集する
この行を no にする
PermitRootLogin no

sshdを再起動して設定を有効にする(これでrootでログインできなくなります)
# service sshd restart

※これにより、ssh ログイン認証と su コマンドの認証で root になるためには2段階必要になるが、さらに、以下で鍵認証でログインするように設定する

パスワードログインを禁止し、鍵認証でログインするように設定

・鍵を作成する
作業用ユーザに変更
# su - hoge
鍵作成
$ ssh-keygen -t rsa
※鍵の保存場所、パスフレーズを尋ねられます

~/.ssh/id_rsa (秘密鍵)と ~/.ssh/id_rsa.pub(公開鍵) が作成される
秘密鍵(id_rsa)はクライアントにダウンロードし、サーバから削除しておく
公開鍵(id_rsa.pub)は以下のようにリネームしておく
$ cd .ssh
$ mv id_rsa.pub authorized_keys

・パスワードでのsshログインを禁止する
※再び root ユーザで作業
 vi などで /etc/ssh/sshd_config を編集する
公開鍵認証を有効にする(自分の環境はこの設定が無くてもデフォルトで公開鍵認証が有効である)
PubkeyAuthentication yes
パスワード認証を禁止する
PasswordAuthentication no


sshdを再起動して設定を有効にする
# service sshd restart


sshクライアントに秘密鍵を設定してログイン確認して終了





0 件のコメント:

コメントを投稿