この記事では、Linuxシステムにおけるブルートフォース攻撃の防御策について解説します。具体的なコード例、その詳細な解説、および応用例を5個以上取り上げます。
目次
ブルートフォース攻撃とは
ブルートフォース攻撃は、攻撃者がシステムにアクセスを試みる際に、すべての可能なパスワードを試行する方法です。単純かつ力任せな手法ですが、対策が薄いシステムでは非常に有効です。
基本的な防御策
Fail2Banの導入
Fail2Banは、不正アクセスを検出してそのIPアドレスを一時的にブロックするソフトウェアです。
sudo apt update
sudo apt install fail2ban
このコマンドは、Fail2BanをUbuntuにインストールするためのものです。
SSHの設定変更
SSHポートをデフォルトの22から変更すると、一般的な攻撃から逃れやすくなります。
sudo nano /etc/ssh/sshd_config # SSH設定ファイルを開く
# "Port 22" を "Port [新しいポート番号]" に変更
応用的な防御策
GeoIPによる制限
特定の国や地域からのアクセスだけを許可する方法です。
sudo apt install xtables-addons-common # 必要なパッケージをインストール
sudo /usr/lib/xtables-addons/xt_geoip_dl # GeoIPデータベースをダウンロード
2要素認証
Google Authenticatorなどの2要素認証を導入することで、セキュリティを大幅に向上させることができます。
sudo apt install libpam-google-authenticator # Google Authenticatorをインストール
google-authenticator # 設定を開始
時間によるアクセス制限
例えば、深夜や早朝など特定の時間帯にSSHのアクセスを許可しないようにすることができます。
sudo crontab -e # cronタブを開く
# 以下のように設定
# 0 0 * * * /etc/init.d/ssh stop
# 0 6 * * * /etc/init.d/ssh start
SSH公開鍵認証の強制
パスワード認証を無効にして、SSH公開鍵認証のみを許可する設定です。
sudo nano /etc/ssh/sshd_config # SSH設定ファイルを開く
# "PasswordAuthentication yes" を "PasswordAuthentication no" に変更
まとめ
ブルートフォース攻撃は初歩的ながらも強力な攻撃手法であり、多層的な防御策を施すことが重要です。Fail2Banの設定やSSHのセキュリティ強化、さらには応用的な方法も組み合わせて使用することで、より強固なセキュリティを実現できます。
コメント