Как ограничить всех кроме определенной группы в SSH?

Я повторил бы Paul Randal, что нет очень, который не документируется. Проблема прочитывает безбожные количества документации. Я резюмировал самое важное (все же not-so-obvious) в моем Контрольном списке Установки SQL Server:

http://www.brentozar.com/archive/2008/03/sql-server-2005-setup-checklist-part-1-before-the-install/

Некоторые примеры включают:

  • Установка безопасности для использования в своих интересах Мгновенной Инициализации Файла
  • Выравнивание Ваших разделов
  • Используйте мультисоединение каналом и поймите, как оно работает
  • Не принимайте на себя непосильные обязательства на памяти (люди RDP в поля и выполняйте вещи, таким образом запланируйте это),

8
задан 23 July 2009 в 19:14
4 ответа

Если Вы используете OpenSSH 5.1, или позже затем он поддерживает отрицание Match Group.

Принятие значений по умолчанию хорошо для группы admin, затем просто изменяет всех остальных:

Match Group *,!admin
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Нет действительно никакой причины полагаться на сторонние оболочки, чтобы сделать этот вид задания с недавними выпусками OpenSSH.

18
ответ дан 2 December 2019 в 22:44
  • 1
    Да, это точно, что я искал. Теперь, если только это было в документации. –  robcast 24 July 2009 в 13:33
  • 2
    На это отчасти ссылается ссылка на раздел PATTERNS ssh_config (5). Это было бы немного более просто все же если это didn' t требуют предыдущего подстановочного знака. Хотя это решение оказывается более простым, мне жаль, что не было none аргумент ForceCommand также. –  Dan Carley 24 July 2009 в 13:44

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

http://mysecureshell.sourceforge.net/

3
ответ дан 2 December 2019 в 22:44

То, что Вы хотите, является scponly. При выполнении Debian/Ubuntu, это находится в repos. После того, как установленный, Вы просто делаете следующее:

$ sudo chsh -s /usr/bin/scponly username

Это также разрешает Вам chroot пользователей.

Кроме того, можно сделать следующее:

$ usermod -s /usr/lib/sftp-server username
$ echo '/usr/lib/sftp-server' >> /etc/shells

Первая строка ограничивает оболочку пользователя sftp. Вторая строка должна сделать sftp-сервер допустимой оболочкой.

Поскольку Вы не указывали ОС, которую Вы используете, я не могу адаптировать команды в соответствии с Вашими определенными потребностями.

2
ответ дан 2 December 2019 в 22:44
  • 1
    Я didn' t указывают его, но я can' t изменяют пользовательские оболочки, потому что эта информация прибывает из LDAP, и реальная оболочка необходима там. –  robcast 24 July 2009 в 12:54
  • 2
    Кроме того, начиная с OpenSSH 5.1 встроенная возможность ForceCommand более безопасна, чем scponly. –  robcast 24 July 2009 в 12:57
  • 3
    Кроме того, этот doesn' t решают проблему ограничения по умолчанию и разрешения единственной группы. –  robcast 24 July 2009 в 12:58

Если пользователям не нужен доступ к тем же файлам, а скорее Вы не хотите настраивать второй сервер только для sftp, я рекомендовал бы виртуализацию вместо этого. Можно установить OpenVZ и установить очень легкий вес VMs для обработки этого.

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

0
ответ дан 2 December 2019 в 22:44

Теги

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