Защита ssh на сервере с помощью git

Чтобы предотвратить атаки методом перебора по ssh на серверы нашего отдела, я могу использовать брандмауэр для них из большего Интернета и разрешить доступ только из подсети нашего кампуса. Я все еще могу получить к ним доступ извне через VPN или через хост-шлюз с централизованным управлением.

Но у нас запущен сервер gitlab, а git использует порт ssh. Наши пользователи gitlab находятся за пределами кампуса, а некоторые не являются сотрудниками университета и не имеют доступа к VPN или шлюзу. Если бы я настроил брандмауэр, как указано выше, я бы заблокировал их.

gitlab использует ssh с одним именем пользователя: git , и все открытые ключи пользователей gitlab находятся в git пользователя .ssh / authorized_keys с командой command = для запуска службы для конкретного запроса git. Пользователи Gitlab не получают доступа к оболочке. Только администраторы могут получить оболочки.

Это лучший подход к безопасности на сервере gitlab:

  • открыть порт SSH на брандмауэре
  • отключить вход по паролю на SSH
  • запустить fail2ban с ssh jail

Есть ли другой способ заблокировать доступ из диапазона IP только для раздела ssh имена пользователей? т.е. разрешить ssh пользователю git из любого места и разрешить доступ ssh для любого другого имени пользователя только из нашей подсети кампуса? Я полагаю, брандмауэры не могут сделать это без проверки пакетов, так что, может быть, это что-то в конфигурации sshd ?

0
задан 27 March 2019 в 12:58
2 ответа

Сделайте его выходным в Интернет

Для удобства пользователя (и вашего) можно запустить GitLab с выходом в Интернет.gitlab.com делает это в масштабе.

Компоненты для защиты - это sshd и веб-приложение Ruby on Rails.

Отключите аутентификацию пароля ssh с помощью обычной директивы openssh PasswordAuthentication . Пользователь git из GitLab вынужден использовать gitlab-shell через authorized_keys, которыми он управляет. Вы можете ограничить разрешенные форматы и длину ключей, если хотите.

Поместите любые запреты или тюрьмы перед sshd, которые вы хотите. fail2ban, sshguard, denyhosts.

Интеграция с Rack :: Attack позволяет регулировать и блокировать в веб-приложении.

И включить многофакторную аутентификацию , что всегда полезно для приложений.

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

0
ответ дан 24 November 2019 в 00:27

Конфигурация sshd имеет этот атрибут

AllowUsers username

Вы можете попробовать.

0
ответ дан 24 November 2019 в 00:27

Теги

Похожие вопросы