Просто, как заставить ssh (порт 22) сбрасывать / отказываться от соединения, если получен запрос root @ ip_address, но все же позволить пользователю @ ip_address работать правильно. В основном скрыть тот факт, что на этом конкретном ip_address есть сервер.
У меня проблемы с поисковыми роботами на моем сервере (-ах). Корневое разрешение SSH уже отключено в sshd_config, а ограничение UFW уже используется.
Альтернативные сведения о проблеме / решении
Эти запросы медленно съедают мою оперативную память, порекомендуете ли вы в качестве ответа очистку кеша для ssh? и как?
Обновление и возможное быстрое решение
Хорошо, после того, как мы немного углубились в Fail2Ban, как было предложено, ребята из booleanworld проделали отличную работу по определению запрета на отбрасывание пакетов и отсутствие ответа.
ссылка здесь: https://www.booleanworld.com/protecting-ssh-fail2ban/
Вы не можете этого сделать.
Ваш сервер не имеет возможности узнать, под каким пользователем удаленное соединение будет пытаться войти в систему, пока оно уже не будет установлено!
Вам следует рассмотреть возможность использования fail2ban для блокировки повторяющихся нарушителей.
Вы можете отключить вход root через ssh, отредактировав /etc/ssh/sshd.conf
Всегда делайте резервную копию файлов конфигурации перед внесением изменений.
sudo cp /etc/ssh/sshd.conf /etc/ssh/sshd.conf.backup
Используйте любой редактор, который вам нравится, например, nano или vi, и редактируйте /etc/ssh/sshd.conf
Найдите или добавьте следующие строки;
AllowUsers someuser some_other_user
PermitRootLogin no
Сохраните файл и перезапустите свой ssh-сервер.
sudo systemctl restart sshd.service
Вы все еще можете выполнять корневые действия, используя судо и вы также можете переключиться в корень, набрав su root ru
Бонусный совет:
Пока у вас открыт файл конфигурации, найдите время, чтобы изучить его содержимое. Вы также можете найти другие полезные настройки. Прежде чем что-то менять, погуглите, что он делает, иначе вы рискуете заблокироваться.
поскольку TCP ориентирован на соединение протокол, для дальнейшей обработки / согласования требуется установленное соединение (например, имя пользователя в данном случае). Следовательно, указанное выше предложение из @ Майкл Хэмптон может быть вашим решением: запустите SSH-сервер на другом порту.
Злоумышленник может просканировать миллион хостов с помощью миллиона зондов, отправленных на порт 22 / tcp. Когда используется нестандартный порт, только 16 хостов можно просканировать с помощью миллиона зондов, поскольку необходимо протестировать до 65 534 дополнительных порта поверх уже известного.
Конечно, это не поможет вам, если вы уже являетесь целью, но есть вероятность, что вы уменьшите количество случайных сканирований на несколько порядков.
Для всех других злоумышленников, которые уже знают ваши машины, используйте решения для автоматизации фильтрации, такие как Fail2Ban. В противном случае вы получите массу правил брандмауэра, которые необходимо обрабатывать для каждого пакета SSH, прежде чем он будет принят. Это может привести к многократной потере циклов ЦП, когда ваши правила Netfilter со временем растут.