Help us understand the problem. What is going on with this article?

sudoは止めよう!

はじめに

sudoとはrootでない一般ユーザーがsu commandを実行しなくても1 commandだけroot権限で実行できる便利なcommandです。
しかし危険です。理由を説明してsudoを無効にする方法。sudoを無効にした場合代替オペレーションを解説します。

sudoの挙動について理解し、範囲を限定して設定している方には馬の耳に念仏なので読み飛ばしてください。

2段階認証方式

Loginにはpasswordが必要です。sshできるLinuxマシンはpasswd一枚で外界から保護されてます。でもpasswdはとっても脆弱です。どんなpasswdを設定しようと現代の技術をもってすれば必ずクラックされます。
しかし2段階認証ではどうでしょう。passwdをクラックしてから実際にログインして、もう一度別のパスワードでsuしなければいけない認証です。
建物の入り口のカギを開け、更に制御室の入り口にもドアがあって別の鍵がかかっている状態を想像するとわかりやすいと思います。

root loginを禁止する

security確保するため大抵は外部からrootがssh loginできないように設定します。

/etc/ssh/sshd_config:
PermitRootLogin no

の設定がそれです。

ドア一枚に戻す

よくできたシステムですね。でも考えてもて下さい、sudoを実行するときrootのpasswdは必要ですか?要りませんね。

/etc/sudoers.d/*
/etc/sudoers

に書いてあるuserはpasswdなしにsudoを実行できます。
2重だった入り口のドアを1枚はずしてしまったのと同じです。sudoersの設定は、PermitRootLogin yesにしておくのと同程度、systemを弱くしてしまいます。

安全対策

2重ドアに戻すのは簡単です。sudoersに一人もユーザーを設定しなければよいのです。
そんなことしたら
「マシン管理ができない!」
悲鳴が聞こえそうですね。
私がunixを覚えたころ、sudoはありませんでした。sudoは後からできた危険極まりない悪commandで、なくてもsystem管理には何ら支障はありません。

sudoをはずす手段

まずroot passwdを変えます。sudoだけ使っていればroot passwdを知らないってこともあるのではないでしょうか?

sudo passwd root

sudo最後のお仕事です。まさか"1234"なんて設定しませんよね。しっかり8文字以上英文字記号数字の混じったのをお願いします。金庫の鍵なんです。

su
cd /etc/sudoers.d
rm *

マシン管理の代替オペレーション

今既にやりました。

su
Password: <root_pass>

と、rootになる必要があるときだけrootになればよいのです。

その他のトラップ

マシンの初期設定は簡単に塞げる危険な罠があります。

  • pi, demo, guest, test, nanoといった簡単に推測できるuserは消した方が良いです。
  • ftp, sshdのような存在は必要だが、loginしないuserは
su
vipw
ftp:x:1005:1005:,,,:/home/ftp:/bin/false

のようにlogin shellを/bin/falseに設定します。

終わりに

流行の小さなSBCでも、あまり流行ってない小さな小さなSBCでも、ネットに繋いだらクラッカーはやってきます。
小さいから対策も小さくて済む『わけがない!』のです。しっかり対策してください。

Raspberry Pi入門本を見て驚きました。
どれもがpiでloginしてsudoで設定をしているのです。
最初にすべきはたとえわからなくたって

sudo passwd root
su
adduser your_name
deluser pi

です。
そのままネットワークにつなげられるデバイスです。
ネットワークセキュリティを考えて著作していただきたい。
初心者は書いてある通りに操作するのです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした