RaspberryPiを初期設定した時に、piユーザーでアクセスして「raspberry」がパスワードになっていますが、コレ脆弱性です。
市販のルーターを購入した時に、デフォルトのユーザーパスワードがセットされている事はよくあることですが、2つの側面からこの事を否定するつもりはありません。
1、新規セットの時に、ログインできる口を作る作業がリテラシーが高くないとできない。
2、初期設定が終わるまでは、簡易ログインでOK(その後このアカウントを削除)
アカウント追加したパスワードログインに失敗
初期設定時に別アカウントを作ってパスワードをセットしようとするが、ログインできません。
$ useradd hoge
$ passed hoge
> *****(password入力)
$ vi /etc/passwd
> ※group-id,user-idを0:0(su権限)に設定
この状態で外部端末から
ssh hoge@192.168.1.**
password : ******
と、アクセスしても、ログインできません。
なんでだ?
原因
外部sshログインでsu権限のユーザーでの直接ログインが禁止
#/etc/ssh/sshd_config
PermitRootLogin without-password
↓
PermitRootLogin yes
$ /etc/init.d/ssh restart
こうすることでroot権限でsshログインできます。
堅牢な設定
しかし、root権限で直接ログインさせるという事は、パスワードが漏れたら即アウトという事になります。
薄くはないが、壁一枚という事がセキュリティとしてよろしくないという事は、よく言われていますが、下記のような事を検討する事で堅牢にするようにしたい。
1. 基本的にroot権限でのログインはせずに、ユーザー権限でログインして、su権限が必要な場合にのみ内部でユーザー切り替えを行う。
デメリット:ユーザー切り替えを行うと、単一ユーザーでの作業履歴が残らない(sudoを使うと解決するが、面倒くさい上に、sudoのセキュリティ問題が発生)
2. パスワードログインを禁止して、鍵ログインのみ有効にする。
デメリット:鍵(ファイル又は内部文字列)が漏れた段階で即アウト
鍵の設定方法はこちら
3. sshアクセスが行えるIPアドレスを制限する。
デメリット:作業エリアが限られるので、柔軟な作業が求められると厳しいが、この中では一番セキュアと思われる。
公開サーバーが前提であれば、3番を基本的に考えたほうがいいでしょう。
対象IPアドレスはローカル環境を許容することで、職場などでは柔軟に対応でき、外部からのアクセスを制限できるというメリットもありますね。
0 件のコメント:
コメントを投稿