RaspberryPiのssh設定(セキュリティの考え方)

2015年12月27日

RaspberryPi テクノロジー 日記

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アドレスはローカル環境を許容することで、職場などでは柔軟に対応でき、外部からのアクセスを制限できるというメリットもありますね。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。