The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Помещение пользователей в chroot средствами OpenSSH

25.04.2007 10:25

В материале "Put your OpenSSH server in SSHjail" представлен патч SSHjail для OpenSSH, позволяющий изолировать некоторых пользователей в chroot окружениях.

Настройки хранятся в /etc/sshjail.conf, возможно определение нескольких chroot окружений с привязкой к ним групп пользователей.

Другие подобные патчи:

  • Патч для помещения пользователей в chroot, при обнаружении маски "/./" в имени домашнего каталога в /etc/passwd (старая версия);
  • Патч для FreeBSD, помещает в chroot или jail по логину или группе;
  • Патч для помещения избранных пользователей в chroot (openssh-3.5p1). Добавляет директивы ChrootDir, ChrootAll, ChrootUsers, NoChrootUsers;
  • Патч sftp-server для запрещения выхода за рамки домашнего каталога.
  • chroot+sftp hack - делает chroot при соединении по SFTP, если в пути к домашней директории пользователя указано /./;

    1. Главная ссылка к новости (http://security.linux.com/arti...)
    Лицензия: CC-BY
    Тип: английский / Практикум
    Короткая ссылка: https://opennet.ru/10580-chroot
    Ключевые слова: chroot, openssh, ssh
    При перепечатке указание ссылки на opennet.ru обязательно
    Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Andrew (??), 12:15, 25/04/2007 [ответить]  
  • +/
    Раньше это делалось с помощью pam_chroot...
     
     
  • 2.2, visir (?), 12:44, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    и сейчас тоже делается, но изобретатели велосипедов не спят... ;)
     
  • 2.5, Alex Ryabov (?), 11:55, 26/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Раньше это делалось с помощью pam_chroot...

    А как именно это делается на FreeBSD, можете рассказать?

     

  • 1.3, Аноним (-), 22:27, 25/04/2007 [ответить]  
  • +/
    Отличная вещь если все работает так как написано на сайте автора. Поддержку pam прикручивать не хочется, а вариант с /./ в passwd это даже не велосипед, это апгрейд круглого колеса до квадратного, чтобы по шпалам было удобнее ездить.
    Вот только сдается мне, старая проблема с необходимостью класть юзеру в хоум бинарники и либы для sftp-server осталась. Остается лишь поностальгировать по временам когда www.ssh.com раздавалбесплатно свой софт для некоммерческого использования.
     
     
  • 2.4, Dimez (??), 09:50, 26/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А сейчас он не раздаёт разве? На ftp.ssh.com лежит ssh-3.2.9.1.tar.gz. К нему, правда, для нормальной работы нужен патч
    $ cat patch-3.2.9.1.diff
    diff -uNr ssh-3.2.9.1.orig/lib/sshreadline/sshreadline.c ssh-3.2.9.1/lib/sshreadline/sshreadline.c
    --- ssh-3.2.9.1.orig/lib/sshreadline/sshreadline.c      2003-12-03 08:17:20.000000000 -0500
    +++ ssh-3.2.9.1/lib/sshreadline/sshreadline.c   2004-02-02 11:18:46.000000000 -0500
    @@ -500,8 +500,9 @@
       new_term.c_lflag &= ~(ECHO | ICANON);
       new_term.c_cc[VMIN] = 1;
       new_term.c_cc[VTIME] = 1;
    -  if (tcsetattr(fd, TCSAFLUSH, &new_term) < 0)
    +   fast:  if (tcsetattr(fd, TCSAFLUSH, &new_term) < 0)
         {
    +       if (EINTR == errno) goto fast;
           ssh_warning("tcsetattr failed in ssh_rl_set_tty_modes_for_fd: "
                       "fd %d: %.200s", fd, strerror(errno));
           return -1;
    @@ -561,8 +562,9 @@
    {
       fcntl(fd, F_SETFL, fcntl_flags);

    -  if (tcsetattr(fd, TCSAFLUSH, saved_tio) < 0)
    +   fast1:   if (tcsetattr(fd, TCSAFLUSH, saved_tio) < 0)
         {
    +        if (EINTR == errno) goto fast1;
           ssh_warning("tcsetattr failed in ssh_rl_restore_tty_modes_for_fd: "
                       "fd %d: %.200s", fd, strerror(errno));
           return -1;

     
  • 2.6, toka (?), 09:24, 27/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    просвятите незнающего, чем ssh лучше openssh?
     
     
  • 3.7, СомеОне (?), 20:32, 27/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >просвятите незнающего, чем ssh лучше openssh?
    OpenSSH is a derivative of the original and free ssh 1.2.12 release by
         Tatu Ylonen.  Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
         de Raadt and Dug Song removed many bugs, re-added newer features and cre-
         ated OpenSSH.  Markus Friedl contributed the support for SSH protocol
         versions 1.5 and 2.0.
    Так что опенссх лучше, а не ссх


     

  • 1.8, Павел (??), 23:39, 23/12/2007 [ответить]  
  • +/
    бился, бился как чрутился так и чрутится дальше и спокойно выходит за пределы корня...
    может у кого получилось?
     
     
  • 2.9, hurd (?), 11:24, 21/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    работает однако на Debian Etch. Хорошая статья
     

  • 1.10, pLastUn (?), 18:42, 21/02/2008 [ответить]  
  • +/
    На FreeBSD 6.2 не работает.(не chroot-ится), Кому удалось проделать это на FreeBSD, поделитесь нюансами!!!  
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру