Давайте сделаем чеклист подготовки linux сервера?
ОбщееОбновить все пакеты.Добавить нужные репозитории и их ключи в список (Nginx, PostgreSQL)В нужные места для deb-based добавить non-free contrib, т.к. в том же Debian из коробки только свободные пакеты.Поставить и включить bash-completion Поставить sudo, внести себя в группу админов, запретить root'у логиниться в системеПоставить ntp и ntp-date, указать сервера в файлах настройки
SSH (статья)Установить openssh-serverДобавить в ~/.ssh/authorized_keys свой публичный ключ.Увеличить длину серверных ключей до 2048 бит минимум, по-умолчанию везде 768.Сгенерировать серверные ключи заново.Отключить авторизацию по паролю.Запретить входить без пароляПоставить и настроить fail2banСменить порт SSH с 22 на какой-нибудь другой (отсекает 95% ScriptKiddies сразу же)
SSL (статья)Включить шифрование по ГОСТу (не всем нужно, но лично мне по работе - нужно всегда)
PostgreSQL (статья)Ставить только из официального репозитория последнюю стабильную версию.Оптимизировать настройки postgresql.conf с помощью этого сайта под конкретную систему / машину.Сделать Listen только на внутренний интерфейс локальной сети или вообще на localhost, если СУБД и сервер приложений будут на одной машине.Настроить pg_hba.confНаписать скрипты резервного копирования.
так как ставлю минимал, то:
tcpdump
mc
nano
wget
rsync
scp
remove NetworkManager
check all interfaces configs
add epel repo
update
configure firewall
доеду до работы, допишу