Asterisk サーバーのセキュリティを確保する ―パート2
著者: Carla Schroder オリジナル版を読む プリンター用 記事を転送
▼2006年8月18日 13:50 付の記事
■海外internet.com発の記事
OpenSSH のセキュリティ確保
パート1では一連のパスワードを変更した。今回は、Asterisk@Home サーバーのセキュリティを確保するのに重要な作業をあとふたつ行う。Web 管理関連のトラフィックをすべて確実に暗号化し、OpenSSH のセキュリティをさらに強化する。
Asterisk@Home は、デフォルトでは OpenSSH がインストレーション後に起動し、root ログインを受け付けるような設定になる。リモートからの root ログインを受け付けるのは、root アカウントに対するブルートフォース アタック(手当たり次第の攻撃)を許す余地を残してしまうため、セキュリティを確立するための最高の手法とは言い難い。
ルーティングできないプライベート IP を使い、評判のファイアウォールに安全に守られているので自分の Asterisk サーバーは心配ない、と思われるならそれも正しい。それなら、インターネットから攻撃される可能性が大幅に減るからだ。
しかし、もしリモートからの攻撃者がファイアウォールをくぐり抜けることができたときのことを考えると、両手を広げてそれを歓迎するよりも、もう少し守りを固めていた方がよいだろう。
また、セキュリティ侵害はその大半が、ハリウッド映画のような外部からの非現実的な侵入でなく、内部の犯行であることも忘れてはならない。
OpenSSH の安全性を高める方法はふたつある。簡単なのは、Asterisk サーバー上で特権を持たない普通のユーザーを作成し、このアカウントを使ってリモートログインを行い、リモートからの root ログインを無効にする方法だ。
この設定を行うには、LAN 上にある別の PC からサーバーにログインし、好きな名前で以下のユーザーを作成する。
carla@windbag:~$ ssh root@192.168.1.25
Last login: Tue Apr 25 13:13:35 2006 from 192.168.1.10
Welcome to Asterisk@Home
-------------------------------------------------
For access to the Asterisk@Home web GUI use this URL
http://
For help on Asterisk@Home commands you can use from this
command shell type help-aah.
[root@asterisk1 ~]# useradd freduser
[root@asterisk1 ~]# passwd freduser
Changing password for user freduser.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@asterisk1 ~]#
ここで root ログインを終了し、新しいユーザーとしてログインし直す。
[root@asterisk1 ~]# exit
Connection to 192.168.1.25 closed.
carla@windbag:~$ ssh freduser@192.168.1.25
ログインしたら、su(スイッチユーザー)コマンドを使って root になる。
[freduser@asterisk1 ~]$ su
Password:
[root@asterisk1 freduser]#
これでバッチリだ。次に/etc/ssh/sshd_configを開き、以下の行を追加する。
[root@asterisk1 freduser]# nano /etc/ssh/sshd_config
PermitRootLogin No
AllowUsers freduser
Protocol 2
ここで OpenSSH を再起動する。
[root@asterisk1 freduser]# /etc/init.d/sshd restart
AllowUsers ディレクティブは、LAN 上の任意のリモートホストから柔軟にログインできるようにしたまま、不正使用者や、ほかの Asterisk システムアカウントに対するブルートフォース アタックを阻止するのに最適な方法だ。
OpenSSH は、1と2のふたつの ssh プロトコルを利用する。ssh1 は時代遅れでセキュリティが弱いため、SSH セッションは Protocol 2だけに絞ることが重要だ。
これで SSH ログインは2段階のプロセスになる。これはやや不便だが、セキュリティは大幅に高まる。この「一般ユーザー」にはサーバー上で何かをするような権限はないため、攻撃者がこのユーザーのアカウントに対するクラックに成功しても、root ユーザーに権限を引き上げない限り、攻撃者が何らかのダメージを与えることはできない。これは「権限の段階的拡大」と呼ばれる。
権限の段階的拡大は、Linux へ侵入しようとするときの基本的な戦法となっている。攻撃者は root 権限を取得しない限りシステムファイルに触れることができないためだ。
Linux/UNIX の管理者が、「root アカウントでは本当にどうしても必要なこと以外は何もするな」と口うるさく言うのはこれが理由だ。強力なパスワードなら有効なので、ユーザーには必ずこれを与えることだ(パスワード管理に関する情報は前回の記事 を参照)。
続きはこちら。
関連テーマ 暗号化
Unix
|