Мини-чек-лист
- Обновить систему, включить автопатчи, настроить время.
- Создать админа, настроить ключи SSH, ограничить логин паролем.
- Включить файрвол, защитить sshd rate-limit’ом, поставить fail2ban.
- Создать swap (если ОЗУ ≤ 4–8 ГБ).
- Задать hostname и FQDN, проверить PTR.
Обновления, время, базовые утилиты
sudo apt update && sudo apt -y upgradesudo apt install -y vim curl wget ca-certificates gnupg lsb-release \jq htop net-tools unzip ufw fail2ban unattended-upgrades ntpsudo dpkg-reconfigure --priority=low unattended-upgradessudo timedatectl set-timezone Europe/Berlinsudo systemctl enable --now ntp
Пользователь и ключи SSH
# создайте админа (замените admin на нужного)sudo adduser adminsudo usermod -aG sudo admin
# включите вход по ключу и запретите пароли (безопасный вариант)sudo -u admin mkdir -p /home/admin/.sshsudo -u admin chmod 700 /home/admin/.ssh
# вставьте ваш публичный ключ вместо примера одной строкой:echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB5X8bWkAqQe7zVn0g7r6Q0z9m1b7XJm1qI8QwXyDemo admin@host' | sudo tee /home/admin/.ssh/authorized_keyssudo chown -R admin:admin /home/admin/.sshsudo chmod 600 /home/admin/.ssh/authorized_keys
# жёсткие настройки sshd drop-insudo bash -c 'cat >/etc/ssh/sshd_config.d/99-hardening.conf <<EOFPermitRootLogin prohibit-passwordPasswordAuthentication noPubkeyAuthentication yesChallengeResponseAuthentication noUsePAM yesEOF'sudo sshd -t && sudo systemctl reload ssh
UFW и базовая защита
sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow 22/tcp comment 'SSH'sudo ufw limit 22/tcp comment 'SSH rate limit'sudo ufw enablesudo ufw status verbose
Fail2ban по умолчанию
sudo bash -c 'cat >/etc/fail2ban/jail.d/sshd.local <<EOF[sshd]enabled = truebantime = 1hfindtime = 10mmaxretry = 6EOF'sudo systemctl enable --now fail2bansudo fail2ban-client status sshd
Swap (пример на 2 ГБ)
sudo fallocate -l 2G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfileecho '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabsudo swapon -a && swapon --show
Hostname и FQDN
echo 'srv01' | sudo tee /etc/hostnamesudo hostnamectl set-hostname srv01
Какие «панели» бывают и когда их ставить
- Хостинг-панели для сайтов и почты
HestiaCP, ISPConfig, aaPanel. Подойдут, если нужно быстро поднять веб-хостинг, базы, почту, FTP, DNS.
- Панели для контейнеров
Portainer (Docker UI), Yacht. Быстрый визуальный контроль стека, деплой по шаблонам.
- Реверс-прокси и SSL
Nginx Proxy Manager — удобная веб-морда к Nginx, автоматические сертификаты.
- Коллаборация и файлы
Nextcloud — «личный Dropbox» с пользователями, шифрованием и приложениями.