SSH2に対応
ふとしたことで
http://sleep.mat-yan.jp/~yutaka/windows/index.html
SSH2対応バージョンが出ていることを知る(遅いって)。
ここ最近ログを見てるとSSHでの攻撃がやたら多いのが気になっていたのでこの際SSH2に対応しよう、と。
上記URIから頂いてきまして(寺西さんが開発しているわけではないらしい)使ってみた。
TeraTermに最初からSSH2が組み込まれているUTF-8バージョンを使ってみる。最初から組み込まれているから便利。
いいね、いいねと使っていたのだがRSAキーが使えないことに気づいた。グレーアウトしてしまう。
あれ?と思い制限事項をよく読むとどうもまだ対応してないらしい、うーむ、残念。この際だからより強固にしたいと思っていたから。
そういえば、PortForwaderはどうなったかなー?
http://www.fuji-climb.org/pf/JP/
に訪れてみるとおお、対応版が出ているではないか。日本語の説明は旧バージョンのままらしいが、感謝。
サーバ上で
$ssh-keygen -t rsa
なぞしてまずキーをつくる。(推奨されることではないと思うけど、このときノンパスでつくるとPortForwaderでのパスワード入力が必要なくなるらしい)
出来上がった公開鍵はauthorized_keys2というファイルに登録する。
秘密鍵のほうはWinパソコンに転送したらサーバ上から削除。転送するとき一度tarで固めて転送した。そうしないとキーが壊れてしまった。
さてこの秘密鍵をPortForwaderで使うには一度puTTY形式に直してあげなければいけないらしい。puTTYgen.exeを
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
から貰ってきた。
細かいところは
http://www.sea-bird.org/doc/Qube3J/OpenSSL_SSH_SSH2.html
を参考にして(非常にわかりやすくまとまってます、感謝)、id_rsa.ppkというファイルを作る(要は一度サーバで作った秘密鍵をLoadしてSavePrivateKeyを押すだけ)。
このid_rsa.ppkをPortForwaderのフォルダに移動し接続をかけるとサーバ上でのログも
$ sshd[26436]: Accepted publickey for ....
となって無事秘密鍵での認証を使って接続できていることがわかった。
当然サーバ上は
Protocol 2
PasswordAuthentication no
を設定してそれ以外の接続を受け付けないようにした。
しかし、本日ログを見ると相変わらずアタックは来ている(当たり前か)。
以前より執拗ではなくなっているけど。
その前の段階で対処しないとだめかな、やっぱ。うーーん。
test,user,data,www,master,mysql,webmaster,backupそんなユーザはつくっちゃだめだね。loroとかcyrusなんていうのもあってこうなってくると「なんで?」と思うのだが。oracle,sybaseなんていうのもあってちょっと恐ろしい。そんなサイトがノンパスだったりするのだろうか?
少なからずいくつかのサイトでは成功してるのでしょうね、これ。