centosでrootログインを禁止にする。

Tux

Linuxサーバを構築時、はじめにやるべきこととして

rootでのログインを無効にする。」ということがあります。

なぜ必要かというと、悪意のある第3者にサーバを乗っ取られる危険があるからです。

私は、かつて社会人になって2・3年経った頃に外部公開用のSubversionサーバの

構築を上司より命じられました。その頃の私はLinuxについての知識が非常に乏しく

初心者に毛が生えた程度でした。

そのため、OSのインストール、Subversionのインストール設定はなんとかできたものの

セキュリティ対策ができておりませんでした。

案の定、svnというユーザのパスワードを敗られ(パスワード:svn ←危険すぎますね。(–;))

svnユーザを乗っ取られてしまいました。(乗っ取ったのは、海外のやつでしたね。。)

幸いrootを乗っ取られることも、テスト段階だったため情報の漏えいもなく、踏み台にもされませんでした。

↑運が良かった。(^^;

※以下のようにランダムなユーザーを指定して、パスワードを破ろうとしてきます。ユーザoracleを指定してますね。

これでパスワードがoracleとかだったら、簡単に破られます。/var/log/secureにログが残りますので、見てみてください。

いかに簡単なパスワードが設定されていると危険かが分かると思います。

Dec 30 02:24:53 www******* sshd[10055]: Received disconnect from ***.***.***.***: 11: Bye Bye
Dec 30 02:24:54 www******* sshd[10056]: Invalid user oracle from ***.***.***.***
Dec 30 02:24:54 www******* sshd[10057]: input_userauth_request: invalid user oracle
Dec 30 02:24:54 www******* sshd[10057]: Received disconnect from ***.***.***.***: 11: Bye Bye
Dec 30 02:24:56 www******* sshd[10059]: Received disconnect from ***.***.***.***: 11: Bye Bye

そこですぐにセキュリティ対策として

①rootでのログインを無効にすること②パスワード認証を禁止する対策をしました。

今日は、①のrootでのログインを無効にする手順をご紹介します。

手順(rootでの操作を前提としています。)

1.オペレーション用のユーザーを作成する。

※Linuxではroot(管理者権限)でのオペレーションは推奨されていないため。

(1)ユーザーの作成

# adduser ユーザー名

(2)パスワード設定

# passwd ユーザー名

→パスワードを入力する。※複雑なパスワードにすること。

2.ログイン認証用の設定ファイルを変更する。

(1)ファイル: /etc/ssh/sshd_config
の以下項目を修正する。

>>rootでのログインを禁止する。
#PermitRootLogin yes
↓
PermitRootLogin no
コメントを外し、no に変更。

>>空パスワードを禁止する。←rootでのログインと関係ありませんが、
危険なのでやっといた方が良いです。
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no
コメントを外す。

3.設定ファイルの内容を有効にする。

(1)OpenSSHを再起動する。
# service sshd restart

以上でrootでのログインが禁止されました。

意外と簡単ですね。

スポンサードリンク

SNSでもご購読できます。

コメントを残す

*


*