Новый сервер: первые шаги
Вопрос
Тебе выдали новый сервер с root-паролем. Что сделаешь в первые полчаса, чтобы он был в безопасности?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Обновить систему и включить автоматические обновления безопасности
Создать пользователя с sudo, добавить ключ Ed25519, проверить вход
Запретить root-логин и пароли в sshd, проверить `sshd -t` и вход в новой сессии
Фаервол: по умолчанию deny, открыть только SSH и нужные порты, по возможности SSH только с определённых IP
fail2ban, синхронизация времени, отправка логов и метрик в мониторинг
Сменить или удалить выданный root-пароль, не хранить секреты в истории
Что могут спросить следом
- Как не потерять доступ при настройке фаервола?
- Что такое unattended-upgrades?
- Чем ufw отличается от iptables?
Разбор
Сначала обновляю пакеты и включаю автоматическую установку обновлений безопасности, в Ubuntu это unattended-upgrades. Создаю своего пользователя, даю ему sudo, кладу публичный ключ Ed25519 и проверяю вход. Затем в sshd_config запрещаю root-логин и пароли, проверяю sshd -t, делаю reload и обязательно захожу в новом окне, не закрывая старое. Фаервол: политика по умолчанию deny на вход, разрешаю SSH (лучше только с офисных IP или через VPN и бастион), 80 и 443, если это веб. Важно сначала разрешить SSH, потом включать deny. Ставлю fail2ban, проверяю синхронизацию времени, подключаю сервер к мониторингу и централизованным логам. Выданный root-пароль меняю на случайный или блокирую. И отдельно слежу, чтобы секреты не попадали в историю shell и в репозиторий.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.