GMT+09001ヵ月くらい前から書こう書こうと思ったまま放置してたので書きます。一回作業するときの自分向けメモ。SSHと、そのついでに関連するファイアウォールの設定について。前提クラウドやリモート(AWS等)にsshで接続して作業する前提で記載。2016/10/19以下、ごたごたとファイアウォールのポートの設定をやってますが、そういえばFirewalledでサービス指定(今回の場合はSSH)できたので、ufwでもできるんじゃないかと思ったら、やっぱりできた。UFWの紹介ファイアウォールまず、対象のサーバーにsshで接続し、おもむろにファイアウォールの設定をします。以下、ファイアウォールが稼働していない状態で作業しているものとします。ファイアウォールがすでに稼働している場合は、SSHで接続できてる時点でちゃんとSSHのポートが開いているハズなのでこの項目はどうでもいいはず。Ubuntuではufwというファイアウォールを使用します。ちなみに、これはiptablesを使用しやすくするためのラッパー的なものらしいです。実際は裏ではiptablesが動いてるそうです。最初から入ってますが、入ってなければ次のコマンドでインストールします。/etc/default/ufwIPV6=noデフォルト拒否にするデフォルトを拒否にすることで、明示的に許可していないポート以外は拒否されます。denySSHのデフォルトポートを許可する22番ポート(SSH)のデフォルトポートを許可します。22ファイアウォールを有効にするファイアウォールを有効にします。Anywhere接続確認ここで、22ポートでSSH接続できるか確認します。この時、まあ、あり得ないんですが接続できなくなったら困るので、別のターミナルを立ち上げてそちらで接続するようにします。別のターミナル上げてようが、接続切れると思います。いうかそういう警告がでる。22SSHの設定ここで、ファイアウォールは置いておいてSSHの設定に移ります。設定ファイル変更SSHの設定は/etc/ssh/sshd_configを変更して行います。/etc/ssh/sshd_config下記の個所を変更します。ポートはデフォルトの22から変更することで攻撃の可能性を大きく下げることができるそうです。サンプルは22222に変更します。サンプルなので適当に変えてください。下記のように記載することで複数のポートでssh接続できるようになります。追加の22222ポートで接続できることを確認した後に、デフォルトの22を削除するという手順をとります。(いきなり22消して接続できなくなったら困るので。22222残りの項目は下記のように設定します。noその他の項目は下記のサイトとかを参考に設定するとよいと思います。した設定を反映します。restart追加したSSH用のポートをファイアウォールで許可するsshd_configに追加したポート22222をファイアウォールで許可します。22222有効にして確認します。Anywhere接続確認sshd_configに追加した22222で接続できることを確認します。22222また、rootで接続できないことを確認します。22222デフォルトポートを無効にする最後にデフォルトの22ポートを無効にします。接続不可確認22ポートで接続できないことを確認します。refusedファイアウォールの22ポートを削除するこの時点で22ポートでSSH接続できないですが、最後にファイアウォールの22を削除します。許可ポートを確認します。Anywhere仕上げ下記のような設定もやっておくといいと思います。30秒間に6回以上の接続を試みたIPを拒否する設定です。22222その他AWSとか使ってるときインバウンドルールも変更することを忘れない。ログの場所UbuntuだとSSHの認証ログは下記に出力されます。ディストリビューションによって違うのでCentOSとかだと違ったと思います。YoshinoriN)。