Linux, защита сервера от атак?
Наиболее правильно сделать всё, что сказали выше +
1. выключить авторизацию по паролю(только через сертификат)
2. в iptables поставить доступ к ssh только с определённых ip
3. в ssh продублировать доступ с определённых ip
4. Для nginx скрыть версию, для php тоже, для системы тоже почитать как она скрывается
5. настроить fail2ban для всех открытых сервисов с авторизацией
6. на всех сервисах ограничить количество одновременных соединений, тут везде по-разному. limits и прочее
Для параноиков всегда можно сделать на сервере openvpn на 443 порту, разрешить совместное использование оного с nginx, сбацать себе сертификат неэкспортируемый, передать его сложным путём через дробленный архив с паролем, затем импортировать используя пароль в закрытое хранилище устройства и сидеть с него в ssh на сервер.
1. SSH - на нестандартный порт, запрет логина рутом (логиниться удаленно простым пользователем и дальше su/sudo). Подбор пароля рута к SSH на 22-м порту - самый основной вектор атаки.
2. Регулярные обновления по безопасности.
3. По безопасной настройке ngx - куча инфы в сети.