SSHでログインできるユーザを制限する方法
翻訳校正:原井彰弘
SSHでログインできるユーザを制限することによって、「力ずくの攻撃」に対処しよう。
OpenSSHスイートはOpenBSDプロジェクトによって開発されているツール群で、実用性の高い有名なプログラムが複数含まれている。しかし、このプロジェクトに含まれているSSH機能は、人気がある上にほぼすべてのOSでサーバとしてもクライアントとしても利用可能なため、格好の攻撃対象となってきた。そのため、それらの攻撃の中でもよくある「力ずくの攻撃」に対処しようと数多くのツールが開発されてきた。
しかしながら、一般的にそのような攻撃は、単なる嫌がらせやログファイルを浪費させる行為に過ぎないことも多い。まずはログインできるユーザを明示的に設定することで、システムの実際の安全性とは関係なく、そのような「力ずくの攻撃」を99パーセント防ぐことが可能なのだ。
設定を行うに当たって最初にすべきことは、どうしても必要な場合を除いて絶対にrootがSSHからログインできないようにすることだ。また、どうしても必要な場合には、常にSSHのキーを用いてログインさせるようにし、決してパスワードによるログインを許可しないことである。この設定を行うには、/etc/ssh/sshd_config(システムによっては/etc/sshd_configの場合もある)を編集して以下の行を追加する。
PermitRootLogin without-password
この設定を行うと、rootのログインは許可されるものの、ログインを行うには適切なSSHのキーが必要とされるようになる。この方法を用いる場合には、キーの一方であるパブリックキーを/root/.ssh/authorized_keysに保存しよう。
続いて、ログイン可能なユーザを明示的に定義する。再びsshd_configファイルを編集し、以下のような行を追加しよう。
AllowUsers root AllowUsers joe
この設定では、SSHを介したログインを認めるユーザとしてrootとjoeのみを指定している。ここで注意して欲しいことは、AllowUsersオプションを一つでも有効にすると、そこに指定されていないユーザは一切ログインできなくなってしまうということだ。つまり、PermitRootLoginが設定されていたとしても、「AllowUsers root」を設定せずに「AllowUsers joe」だけを設定してしまった場合は、正しいキーを用いてもrootはログインできなくなってしまうのである。この設定の一覧を念入りに確認し、システムへアクセスする必要がなくなったユーザが削除されていることを確認して欲しい。
- コメント(1件)
- 昨日のトップ記事
- 3日前
- 4日前
- 5日前
- 6日前
- ホワイトペーパー
- 読者投票
- 話題のタグ
フォトレポート:世界各国の優秀な技術者がパリに集結--Imagine Cup 2008世界大会
バッチ処理でデータベース活用:4つの課題と5つの解決ポイント
Rubyでどう書く?:RubyでWord文書を作成する
Adobe Acrobat 9--音声やクイズを埋め込んでeラーニング
ウェブ制作者が仲間と幸せに仕事をする方法:仲間との出会い
Excelで多用する雑多な操作を素早く片付けるための10のティップス(前編)
開発者のFirefox 3:非互換のアドオンをインストール
今知るべき仮想化情報
DELL連載第4回〜「Microsoft System Center」
Techno Exchange
「未来の、その先」をどう提言していくか
ZDNet Japan Green IT