Настройка новой виртуальной машины

Время от времени поднимаю виртуальные машины на убунту для своих проектов или экспериментов. Первое что я настраиваю — безопасность. Раньше у меня не было единого чек-листа и приходилось каждый раз гуглить. Поэтому решил сделать такой список и оставить у себя в блоге, чтобы обращаться к нему по мере необходимости.

Чеклист

  1. Создать нового пользователя вместо root.
  2. Настроить доступ по ssh ключам.
  3. Отключить доступ по паролю для ssh.
  4. Отключить доступ для root через ssh.
  5. Заблокировать все порты в ufw, кроме 80, 22 и 443.

Terminal

# Создаем нового пользователя и добавляем в группу sudo.
adduser bstefaniuk
usermod -aG sudo bstefaniuk

# Копируем свой публичный ключ для нового пользователя.
ssh-copy-id [email protected]

# Отключаем доступ по паролю и root для ssh.
nano /etc/ssh/sshd_config
## Установить значения:
PasswordAuthentication no
PermitRootLogin no
## Перезапустить службу
systemctl restart ssh

# Настройка ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80
ufw allow 433
ufw enable
## Проверяем что все ОК
ufw status

В будущем хочу написать ansible-playbook скрипт, который будет все настраивать сам.

Хороший мануал по ufw
Генератор конфигураций nginx

Поделиться
Отправить
 85   1 мес   linux   sys_admin   чеклист
Популярное