ECS セキュリティの向上: SSH キーとファイアウォールを使用してシステムのセキュリティを確保するにはどうすればよいか
更新日: 19-0-0 0:0:0

クラウドコンピューティングの人気に伴い、ますます多くの企業や個人がクラウドサーバーにアプリケーションをデプロイすることを選択しています。 しかし、クラウドサーバーのセキュリティも、特にますます巧妙化するサイバー攻撃に直面して、ますます懸念が高まっています。 クラウドサーバーのセキュリティを確保するためには、適切なハードニング対策を講じることが重要です。 このトピックでは、SSH キー ログインとファイアウォール設定を使用して、CVM のセキュリティを向上させ、データとアプリケーションを外部の脅威から保護する方法について説明します。

1. SSHキーログイン:リモートアクセスのセキュリティを向上させます

SSH(Secure Shell)は、クラウドサーバーで最も一般的に使用されるリモートログインプロトコルであり、暗号化によるデータ送信のセキュリティを確保できます。 ただし、従来のパスワードログイン方法は、ブルートフォースによって破られるリスクがあります。 このため、SSHキーでログインする方が、より安全な認証方法です。

1. SSHキーログインとは何ですか?

SSHキーログインは公開鍵暗号メカニズムに基づいており、ユーザーは公開鍵と秘密鍵のペアを生成します。 公開鍵はサーバーに配置され、秘密鍵はユーザーのデバイスにローカルに保存されます。 この方法では、対応する秘密鍵を持つユーザーのみが、パスワードを入力しなくてもサーバーに正常にログインできます。

2. なぜSSHキーを使用してログインするのですか?

  • ブルートフォースの防止:パスワードはブルートフォースによって解読されることが多く、SSHキーログインはセキュリティを大幅に向上させます。

  • 認証セキュリティの向上:キーペアは従来のパスワードよりもはるかに安全であり、キーを簡単に盗むことはありません。

  • 自動化スクリプトのサポート: キー ログインは、自動化スクリプトや CI/CD プロセスで簡単に使用でき、人間の介入を減らすことができます。

3. SSHキーログインの設定方法を教えてください。

  1. SSHキーペアの生成:次のコマンドを使用して、ローカルデバイス上でキーペアを生成します。

    ssh-keygen -t rsa -b 2048

    これにより、公開鍵と秘密鍵のファイルが生成され、通常は ~/.ssh/ ディレクトリに保存されます。

  2. 公開鍵をサーバーにアップロードする: ssh-copy-id コマンドを使用して、公開鍵を ECS にアップロードします。

    ssh-copy-id username@server_ip
  3. パスワードログインの無効化: サーバーにログインし、/etc/ssh/sshd_config ファイルを編集して、パスワード認証を無効にします。

    PasswordAuthenticationいいえ

    次に、SSHサービスを再起動します。

    sudo systemctl restart sshd
  4. SSHキーログインのテスト:秘密鍵を使用してサーバーにログインし、正常にログインできることを確認してください。

    ssh -i /path/to/private_key username@server_ip

2.ファイアウォールの設定:サーバーアクセスを制御し、悪意のあるトラフィックを拒否します

ファイアウォールは、クラウドサーバーを外部からの攻撃から保護するための重要なツールであり、ネットワークトラフィックを制御することで不正アクセスを防ぐことができます。 適切なファイアウォール構成により、セキュリティリスクを効果的に軽減し、悪意のある攻撃者がシステムに侵入するのを防ぐことができます。

1. ファイアウォールを設定することが重要なのはなぜですか?

  • 外部アクセスの制限:ファイアウォールは、外部アクセスのポートを制限することで、不要なネットワークトラフィックの侵入を効果的に防止し、攻撃対象領域を減らすことができます。

  • システムの安定性を向上させる:ファイアウォールは、不要なネットワークリクエストをフィルタリングすることで、サーバーの安定性を向上させ、不要な負荷を減らすことができます。

  • DDoS攻撃の防止:ファイアウォールは、分散型サービス拒否(DDoS)攻撃を特定してブロックし、サーバーが悪意のあるトラフィックに圧倒されるのを防ぎます。

2. ファイアウォールの設定方法を教えてください。

以下では、一般的な UFW (Uncomplicated Firewalls) と iptables を例として使用して、ファイアウォールの構成方法について説明します。

1.0 UFWでファイアウォールを構成する

  1. UFWをインストールします(インストールされていない場合):

    sudo apt-get ufwをインストールする
  2. UFW を有効にして既定のルールを設定する: 既定のルールを設定して、すべての受信トラフィックを拒否し、すべての送信トラフィックを許可します。

    sudo ufw デフォルト 受信を拒否する sudo ufw デフォルト 送信を許可する
  3. SSH トラフィックを許可する: SSH キーでログインしている場合は、SSH ポート (デフォルトではポート 22) トラフィックを許可してください。

    sudo ufw 22 / tcpを許可する
  4. ファイアウォールを有効にする: ファイアウォールを有効にして有効にします。

    sudo ufw 有効にする
  5. ファイアウォールステータスの表示: ファイアウォールのステータスとルールを表示します。

    sudo ufw ステータス

2.0 iptables を使用してファイアウォールを設定する

iptablesは、Linux上の強力なファイアウォールツールであり、カスタムルールを介してネットワークトラフィックをきめ細かく制御できます。

  1. 許可されたSSHトラフィック:許可されたSSH(ポート22)トラフィック:

    sudo iptables -A 入力 -p tcp --dport 22 -j 受け入れる
  2. 他のすべての受信トラフィックを拒否する: デフォルトでは、すべての受信トラフィックを拒否します。

    sudo iptables -A 入力 -j ドロップ
  3. iptables ルールの保存: 次のコマンドを使用して、iptables ルールを保存します。

    sudo iptables-save > /etc/iptables/rules.v4

3.まとめ:ECSの多層保護を確保する

SSHキーログインとファイアウォール設定を実装することで、ECSのセキュリティを大幅に向上させることができます。 SSHキーログインは、ブルートフォース攻撃を防ぐためのより安全な認証方法を提供します。 一方、ファイアウォールは、ネットワークトラフィックとアクセスポートを制限することにより、悪意のある攻撃者がシステムに侵入するのを防ぎます。 システムの定期的な更新、強力なパスワードの使用、多要素認証の有効化など、他のセキュリティ対策と組み合わせることで、クラウドサーバーの強力な防御線を構築し、データとアプリケーションを常に安全に保つことができます。

ECSの保護はおろそかにすべきではなく、潜在的なセキュリティリスクを回避するために、使用中のセキュリティ強化を強化する必要があります。

ソース: Mengfei Cloud Host