このタイプの攻撃からどのように防御すればよいですか?これは、ubuntu-desktopパッケージをベアサーバーに追加した、Ubuntu 12.04(Precise)を実行しているlinodeクラウドサーバーからのtightvncログファイルの抜粋です。デフォルトでは、このUbuntu Linodeクラウドサーバーには、root
という名前のユーザーが1人だけいます。このサーバーに他のユーザーが必要になることはなく、Sudo
は不便であると見なされます。このサーバーは、非常に小規模な匿名ビジネス向けに1つのアプリケーションを実行します。実行中、アプリケーションはインターネット上のソケット/ポートを介して無人で通信します。アプリケーション結果の表示は、VNCのSSHトンネルを介して行われます。ライト管理はssh
、sftp
、scp
およびrsync with SSH
を介して行われます。
抜粋に示されているIPは、正当なクライアントのIPではありません。
05/06/12 20:07:32 Got connection from client 69.194.204.90
05/06/12 20:07:32 Non-standard protocol version 3.4, using 3.3 instead
05/06/12 20:07:32 Too many authentication failures - client rejected
05/06/12 20:07:32 Client 69.194.204.90 gone
05/06/12 20:07:32 Statistics:
05/06/12 20:07:32 framebuffer updates 0, rectangles 0, bytes 0
05/06/12 20:24:56 Got connection from client 79.161.16.40
05/06/12 20:24:56 Non-standard protocol version 3.4, using 3.3 instead
05/06/12 20:24:56 Too many authentication failures - client rejected
05/06/12 20:24:56 Client 79.161.16.40 gone
05/06/12 20:24:56 Statistics:
05/06/12 20:24:56 framebuffer updates 0, rectangles 0, bytes 0
05/06/12 20:29:27 Got connection from client 109.230.246.54
05/06/12 20:29:27 Non-standard protocol version 3.4, using 3.3 instead
05/06/12 20:29:28 rfbVncAuthProcessResponse: authentication failed from 109.230.246.54
05/06/12 20:29:28 Client 109.230.246.54 gone
05/06/12 20:29:28 Statistics:
05/06/12 20:29:28 framebuffer updates 0, rectangles 0, bytes 0
これは問題です。最終的には、tightvncが新しい正当なクライアントセッションを拒否し、正当なクライアントがVNCセッションを実行しようとしたときに認証失敗が多すぎると報告するためです。回避策は、tightvncを頻繁にリブートしてリロードすることです。
SSHトンネル経由でのみVNCにアクセスしているので、ファイアウォールでVNCポートを閉じ、外部からのすべての接続試行をドロップします。
rootという名前のユーザーが1人だけいます。このサーバーには他のユーザーは必要ありません
まず、本当に1人のユーザーしかいない場合、私は非常に驚かれます。おそらく、これが、あなたが知っている、ログインアカウントを持つユーザーが1人だけであることです。セキュリティ/可用性について少しでも心配している場合は、対処すべき項目のリストでこれが非常に高くなるはずです。
アプリケーション結果の表示は、VNCのSSHトンネルを介して行われます
しかし、人々はトンネルを使用せずにVNCサーバーにアクセスしようとしているようです-そのため、(効果的な)ファイアウォールが設置されておらず、そのような接続を許可するようにvncサーバーを構成しています。 VNCのすべてのバージョンでIPアドレスによるアクセスを構成できるわけではなく、さまざまな方法で実装されています。少なくとも、iptablesを使用して127.0.0.1以外のVNCポートをブロックすることから始める必要があります。 Ubuntuには、ファイアウォールを設定するための非常にシンプルなツール gufw -が用意されています。
また、sshアクセスを制限するための対策を講じる必要があります。ネットワークのホワイトリストへのアクセスを制限したり、fail2banを実行したり、ポートノッキングを使用したりすることは簡単な解決策です(ただし、後者はgufwとの統合が難しい)。
私は DenyHosts を使用して、X回の試行後の試行をブロックします。SSHだけでなく、すべてのサービスをブロックするように構成でき、インストールも簡単です。つまり、ターゲットにされていると思われるが、とにかく有用なログを使用することをお勧めします。