こんばんは。草井真良です。
昨晩Torノードを運用しているLinodeからブルートフォース攻撃を受けていると連絡があり、朝はそれの対応をしていました。
リンク先でブルートフォースについて説明しているのですが、一応ここでも一部を抜粋します。
ブルートフォース攻撃とは、日本語では「総当たり攻撃」と訳される、暗号解読や認証情報取得の手法です。主にパスワードを不正に入手するために用いられます。
具体的な手法は、理論的に考えられるパスワードのパターン全てを入力するという、実に単純なものです。例えば4桁の暗証番号をパスワード(パスコード)に使用している場合、「0000」~「9999」の1万種類の組み合わせを全て試すことで、必ず正解にたどり着くことになります。これを人間が手動で試すのは大変ですが、プログラムで行えば手間はかかりません。1秒に1個のパスワードを試せるのであれば、長くても1万秒(約2時間47分)でパスワードを割り出せることになります。(https://www.f5.com/ja_jp/services/resources/glossary/brute-force-attack より)
単純な方法ですが、サーバで何でもできるroot権限でアクセスできる場合は話が違ってきます。
ユーザ名がrootなので、あとはパスワードさえ分かればそのサーバに侵入できて何でもできてしまいます。
なので今私にできる対策は大まかに分けて3つ。
・パスワードをより複雑なものに変更する
・root権限を使えないようにする
・ポート番号を変更してそもそもパスワード認証画面に入れさせない
1番目のパスワードはもう複雑なものに変更しているので、2番目と言いたい所ですがrootが使えなくなると何かと不便な事が多いです。
なので3番目のポート番号を変更するという手段を取ろうと思います。
一応注意として、途中で下手にログアウトしてしまうとサーバをリセットするかサーバに問い合わせない限り、二度とログインできなくなる危険性があるので注意してください。
では始めてみましょう。
ポート番号というのは1~65535まである、ネットワークの入り口のようなもので、デフォルトでは22から入ってきたアクセスに対してパスワードの認証画面を提供するように設定されています。
これを変更してしまいましょう。
$ sudo vi /etc/ssh/sshd_config
これで設定画面に入れるようになったので、(viはiキーとEscで交互に編集モードを変更できるので使い方は知っておきましょう)
# Port 22
の#を外し、Portの数値を適当な数字にいじってしまいましょう。他の使っているポートの兼ね合いから1024以上が良いです。
例えば
Port 1919
Port 40298
Port 43044
などに変更、Escキーでコマンドモードに入り、「:wq」を押して保存して終了です。
次はファイアウォールを設定している場合の設定です。
Debian/Ubuntuの場合、
$ sudo ufw status
で確認しましょう。
それで有効(active)の場合は
$ sudo ufw allow <先ほど設定したポート番号>
$ sudo ufw reload
でポートを開いて再起動しておきましょう。
Centosの場合は
$ systemctl start httpd
$ firewall-cmd –zone=public –add-service=<先ほど設定したポート番号> –permanent
$ firewall-cmd –reload
でポートが解放できます。
あとは
$ sudo systemctl restart sshd
でSSHサーバを起動すれば大丈夫です。
この記事が面白かったと感じた方は他の記事も見る、もしくはここにコメントをください。
他にもアマゾンや楽天の広告から商品を買ったりしてくださると収益が入るので励みになります。
それではお疲れさまでした。
下に関連記事と参考にしたサイト様を載せてあります。
よければそちらもお読みください。
関連記事
参考にしたサイト様
・SSHのポートを変更する – デフォルトの22番ポートはセキュリティ的に危険が高い
コメント