SSHのセキュリティ対策をしよう!
ここでは、rootユーザに切り替わることの出来るユーザを限定する方法と、rootユーザでのSSHによるログインを禁止する手順を掲載しています。
[広告]
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@al9 ~]# usermod -G wheel user ※ご自身の環境に合わせて入力してください
[root@al9 ~]# vi /etc/pam.d/su
#auth required pam_wheel.so use_uid
↓
auth required pam_wheel.so use_uid
sshdの設定
rootでSSHにログイン出来ない設定と、その他いくつかの設定をします。
まずは今の設定を削除してしまいましょう。
[root@al9 ~]# rm -f /etc/ssh/sshd_config.d/01-permitrootlogin.conf
続いて、設定を変更します。
[root@al9 ~]# vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
↓
PermitRootLogin no
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no
sshdの再起動
設定を有効にするために、sshdを再起動します。
[root@al9 ~]# systemctl restart sshd
ここから先、rootでsshにログインすることが出来なくなりました。次にログインするときは一般ユーザで行ってください。
一般ユーザからrootユーザへの切り替え
一般ユーザからrootユーザに切り替える場合、以下ようなコマンドを使います。
[user@al9 ~]$ su
又は
[user@al9 ~]$ su -
この2つの違いは、ユーザに管理者としての権限を与えるか、rootとしてログインし直すかです(厳密に言えばちょっと違いますが、この解釈で十分だと思います)。
"su"ではユーザuserの情報を引き継いで、現在地がuserのホームディレクトリ(/home/user)になっているのに対し、
[user@al9 ~]$ su
[root@al9 user]# pwd
/home/user
"su -"ではrootのホームディレクトリ(/root)になっているのが分かります。
[user@al9 ~]$ su -
[root@al9 ~]# pwd
/root
状況に応じて使い分けができると良いですが、通常は"su -"を使っておけば問題ないと思います。
更にセキュリティを向上したい場合は、公開鍵認証を導入しましょう!
今回新しく登場したコマンド
- usermod
- rm
- su
- pwd
[広告]
トップページ
AlmaLinux 9
○インストール準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○その他