日本国内からSSH

3:29 pm FreeBSD

最近、海外からのSSHアタックが酷くなってきているように感じます。基本的にSSHアタックされても「maxlogins」で対策を行ってますが、それでも、とっても、 ウザイ!!  です。

なので日本国内からしかSSHアクセスできないように対策してみました。(本当はポート番号を変えたりパスワード認証を完全に禁止するとかすれば問題はなくなると思いますが、そうもいかないのが。。。。以下略)

まずFreeBSDのSSHはTCP Wrapperを用いてアクセス制限を行うことが可能です。よって「/etc/hosts.allow」ファイルに接続許可を行いたいIPアドレスを記載(日本国内からのアクセスに限定)して、それ以外は接続を拒否!!します。

まず、hosts.allowファイルの先頭付近(ALL : ALL : allowより前に記載)に接続したいIPを記載します。

 

sshd : 127.0.0.1 : allow             ← ローカルホストからは接続を常に許可
sshd : 192.168.0.0/255.255.255.0 : allow       ← プライベートIPからは接続を常に許可
sshd : /var/log/maxlogins : deny             ← maxloginsでブロックするIPは拒否する

~ ここに国内のIPアドレスを記載する。 ~

sshd : ALL : deny                                       ← 上記以外のIPからの接続は常に拒否

 

上記の通り設定を行います。ちなにみmaxloginsを国内IPアドレスを上に持ってくることで例え国内からのアクセスでもSSHアタックを行った場合には接続をブロックできるからです。(TCP Wrapperは上からルールセットを検証して、マッチすればそれ以降のルールセットはチェックしないので、優先したいルールセットを上に持ってくるようにします。)設定が完了したら

/etc/rc.d/sshd restart

で念のためSSHを再起動しましょう。以上で国内に払い出されているIPアドレス以外からの接続は出来なくなります。今回の方法以外にはmaxloginsを利用する、ログインできるユーザーを固定するという方法があります。それらの方法はまた今度。

SSHで利用している日本国内IPアドレスを記載したテキストファイル

Linuxなどでも同様に設定できると思います。。。。。。未チェックですが(笑)

Leave a Comment

Your comment

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.