私のサーバーは、私のルートユーザー資格情報を使用して、部外者によって侵入されました。
ルートパスワードが変更されたので、サーバーを保護するための追加の戦略を見つけようとしています。
使用方法ホストそして拒否IP アドレスによるアクセスを管理する実行可能なソリューションのように思えますが、潜在的な問題があります。
hosts.allow ファイルに仕事用の IP アドレスを指定したいのですが、問題は IP アドレスがサービス プロバイダーによって変更される可能性があることです。そうなると、サーバーにアクセスできなくなります。当社のサーバーは自己管理されています。
このシナリオを防ぐ方法、または克服する方法を誰か教えていただけませんか?
答え1
サーバーのセキュリティを確保するために、いくつかの手順を実行しました。
1 つ目は明白なものです。
標準ポートで ssh を実行しないことで、通常のスクリプト キディ攻撃を回避できます。
2 つ目も最先端のものです。
ノックデーモンを使用します。ノックデーモンは、サーバー上で SSH 接続用のポートを開く前に、まず特定のポートとプロトコルで一連のヒットを待ちます。そのため、ノック クライアントで正しいポート シーケンスにヒットするまで、SSH サーバーは攻撃者から見えません。ほとんどのノックデーモン実装では、トランザクション シーケンスを統合するメカニズムが提供されるため、ログインが成功するたびにノック シーケンスが変更されます。
この標準設定により、セキュリティ層が少し強化されます。
暗号化されたユーザー名とパスワードを使用し、ssh ログインを特定 (非 root) ユーザーに制限することも推奨されます。その後、root タスクを実行するときに、サーバー上の root ユーザーに切り替えることができます。
Nagios のような監視システムをインストールすると、あなたとあなたの環境のセキュリティが強化されます。これは設定が簡単で、Ubuntu パッケージ システムを通じて提供されます。誰かが SSH 経由でサーバーにログインしたときにメールを送信するように設定できるため、少なくともさらに調査を進めるために必要な情報が得られます。
しかし、正直に言うと、誰かがルートとしてサーバーにアクセスした場合は、すべてを完全に再インストールする必要があります。バイナリが置き換えられて検出が困難になり、バックドアが作られることがあります。useradd のような単純なコマンドを実行すると、バイナリが置き換えられ、コマンドの実行中に TCP 接続が開かれ、ユーザー認証情報が侵入者に送信されると想像してください。または、さらに悪いことに、ssh サーバーのバイナリが、特定のユーザー パスワードの組み合わせでアクセスできるカスタマイズされたバージョンに置き換えられます。
答え2
プロバイダーから静的 IP を購入します。
答え3
@Kazimierasの回答に加えて、次のようなシステムを使用することもできます。ダインドンズ新しいホスト名を に追加しますetc/hosts.allow
。
答え4
サーバーとオフィスネットワークの間にVPN接続を設定することもできます