Как не запороть сервер в первый же день: топ ошибок новичка
Эдгар Косулин 5 мин чтения
Серия «Свой сервер с нуля» · часть 5 из 13
Содержание
Вы подключились по SSH, чёрный экран больше не пугает, и руки чешутся что-нибудь настроить. Вот тут и подстерегает новая опасность. В первый день сервер ломают не от страха, а от энтузиазма, когда хочется сразу всё поставить, поправить и запустить. И ломают почти всегда одинаково, по одним и тем же предсказуемым сценариям.
Хорошая новость: если знать про эти грабли заранее, обойти их - дело пары минут. Ниже список ошибок, на которых обжигаются практически все новички, и что делать вместо них. Сразу важная мысль, которая многих отрезвляет: ваш сервер атакуют с первой же минуты. Не потому что вы кому-то интересны лично, а потому что боты круглосуточно сканируют весь интернет подряд и стучатся в каждый найденный адрес. «Я слишком мелкий, меня не тронут» - это первая и самая опасная иллюзия.
1. Жить под root и всё делать от его имени
Самая частая привычка новичка: зайти суперпользователем и так и работать. Проблема в том, что root всемогущ: он выполнит любую вашу команду без вопросов, без «вы уверены?» и без права на ошибку. Одна опечатка в разрушительной команде, и откатывать нечего. А если кто-то получит доступ к root, он получит вообще всё.
Что делать: заведите обычного пользователя и дайте ему права sudo. Повседневную работу ведите под ним, а права суперпользователя поднимайте точечно, когда они действительно нужны. Так каждая опасная команда требует осознанного шага, а не происходит на автомате.
2. Оставить вход по паролю и пустить root по SSH
Связка «root плюс пароль» - конфигурация по умолчанию и одновременно самая атакуемая в интернете. Те самые боты круглосуточно перебирают пароли на всех серверах подряд, и слабый или стандартный пароль они подберут быстрее, чем вы думаете.
Что делать: настройте вход по SSH-ключам, отключите вход по паролю и запретите логин под root по SSH. Про ключи мы говорили в прошлой статье, это ровно тот случай, ради которого их и заводят. Перебрать ключ практически невозможно, в отличие от пароля.
3. Заблокировать самому себе доступ файрволом
Классика, на которой спотыкались тысячи людей. Вы решаете включить файрвол (ufw, iptables, неважно), вводите команду активации, и тут же теряете подключение. Потому что файрвол по умолчанию закрыл всё, включая порт SSH, через который вы сейчас и сидите. Зайти обратно вы больше не можете.
Что делать: сначала явно разрешите SSH-порт (обычно 22), и только потом включайте файрвол. Порядок здесь критичен: сначала открыть себе дверь, затем запирать остальные.
4. Менять важное, не оставив пути назад
Сюда же относится более широкая ошибка. Вы правите конфиг SSH или настройки сети в единственном открытом окне, перезапускаете службу и закрываете сессию. Если в конфиге закралась ошибка, переподключиться уже нельзя. Вы сами себя выставили за дверь и заперли её снаружи.
Что делать: запомните золотое правило: при правках доступа держите вторую сессию открытой. Поменяли настройку, не закрывая старое окно, откройте новым подключением и убедитесь, что вход работает. Только после этого закрывайте первую сессию. А перед серьёзными изменениями делайте снапшот (об этом ниже).
5. Копировать команды из интернета не глядя
Нашли на форуме готовую команду, вставили с sudo, нажали Enter и не очень понимаете, что именно произошло. Так теряют сервера. Одна строчка вроде rm -rf способна стереть половину системы, а конструкция curl ... | bash скачивает и тут же запускает чужой скрипт с полными правами: вы доверяете незнакомцу ключи от всего.
Что делать: прежде чем выполнять чужую команду, разберитесь, что она делает. Если не понимаете, не запускайте. Берите решения из официальной документации, а не из случайного комментария, и относитесь к командам с sudo как к серьёзным действиям, а не к копипасте.
6. Не сделать снапшот перед экспериментами
Новичок настраивает всё подряд на «живом» сервере, что-то ломает и обнаруживает, что откатиться некуда. Остаётся переустанавливать систему с нуля и начинать заново.
Что делать: почти у всех провайдеров есть снапшоты, мгновенные снимки состояния сервера. Сделайте снимок перед большими изменениями. Это занимает минуту, а спасает целый день. Сломали что-то, откатились на снапшот, как будто ничего и не было.
7. Не обновить систему в первый же день
Свежий сервер не значит «свежий софт». В образе вполне могут быть устаревшие версии пакетов с уже известными уязвимостями. Если сразу начать ставить своё поверх старого, вы строите на дырявом фундаменте.
Что делать: первым делом обновите систему: apt update && apt upgrade или аналог для вашего дистрибутива. Это самое простое и самое недооценённое действие первого дня.
8. Выставить наружу лишнее
С энтузиазмом подняли базу данных, кэш или панель управления и оставили их открытыми в интернет, нередко вообще без пароля. Открытую базу или Redis без защиты сканеры находят за считаные часы и используют против вас: крадут данные, ставят майнер, превращают сервер в часть ботнета.
Что делать: наружу торчит только то, что действительно должно быть доступно снаружи. База данных обычно должна слушать лишь локальные подключения, внутренние сервисы прячутся за файрвол и закрываются паролями. Меньше открытых дверей, меньше способов войти без приглашения.
Чек-лист первого часа
Если коротко, безопасный старт укладывается в короткую последовательность. Сделайте её до того, как начнёте экспериментировать:
- Сделать снапшот, точку, в которую всегда можно вернуться.
- Обновить систему (
apt update && apt upgradeили аналог). - Завести обычного пользователя и дать ему
sudo. - Настроить SSH-ключи, отключить вход по паролю и логин под root.
- Включить файрвол, не забыв заранее разрешить SSH-порт.
- Проверить новым подключением, что вы всё ещё заходите, и только потом закрыть старую сессию.
Почти все смертельные ошибки первого дня обратимы, если у вас есть снапшот и вторая открытая сессия. Сервер не хрупкий, он честный: делает ровно то, что вы ему велели, включая глупости. Поэтому относитесь к первому дню как к настройке, а не как к экспериментам на боевой машине. Спокойно, по шагам, с путём назад, и запороть сервер у вас просто не получится.
Серия
Свой сервер с нуля
- 1. «VDS, VPS, хостинг, облако: что это?» Разбираем терминологию без занудства
- 2. Nginx vs Apache: холивар, который пора закрыть (или нет)
- 3. Зачем вообще арендовать сервер, если есть условный хостинг за 100 рублей
- 4. SSH для тех, кто боится чёрного экрана
- 5. Как не запороть сервер в первый же день: топ ошибок новичка
- 6. SSH-ключи за 10 минут: настраиваем вход без пароля
- 7. Поднимаем свой сайт на VPS за вечер: честный пошаговый путь
- 8. Ставим WordPress на свой VPS: PHP, база и финальная сборка
- 9. Свой почтовый сервер: героизм или мазохизм?
- 10. Docker на VPS: когда это спасение, а когда стрельба из пушки по воробьям
- 11. Настраиваем домен и SSL так, чтобы браузер перестал ругаться
- 12. Бэкапы, которые реально спасут, а не лежат мёртвым грузом
- 13. Как прописать PTR для почтового сервера: почему в DNS домена её нет и кто её меняет
Новые статьи и разборы — в канале Siteko: Telegram MAX
Подписчикам: +30 дней к пробному хостингу, клиентам: +150 ₽ на баланс