VNCサーバーへの攻撃の可能性

VNCサーバーへの攻撃の可能性

最近、私のLinuxコンピュータでいくつかの問題が発生し始めました。したがって、VNCサーバーがインストールされているLinux VPSシステムがあり、VNCビューアを使用して接続するだけです。

vnc too many security failures最近、VNCサーバー/ビューアでなどのエラーが発生し始めました Authentication failed

Linuxシステムでログを使用しsshて確認したところ、次のログが表示されます。

Thu Jun  9 22:35:43 2016
 Connections: accepted: 0.0.0.0::59748
 SConnection: Client needs protocol version 3.3

Thu Jun  9 22:35:44 2016
 SConnection: AuthFailureException: Authentication failure
 Connections: closed: 0.0.0.0::59748 (Authentication failure)

Thu Jun  9 22:41:31 2016
 Connections: accepted: 0.0.0.0::57806
 SConnection: Client needs protocol version 3.3
 SConnection: AuthFailureException: Authentication failure
 Connections: closed: 0.0.0.0::57806 (Authentication failure)

その結果、VNCサーバーはこれらの接続をブラックリストに登録し、驚くべきことにこれによりコンピュータにアクセスできなくなりました。 (なぜブラックリストに上がったのか、なぜこれ以上ログインできないのかわかりません)

VNCサーバーを再起動し、VNCを使用して再度ログインできました。

これは攻撃になることができますか?これを防ぐ方法についてのアイデアはありますか?

答え1

VNCサーバーには問題はありません。


なぜこれが起こるのですか?

インターネットの反対側へようこそ! NAT とファイアウォールの背後にない側です。

vnc too many security failuresこれは、誰かがあなたのVNCサーバーに何度もログインしようとしましたが失敗したことを意味します。 VNC サーバーには、複数の接続が認証に失敗した場合、一定期間接続をブロックするセキュリティ機能があります。 VNCサーバーを再起動すると(必要に応じて)タイムアウトがリセットされます。

Black Hat は IP とその IP のポートを継続的に検索しています。その後、開いているポートに接続し、プログラムバナーを確認し、コンピュータ認証を試みます。小規模なWebサイトを運営するサーバーは1日に何千ものランダム接続を取得でき、DNSを介して表示されるものは何も実行しませんが、パブリックIPを使用するサーバーはまだ数百の接続を取得できます。

そのため、誰か(IP範囲でランダムなスクリプト撮影を意味する誰か)が、サーバーのパブリックIPに開いているポートがあり、ログインしようとしていることがわかりました。


あなたは何をすべきですか

VNCパスワードは非常に脆弱です。インターネットを介して直接VNCサーバーを実行しないでください。ブラックリストのタイムアウト(数回の失敗後にログインを無効にする機能)は、パスワードに対するいくつかの無差別代入攻撃を防ぐことができますが、十分な措置ではありません。

代わりに、コマンドラインに127.0.0.1以下を追加して-localhostVNCサーバーを実行する必要があります。

vncserver -localhost ...

その後、sshトンネルを使用してコンピュータのポートをサーバーのポートに接続します。たとえば(VNCサーバーがデフォルトポートで実行されているとします)

ssh -L 5900:localhost:5900 me@<my_server>

その後、接続が有効になっている間にVNCクライアントを自分のコンピュータポートに接続できますssh5900

(これは* nixシステムで動作します。Microsoftシステムを使用している場合は引き続き使用できますputtyssh tunneling


絶対にしてはいけないこと

VNCサーバーはブラックリスト機能を無効にすることはできませんが、ブラックリストのパラメータを変更できます。たとえば、

vncserver -set BlacklistTimeout=0 -set BlacklistThreshold=10000 ...

vncconfig(一部のディストリビューション、特にCentOSではこのコマンドになってはいけないと思いますvncserver

関連情報