sshで特定ユーザで直接接続できたりさせないようにする
sshで特定ユーザで直接接続できたりさせないようにする
0.改訂履歴
1.はじめに
このドキュメントでは,sshで接続するユーザを限定する事によって,ブルートフォースアタックを回避する施策を行う手順を説明する. この対策では,辞書に載っているようなアカウントでの接続要求に関して制限できるので,アカウントを作成する際には長い文字列等を駆使して作成するような,日々の運用・認識と一緒に活用する必要がある.
2.特定ユーザを接続できないようにする
- adminユーザアカウントがリモートから接続できないようにする.
[root@jupiter ssh]# tail -n 10 /etc/ssh/sshd_config
# no default banner path
Banner /etc/banner.txt
#VerifyReverseMapping no
#ShowPatchLevel no
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
#Allow Remote connection user
DenyUsers admin
[root@jupiter ssh]#
|
- 設定ファイルを変更したら,sshdをリスタートする.
[root@jupiter root]# /etc/init.d/sshd restart
sshdを停止中: [ OK ]
sshdを起動中: [ OK ]
[root@jupiter root]# /etc/init.d/sshd status
sshd (pid 2953 2833 2563 2561) を実行中...
[root@jupiter root]#
|
iMacG5:~ shinnai$ ssh -l admin jupiter.ujp.jp
############
I'am jupiter
############
admin@jupiter.ujp.jp
's password: ■■■■■
Permission denied, please try again.
admin@jupiter.ujp.jp
's password: ■■■■■
Permission denied, please try again.
admin@jupiter.ujp.jp
's password: ■■■■■
Permission denied (publickey,password,keyboard-interactive).
iMacG5:~ shinnai$
|
- 接続ができなかった.
- なお,rootユーザと違い,Permission deniedと表示されるまでにレスポンスタイムにあえてタイムラグを発生させているようなので,少し(数秒)待つ必要がある.
- この場合,直接アクセスできないと指定されているユーザ以外は,接続できる.
3.特定ユーザだけ接続できるようにする.
[root@jupiter ssh]# tail -n 10 /etc/ssh/sshd_config
Banner /etc/banner.txt
#VerifyReverseMapping no
#ShowPatchLevel no
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
#Allow Remote connection user
#DenyUsers admin
AllowUsers admin
[root@jupiter ssh]#
|
- 設定ファイルを変更したら,sshdをリスタートする.
[root@jupiter root]# /etc/init.d/sshd restart
sshdを停止中: [ OK ]
sshdを起動中: [ OK ]
[root@jupiter root]# /etc/init.d/sshd status
sshd (pid 2953 2833 2563 2561) を実行中...
[root@jupiter root]#
|
- AllowUsersに登録していないユーザで接続してみる.
iMacG5:~ shinnai$ ssh -l shinnai jupiter.ujp.jp
############
I'am jupiter
############
shinnai@jupiter.ujp.jp's password: ■■■■■
Permission denied, please try again.
shinnai@jupiter.ujp.jp's password: ■■■■■
Permission denied, please try again.
shinnai@jupiter.ujp.jp's password: ■■■■■
Permission denied (publickey,password,keyboard-interactive).
iMacG5:~ shinnai$
|
- 接続が拒否されている事が確認できた.
- 複数IDを設定する際には,次のように設定する.
[root@jupiter ssh]# tail -n 10 /etc/ssh/sshd_config
Banner /etc/banner.txt
#VerifyReverseMapping no
#ShowPatchLevel no
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
#Allow Remote connection user
DenyUsers admin
AllowUsers shinnai gondawara
[root@jupiter ssh]#
|
- ブランクで設定すれば良い.
- あるいは,AllowGroupsでグループ設定も可能.