サーバーを強化することは難しくありませんが、実行する日常的な操作が多いと忘れがちです。そこでここでは、他人によるサーバーへの侵入を防ぎ、同時に印象を深める方法についてお話したいと思います。
私が遭遇した状況は比較的単純で、次のコマンドを実行しました:
cat /var/log/auth.log | grep Accepted
このコマンドはサーバー上で成功した認証レコードを返しました。は私のものではない IP です。つまり、SSH サービスが侵害されました。
別のコマンド last
があることを忘れないでください。このコマンドは、最後に正常にログインしたユーザーを返します。
サーバーを購入したらすぐに行う必要があること:
に基づいて、悪意のある動作を特定し、IP を禁止します。
ssh-keygen ツール (標準 OpenSSH パッケージの一部) を使用して、ローカル マシン上で SSH キーを生成しました。 (以下のコマンドは、Linux と macOS の両方で機能します)
ssh-keygenコマンド
~/.ssh ディレクトリにキーのペアが作成されます。次に、次のコマンドを実行します。
ssh-copy-id you_user@your_server_idこのコマンドは、新しく作成された公開キーをサーバーにアップロードします。次に、サーバーにログインし、sshd 構成を変更します:
nano /etc/ssh/sshd_config構成ファイル内の PasswordAuthentication 構成を変更します:
PasswordAuthentication noこの構成では、パスワード ログインが無効になります (ログインに使用できるのはキーのみです) )。 ufw とfail2banのインストールと構成サーバーで使用しているシステムはUbuntuなので、これらの2つのツールは次のコマンドでインストールできます:
apt install ufw fail2bansshのみを開きますおよび http( s) ポート:
ufw allow ssh ufw allow 80 ufw allow 443ufw を有効にする:
ufw enable次に、fail2ban ツールを構成します:
# 备份默认配置 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local構成ファイルで
banaction = を見つけますそれを
ufw に設定します。次に、fail2ban 設定をリロードします。
fail2ban-client reloadこのような単純な設定の後、同じ IP から 3 回不正なログイン試行が行われると、その IP は 10 分間禁止されます。私は個人的に禁止期間を7日間に調整しました。次のコマンドで、fail2ban のステータスを確認できます:
fail2ban-client status sshd私の構成は次のとおりです:
Status for the jail: sshd |- Filter | |- Currently failed: 1 | |- Total failed: 6 | `- File list: /var/log/auth.log `- Actions |- Currently banned: 1 |- Total banned: 2 `- Banned IP list: 187.109.168.150ご覧のとおり、1 つの IP がファイアウォールによってブロックされています。これは、ufw のレポートでも確認できます:
ufw status Status: active To Action From -- ------ ---- Anywhere REJECT 187.109.168.150 80/tcp ALLOW Anywhere 22 ALLOW Anywhere 443 ALLOW Anywhereさらに技術的なチュートリアルを知りたい場合は、
PHP 中国語 Web サイト の他のコンテンツに注目してください。
以上がサーバーが他人から侵入されるのを防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。