SSHのセキュリティ対策をしよう!
ここでは、rootユーザに切り替わることのできるユーザを限定する方法と、rootユーザでのSSHによるログインを禁止する手順を掲載しています。
※CentOS 5のサポートは2017年3月をもって終了していますが、旧コンテンツとしてこちらのページは残しておきます。
[広告]
SSHとは…?
Linuxをコマンドで遠隔操作する手段としては、主に2つの方法があります。
1つは"Telnet"、もう1つは"Secure SHell(SSH)"です。
Telnetは暗号化をせず、平文(暗号化されていない素のデータ)で通信をするため安全な通信方法とはいえません。最近のディストリビューションでは、標準でTelnetが無効になっていることがほとんどです。
通常はTelnetの代わりにSSHを使います。SSHは通信を暗号化し、セキュリティを高めたものです。
SSHの設定
インストール直後はrootユーザでSSHへのログインが可能になっています。つまり、rootユーザのパスワードがバレてしまうと、簡単にサーバを乗っ取られる可能性が高いわけです。
そこで、一般ユーザでのログインのみを許可し、必要なときだけ一般ユーザからrootユーザに切り替えて使うようにします。
rootに切り替えができるユーザの設定
rootユーザに切り替わることのできるグループをwheelグループといいます。作成済みの一般ユーザをこのwheelグループに追加します。
ここでは"user"という一般ユーザーを作成しているものとして話を進めています。入力するユーザー名はご自身の環境に合わせて入力してください。
また、一般ユーザーを作成していない方はこちらを参考に作成してみましょう。
[root@co5 ~]# usermod -G wheel user ※ご自身の環境に合わせて入力してください
[root@co5 ~]# vi /etc/pam.d/su
#auth required pam_wheel.so use_uid
↓
auth required pam_wheel.so use_uid
sshdの設定
rootでSSHにログインできなくする設定と、その他いくつかの設定をします。
[root@co5 ~]# vi /etc/ssh/sshd_config
#PermitRootLogin yes
↓
PermitRootLogin no
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no
sshdの再起動
設定を有効にするために、sshdを再起動します。
[root@co5 ~]# /etc/init.d/sshd restart
sshd を停止中: [ OK ] sshd を起動中: [ OK ]
ここから先、rootでsshにログインすることが出来なくなりました。次にログインするときは一般ユーザで行ってください。
一般ユーザからrootユーザへの切り替え
一般ユーザからrootユーザに切り替える場合、以下ようなコマンドを使います。
[user@co5 ~]$ su
又は
[user@co5 ~]$ su -
この2つの違いは、ユーザに管理者としての権限を与えるか、rootとしてログインし直すかです(厳密に言えばちょっと違いますが、この解釈で十分だと思います)。
"su"ではユーザuserの情報を引き継いで、現在地がuserのホームディレクトリ(/home/user)になっているのに対し、
[user@co5 ~]$ su
[root@co5 user]# pwd
/home/user
"su -"ではrootのホームディレクトリ(/root)になっているのが分かります。
[user@co5 ~]$ su -
[root@co5 ~]# pwd
/root
状況に応じて使い分けができると良いですが、通常は"su -"を使っておけば問題ないと思います。
次はsshへの不正アクセスを拒否するよう設定をします。
今回新しく登場したコマンド
- usermod
- rm
- su
- pwd
[広告]
トップページ
CentOS 5
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ファイルサーバ
○その他