Bad Practices для сайтов
Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex
45
1 мин.

195
3 мин.
Для работы понадобятся nginx, docker и ufw. Проверьте установлены ли они:
docker --version && nginx -v && sudo ufw status
Если они еще не установлены, выполните следующие команды:
sudo apt update && sudo apt install nginx docker.io ufw -y
Никогда не работайте под пользователем root. Создайте нового пользователя и дайте ему права администратора.
Добавление пользователя:
adduser user # Замените 'user' на ваше имя
Вывод будет выглядеть так:
Adding user 'user' ...Enter new UNIX password:(вводите пароль, символы не отображаются).
Выдача прав и проверка:
usermod -aG sudo user groups user
Ожидаемый вывод:
user : user sudo.
Это самый надёжный способ защиты от брутфорса.
Если у вас уже есть SSH-ключ на компьютере, просто отправьте его на сервер:
ssh-copy-id user@ip_сервера
Если ключа нет, создайте его:
ssh-keygen -t ed25519 -C "user@vps" # Затем отправьте его командой ssh-copy-id, указанной выше
При копировании таким способом, может потребоваться ввести пароль от сервера, при вводе пароля он не будет отображаться из-за безопасности!
Теперь закройте возможность входа любым другим способом, кроме ssh-ключа.
Откройте конфиг sudo nano /etc/ssh/sshd_config
Найдите и измените (или добавьте) строки:
PermitRootLogin no - запрещает вход в систему напрямую под пользователем root через SSH;PasswordAuthentication no - отключает возможность входа на сервер с использованием обычного пароля;ChallengeResponseAuthentication no - отключает аутентификацию по принципу "вызов-ответ";UsePAM no - отключает использование модуля PAM (Pluggable Authentication Modules) для SSH.Перезапустите службу sudo systemctl restart ssh
Теперь при попытке войти под root вы увидите
root@ip: Permission denied (publickey).
Фаервол блокирует все порты, кроме тех, что мы разрешим.
Для большей безопасности смените порт для SSH на другой, и также добавьте его в конфиг UFW!
sudo ufw enable sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw status
Вывод команды
statusдолжен быть таким:Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere
React2Shell - критическая уязвимость, позволяющая хакерам исполнять свой код на вашем сервере через формы React.
Посмотрите список процессов и файлов. Подозрительные признаки:
ssh.sh, sex.sh, kai.tar.gz, httd.top или htop.Обновление Next.js - обновитесь до безопасных версий: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7.
Node.js 24 - используйте новую модель разрешений Node для ограничения доступа к файлам.
Безопасный Docker:
--read-only.Если вас взломали - удалите зараженные поды/контейнеры, очистите кэши и обязательно смените все секретные ключи и пароли.
Статья будет дополнятся
Похожие категории:
Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex
45
1 мин.
Решение проблемы с работой Vite при включённом VPN, настройка соединения, для избежания перенаправления локального трафика в VPN-туннель
184
2 мин.