Повышение безопасности SSH в Debian (key / otp / 2fa)

Материал из Bas Wiki
Перейти к навигации Перейти к поиску

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

Настройка SSH-сервера

Настройка SSH-сервера осуществляется через конфигурационный файл /etc/ssh/sshd_config.

  • Port. Большое количество сканеров и ботов пытаются работать через порт 22, т.к. он указан по умолчанию. Изменение порта позволяет скрыть службу от перебора паролей, но не защитит вас если по серверу пройдутся сканером портов по полному диапазону.
  • PermitRootLogin. Данная опция контролирует возможность подключения под пользователем root.
    without-password - позволит подключиться если способ авторизации не требует ввода пароля (например, по ключу).
    no - запрещает вход по SSH пользователю root. Наиболее безопасный вариант работы.
  • AllowUsers. Данная опция позволяет указать учётные записи, под которыми можно войти по SSH. Делает бессмысленным перебор паролей, если пользователь не указан в этом списке.
  • PubkeyAuthentication. Доступ по ключу. Наиболее популярная на текущий момент мера. Позволяет не вводить пароль к учётной записи. Из минусов: компрометация приватного ключа учётной записи (украли, передали).
  • PasswordAuthentication. Опция позволяет включить или выключить авторизацию по паролю, поэтому не считается как таковым способом защиты. Если используются альтернативные способы входа в систему, то включенная опция является альтернативным способом попасть на сервер. Обычно при использовании др. способов авторизации вход по паролю выключают.
Ограничение доступа к SSH
  • Firewall. Жёстко и сурово. Доступ разрешается только для определённых адресов. Один из эффективных способов борьбы с несанкционированным доступом. Из минусов: слишком широкие диапазоны IP-адресов или IP-сетей сводят защиту на нет, а слишком короткие списки и диапазоны не позволят подключиться, например, от друзей или из другого города. Часто данный способ не подходит для внешних серверов, доступ к которым есть у большого количества пользователей из разных мест с динамическими диапазонами адресов.
  • Port Knocking. Разновидность фаервольной защиты, которая позволяет по определённым критериям и действиям разрешить доступ к SSH-порту. При слишком высокой настройке безопасности доступ будет невозможен без специализированного программного обеспечения. Более подробно можно прочитать в цикле статей: http://blogerator.ru/page/pozadi-zakrytyh-dverej-port-knocking-bezopasnost-dostupa-knockd-zaschita-ssh-1
Настройка доп. средств авторизации