2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

Linuxで直接rootでのログインを禁止にして、SSHログインをセキュアにする

Last updated at Posted at 2023-07-12

はじめに

別部署のユーザーから「開発用Linux端末のあるログを採取して欲しい。Linuxはわかんないので」と依頼された際に「じゃあ、ログイン情報と鍵ファイルをください」とお願いしたところ、そのまま直でrootログイン情報を渡されたんですよ。
思わず、「ちょっと待てい!」ってなりましたので、ユーザーさんにはrootログインの禁止方法をお教えいたしました。

なぜ直接sshでrootログインは危険なのか

言わずもがなですが、rootは管理者ユーザーであり、Linuxにおける最上位の権限を持っています。
ですので管理者権限を悪意を持った存在に盗られると、もうおしまいです。
となると、不正アクセスを狙うクラッカーもrootでのログインをしたがりますよね。
rootというログインユーザー名は共通して存在するので狙われやすいです。クラッカーがsshで不正ログインを試みる際はまずrootを狙う可能性が高いでしょう。

仮に一般ユーザーで不正ログインされた場合でも、その一般ユーザーがsudo権限を持っていなければ被害は少なく済む可能性があります。

職場などでは管理者権限とログオンユーザーが統合されたWindowsPCがだいたいひとり1台があてがわれますし、普段からサーバーを触っていないと、一般ユーザーと管理者ユーザーを分ける考え方は馴染みが薄くなるのかもしれません。

環境

Ubuntu 20.04 LTS
今回はこの環境で行います。

ssh で直接 root へのログインを禁止する

では早速rootのsshを禁止して行きます。が、まずはその前に他のユーザーを作成して、sshできることをしっかり確認しておきましょう。
もし他のユーザーを作成しないでrootのsshを禁止してしまうとサーバーにアクセスできるユーザーがいなくなってしまいます。(シングルユーザーモードといった面倒な手法を取るハメになります)

  • sshログインに関する設定は/etc/ssh/sshd_configで行います。
    configファイルを変更する前に、念のためにファイルをバックアップしておきましょう。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_org
  • バックアップができたら、次にファイルを編集します。
    vimを使ってますが、エディタは好みでどうぞ。
sudo vim /etc/ssh/sshd_config
  • 36行目あたりにPermitRootLoginという記述があります。(環境によって異なっている可能があります)
    コメントアウトされていたら、外してください。
    yesという記述をnoに書き換えてください。
PermitRootLogin no
  • sshプロセスを再起動させて、変更した設定を反映させてください。
systemctl restart sshd
  • rootでのsshログインを試行してみて、Permission denied, please try againと表示されるなどして接続できなかったら有効です。
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?