同意に関する設定をカスタマイズ

当社は、お客様を効率的にナビゲートし、特定の機能を実行できることを目的としてクッキーを使用しています。以下の各同意項目の下に、すべてのクッキーの詳細情報が記載されています。

「必須」に分類されるクッキーは、サイトの基本的な機能を有効にするために不可欠であるため、お客様のブラウザに保存されます。

また、当社は、お客様による本サイトの利用状況を分析し、お客様の好みを保存し、お客様に関連するコンテンツや広告を提供するために、サードパーティーのクッキーを使用しています。これらのクッキーは、お客様の事前の同意がある場合にのみ、お客様のブラウザに保存されます。

お客様は、これらのクッキーの一部、または全部を有効または無効にすることができますが、一部のクッキーを無効にすると、お客様のブラウジング体験に影響を与える場合があります。

常に効にする

必須クッキーとは、安全なログインの提供や同意設定の調整など、このサイトの基本機能を有効にするために必要なクッキーです。これらのクッキーは、個人を特定できるようなデータを保存することはありません。

表示するクッキーがありません。

機能クッキーは、ソーシャルメディアプラットフォームでのウェブサイトのコンテンツの共有、フィードバックの収集、その他のサードパーティの機能など、特定の機能の実行をサポートします。

表示するクッキーがありません。

分析用クッキーは、訪問者がウェブサイトとどのように関わっているかを理解するために使用されます。これらのクッキーは、訪問者数、直帰率、トラフィックソースなどの指標に関する情報を提供することをサポートします。

表示するクッキーがありません。

パフォーマンスクッキーは、ウェブサイトの主要なパフォーマンス指標を理解し、分析するために使用され、訪問者に優れたユーザー体験を提供することをサポートします。

表示するクッキーがありません。

広告クッキーは、訪問者が以前に訪れたページに基づいてカスタマイズされた広告を提供し、広告キャンペーンの有効性を分析するために使用されます。

表示するクッキーがありません。

開発運用

SSH セキュリティ強化 Fail2Ban

SSH (Secure Shell) は、リモートサーバーへの安全な接続を提供する重要なツールですが、同時にサーバーへの不正アクセスを試みる攻撃者のターゲットにもなります。これを防ぐために、Fail2Ban というセキュリティツールを使用することで、SSHのセキュリティを強化できます。Fail2Ban は、ログファイルを監視し、繰り返し不正なアクセスを試みるIPアドレスを自動的にブロックする仕組みを提供します。この仕組みを使って、SSH接続をより安全に保つ方法を以下に詳しく説明します。

Fail2Ban の概要

Fail2Ban は、サーバーのログファイルを監視し、悪意のあるアクセスを検出するツールです。特に、SSHやApache、Nginxなどのサービスのログを監視し、ログイン試行が規定の回数を超えたIPアドレスを自動的にブロックすることができます。これにより、ブルートフォース攻撃などによる不正アクセスを効果的に防ぐことができます。

Fail2Ban のインストール

Ubuntu に Fail2Ban をインストールするためには、まず次のコマンドを実行してパッケージリストを更新し、Fail2Ban をインストールします。

bash
sudo apt update sudo apt install fail2ban

インストールが完了したら、Fail2Ban が自動的に起動し、システムのサービスとして稼働を開始します。インストール後にサービスの状態を確認するには、次のコマンドを使用します。

bash
sudo systemctl status fail2ban

このコマンドで、「active (running)」と表示されれば、Fail2Ban は正常に動作しています。

Fail2Ban の基本設定

Fail2Ban の設定は、/etc/fail2ban/jail.conf という設定ファイルで行いますが、直接このファイルを編集するのではなく、jail.local というローカル設定ファイルを作成するのが推奨されています。このファイルで、カスタマイズ設定を行うことができます。

まず、設定ファイルのバックアップを作成し、新しい設定ファイルを作成します。

bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

次に、jail.local をエディタで開きます。

bash
sudo nano /etc/fail2ban/jail.local

ここで、SSHに関連する設定を行います。例えば、以下の設定を確認します。

  • enabled: Fail2Ban がSSHを監視するかどうかを設定します。デフォルトで false になっている場合は、これを true に変更します。
  • port: SSH のポート番号を設定します。通常はデフォルトのポート 22 ですが、カスタムポートを使用している場合は、それに合わせて変更します。
  • maxretry: 失敗したログイン試行回数を指定します。例えば、3回の失敗後にブロックを行う設定にできます。
  • bantime: IPアドレスをブロックする時間(秒)を設定します。例えば、600秒(10分)に設定すると、失敗後10分間ブロックされます。

以下は、SSHの設定例です。

ini
[sshd] enabled = true port = ssh maxretry = 3 bantime = 600

設定が完了したら、ファイルを保存して終了します(Ctrl + XYEnter)。

Fail2Ban の再起動

設定を変更した後、Fail2Ban を再起動して新しい設定を反映させます。

bash
sudo systemctl restart fail2ban

これで、SSHへのアクセス試行が失敗した場合に、自動的にIPアドレスがブロックされるようになります。

Fail2Ban のログの確認

Fail2Ban の動作を確認するために、ログを確認することができます。ログファイルは /var/log/fail2ban.log に保存されています。

bash
sudo tail -f /var/log/fail2ban.log

このコマンドを使って、Fail2Ban がどのようにIPアドレスをブロックしているかをリアルタイムで確認することができます。

Fail2Ban の追加設定

Fail2Ban には、さらに細かい設定を行うことができます。例えば、SSH以外にも、ウェブサーバーの攻撃を防ぐために Apache や Nginx のログも監視できます。jail.local でこれらの設定を追加することが可能です。

Nginxの設定例:

ini
[nginx-http-auth] enabled = true port = http,https filter = nginx-http-auth logpath = /var/log/nginx/error.log maxretry = 3 bantime = 600

Apacheの設定例:

ini
[apache-auth] enabled = true port = http,https filter = apache-auth logpath = /var/log/apache2/error.log maxretry = 3 bantime = 600

Fail2Ban の管理と監視

Fail2Ban では、実際にブロックされているIPアドレスや、失敗したログイン試行の状況を確認できます。例えば、次のコマンドで Fail2Ban の状態を確認できます。

bash
sudo fail2ban-client status sshd

このコマンドは、sshd ジェイルの現在の状態(ブロックされているIPアドレスの数、ログイン試行の数など)を表示します。

Fail2Ban のホワイトリスト設定

特定のIPアドレスがブロックされないようにするには、そのIPをホワイトリストに追加することができます。ホワイトリストに追加するには、jail.local に以下の設定を加えます。

ini
ignoreip = 127.0.0.1/8 ::1

上記の設定では、ローカルホスト(127.0.0.1)とIPv6ローカルアドレス(::1)がホワイトリストに追加されます。これにより、これらのアドレスからの接続はブロックされません。

まとめ

Fail2Ban を使用すると、SSH サービスへのブルートフォース攻撃を防ぐために非常に効果的な対策を講じることができます。特に、ログイン失敗の回数を制限し、過剰な試行を行うIPアドレスを自動的にブロックすることで、サーバーのセキュリティを大幅に強化できます。上記の手順に従って、Fail2Ban を正しく設定し、SSH のセキュリティを守りましょう。また、必要に応じて Apache や Nginx など、他のサービスも保護することが可能です。

Back to top button