Intereting Posts
Как подключиться к другой машине через SSH? Проблемы с отображением Conky при перезагрузке «дополнительные строки новой строки» Проблема с загрузкой: паника ядра Мой терминал bash не отображает полную строку командной строки даже в полноэкранном режиме Как я могу настроить /etc/kmscon/kmscon.conf для использования определенного шрифта a) и b) раскладки клавиатуры? Как НЕ сохранить разрешение при использовании scp SSD клон не загружается и не монтируется правильно Получить статический ipv6 ip Смонтируйте хранилище Google с autofs Пользователь теста freeradius не работает Ошибка анализа (ответ) для теста входа: Ожидаемый конец строки или запятая Начать sh в указанной директории из inittab Как настроить принтер HP в CUPS? Маршрутизировать трафик VPN-шлюза через tun0 вместо обычного шлюза Почему на выходе моей команды есть пустые строки ?: find ~ / x / y / | shuf> ~ / Desktop / z.txt Странное поведение значения терминала PS1 в Mac против Ubuntu

Возможная атака на VNC-сервер

Недавно у меня возникли проблемы с моей машиной Linux. Поэтому у меня есть этот Linux VPS-сервер с установленным сервером VNC, и я просто подключаюсь к нему с помощью VNC-просмотра.

Недавно VNC-сервер / просмотрщик начал давать мне некоторые ошибки, такие как vnc too many security failures или ошибка Authentication failed , и т. Д.

Я использовал ssh и проверил журнал на машине Linux, и он показывает журналы:

 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.

Это возможная атака? Любые мысли о том, как предотвратить такой сценарий?

Нет ничего плохого в вашем VNC-сервере.


Почему это произошло

Добро пожаловать на другую сторону Интернета! Сторона, которая не находится за NAT и брандмауэром.

vnc too many security failures просто означает, что кто-то пытался войти в ваш сервер VNC и несколько раз провалился. Серверы VNC имеют функцию безопасности, в которой они блокируют соединения в течение определенного промежутка времени, когда несколько подключений завершают проверку подлинности. Перезапуск сервера VNC (как вы это делаете) сбрасывает тайм-аут.

Blackhats постоянно проверяет IP-адреса и порты на этих IP-адресах. Затем подключитесь к открытым портам, см. Программные баннеры и попробуйте аутентифицироваться, чтобы попасть в машину. Сервер, работающий на небольшом веб-сайте, может получать тысячи веселых случайных подключений в день, сервер, который не работает ничем, видимым через DNS, но с открытым IP-адресом все равно может получить сотни соединений.

Поэтому кто-то (и кем-то, я имею в виду сценарий, стреляющий случайным образом на диапазонах IP-адресов), обнаружил, что публичный IP-адрес вашего сервера имеет открытый порт и пытается войти в систему.


Что ты должен делать

Пароли VNC заметно слабы. Вы никогда не будете запускать VNC-сервер непосредственно через Интернет. Тайм-аут черного списка (функция, запрещающая вход в систему после нескольких сбоев) предотвращает некорректное форсирование паролей, но это не очень хорошая мера.

Вместо этого вы должны запустить VNC-сервер на 127.0.0.1 , добавив -localhost в командную строку:

 vncserver -localhost ... 

Затем используйте туннелирование ssh чтобы связать порт на вашем компьютере с портом на сервере. Например (предположим, что ваш VNC-сервер работает на порту по умолчанию)

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

Затем, пока это соединение ssh будет живым, вы можете подключить своего клиента VNC к порту 5900 на своей собственной машине.

(Это для машин * nix, если вы находитесь на машине Microsoft, вы все равно можете использовать putty для ssh tunneling )


Что вы никогда не должны делать

Серверы VNC не могут отключить функцию черного списка, но вы можете изменить параметры черного списка. Например:

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

(На некоторых дистрибутивах, особенно CentOS, я считаю, что команда должна быть vncconfig не vncserver )