Rose debug info
---------------

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

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

Чеклист

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

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
Deployment: настраиваем пользователей

Поделиться
Отправить
 239   7 мес   linux   sys_admin   чеклист