Как скрыть SSH-доступ на общедоступном веб-сервере? - PullRequest
1 голос
/ 07 апреля 2011

Я арендую VPS, и сейчас он используется в качестве моего веб-сервера и базы данных MySQL. При аренде VPS, они дают вам SSH доступ к нему. Есть ли способ для меня, чтобы скрыть (заставить его казаться, что он не существует) SSH и MySQL вне соединений, кроме моих собственных?

Я не хочу, чтобы публичные пользователи видели, что SSH включен, хотя они, вероятно, не будут угадывать пароль.

Ответы [ 6 ]

5 голосов
/ 07 апреля 2011

Установка демона port-knock.Он ищет «специальные» последовательности «ударов портов» и затем открывает брандмауэр так, как вы этого хотите.

knock myserver.example.com 123:tcp 456:udp 789:tcp
5 голосов
/ 07 апреля 2011

Вы можете использовать Стук порта , чтобы скрыть SSH.Я бы закрыл порт mysql и использовал для этого туннель SSH.

5 голосов
/ 07 апреля 2011

mysql: вы можете запретить соединения, кроме как с localhost, и использовать переадресацию порта ssh для удаленного доступа к вашей базе данных.

ssh: использовать нестандартный порт и переключиться на аутентификацию с открытым ключом.Вам все равно придется оставить порт открытым.

Редактировать: Fail2ban , возможно, стоит попробовать.Он будет блокировать подключения к вашей машине с данного адреса после повторных сбоев.

3 голосов
/ 07 апреля 2011

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

Вы также можете переместить SSH на что-то отличное от порта по умолчанию 22, чтобы заблокировать «глупые» сканеры ssh-атак, хотя это не остановит выделенные сканеры портов.

2 голосов
/ 07 апреля 2011

Некоторые мысли ...

  • Вы можете запустить sshd на нестандартном порту. Сканеры портов смогут заметить это, но скрипты, которые просто грохнут на порт 22, не увидят его.
  • Вы можете настроить его так, чтобы разрешать соединения только с указанных хостов (лучше сделать это на уровне брандмауэра, подумайте об этом). Это ограничит вашу возможность входа на него из любого места, но позволит sshd немедленно отклонить соединения из любого места, кроме указанных хостов.
1 голос
/ 07 апреля 2011

Я думаю, что два лучших варианта:

1) Скрыть серверы за брандмауэром и использовать VPN для связи. 2) Измените номера портов на случайные, чтобы они не были обнаружены при сканировании портов по умолчанию.

...