ホームページ  >  記事  >  サーバーが他人から侵入されるのを防ぐ方法

サーバーが他人から侵入されるのを防ぐ方法

little bottle
little bottle転載
2019-04-30 09:57:183193ブラウズ

サーバーを強化することは難しくありませんが、実行する日常的な操作が多いと忘れがちです。そこでここでは、他人によるサーバーへの侵入を防ぎ、同時に印象を深める方法についてお話したいと思います。

脆弱性の見つけ方

私が遭遇した状況は比較的単純で、次のコマンドを実行しました:

cat /var/log/auth.log |  grep Accepted

このコマンドはサーバー上で成功した認証レコードを返しました。は私のものではない IP です。つまり、SSH サービスが侵害されました。

別のコマンド last があることを忘れないでください。このコマンドは、最後に正常にログインしたユーザーを返します。

サーバーを強化する方法

サーバーを購入したらすぐに行う必要があること:

  • インストールufw、シンプルで簡単-使用するファイアウォール ソフトウェア;
  • SSH と HTTP を除くすべてのポートを閉じます;
  • #fail2ban ツールをインストールして構成します。このツールは、/var/log/auth.log に基づいて、悪意のある動作を特定し、IP を禁止します。
  • キー認証のみを使用するように sshd 構成を変更します。
具体的にはどうすればよいでしょうか?

侵入が発生した場合は、調査と駆除の方法を知っておく必要があります。最善の方法は、VPS を再作成することです。まさに私がやったことです。 hetzner からサーバーを購入しました。そのコンソールには、VPS を再作成 (古い VPS を削除し、新しい VPS を作成) して元の IP を保持する機能が用意されています。そこで、VPSを再構築しました。次に、

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 fail2ban

sshのみを開きますおよび http( s) ポート:

ufw allow ssh
ufw allow 80
ufw allow 443

ufw を有効にする:

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 サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。