Добрый день !CentOS 5.2
В доках по безопасности говорят, что root'у сразу по ssh нежелательно логиниться + пользователю выше домашней папке надо запретить ходить.
Сделал через OpenSSH заход не рута через chroot ( ChrootDirectory /home ), chroot работает. Chroot окружение делаю скриптом с http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/ .
Через su стать рутом неудаётся, пишет "incorrect password". Если сразу входить под рутом, то входится нормально.
Как из chroot сделаться рутом ?
>Добрый день !
>
>CentOS 5.2
>В доках по безопасности говорят, что root'у сразу по ssh нежелательно логиниться
>+ пользователю выше домашней папке надо запретить ходить.
>Сделал через OpenSSH заход не рута через chroot ( ChrootDirectory /home ),
>chroot работает. Chroot окружение делаю скриптом с http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/ .
>Через su стать рутом неудаётся, пишет "incorrect password". Если сразу входить под
>рутом, то входится нормально.
>Как из chroot сделаться рутом ?В описываемой ситуации -- никак.
За объяснением -- к просмотру исходников скрипта в том месте, где в chroot()'ed environment формируются /etc/passwd, /etc/shadow и /etc/group.
Hint: use sudo(8) :)
>[оверквотинг удален]
>>+ пользователю выше домашней папке надо запретить ходить.
>>Сделал через OpenSSH заход не рута через chroot ( ChrootDirectory /home ),
>>chroot работает. Chroot окружение делаю скриптом с http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/ .
>>Через su стать рутом неудаётся, пишет "incorrect password". Если сразу входить под
>>рутом, то входится нормально.
>>Как из chroot сделаться рутом ?
>
>В описываемой ситуации -- никак.
>За объяснением -- к просмотру исходников скрипта в том месте, где в
>chroot()'ed environment формируются /etc/passwd, /etc/shadow и /etc/group.Т.е. из chroot белыми способами никак в root не вернуться или можно, но надо править скрипт ?
>Hint: use sudo(8) :)
А sudo можно скрестить с запретом выхода пользователя из домашней директории ?
Как я понял sudo - это просто запуск программы с правами root'а, папки то пользователь может смотреть любые.
Для того пользователь из которого делаете su -, не надо применять скрипт.
>Для того пользователь из которого делаете su -, не надо применять скрипт.
>Сделал пользователя нового, вхожу им по ssh, можно через su сделаться рутом, но также можно зайти в любую папку и прочитать например /etc/passwd и т.п.
Хочу закрепить пользователя в пределах домашней директории. И не дать ему изменять любые файлы.
>>Для того пользователь из которого делаете su -, не надо применять скрипт.
>>
>
>Сделал пользователя нового, вхожу им по ssh, можно через su сделаться рутом,
>но также можно зайти в любую папку и прочитать например /etc/passwd
>и т.п.
>
>Хочу закрепить пользователя в пределах домашней директории. И не дать ему изменять
>любые файлы.К тем пользователям, которые должны быть ограничены применяй скрипт, к остальным не применяй :)
А к чему такая безопасность?
SELinux включи :) будет зело секюрно.
>>>Для того пользователь из которого делаете su -, не надо применять скрипт.
>>Хочу закрепить пользователя в пределах домашней директории. И не дать ему изменять
>>любые файлы.
>К тем пользователям, которые должны быть ограничены применяй скрипт, к остальным не
>применяй :)Так тут дедлок получается. Говорят не надо через ssh логинится root'ом. А заход не рутом всё равно даёт право бегать по секурным папкам. Chroot делает вроде секурно, но выйти в рут не даёт.
А просто настроить chmod'ом и группами доступ на папки можно, чтобы в ненужные места народ не лез ?>А к чему такая безопасность?
комп в датацентр хочу отдать, надо его закрыть поплотнее.
>SELinux включи :) будет зело секюрно.
Про SELinux почитаю, новое слово для меня. Как и linux изнутри за 3 последние недели :)
Ещё раз :)
"К тем пользователям, которые должны быть ограничены применяй скрипт, к остальным не применяй :)" т.е. кому надо, те будут иметь возможность сделать su -, остальные в chroot'е.Чтобы нельзя было бы логиниться root'ом в sshd_config PermitRootLogin no или without-password последнее разрешает логиниться рутом только по публичному ключу (может для бэкапа понадобиться)
>Ещё раз :)
>"К тем пользователям, которые должны быть ограничены применяй скрипт, к остальным не
>применяй :)" т.е. кому надо, те будут иметь возможность сделать su
>-, остальные в chroot'е.
>
>Чтобы нельзя было бы логиниться root'ом в sshd_config PermitRootLogin no или without-password
>последнее разрешает логиниться рутом только по публичному ключу (может для бэкапа
>понадобиться)Наверно я не врубаюсь :)
Вот что имеется :
Запрещается логиниться рутом.
Разрешается логиниться другим пользователем и потом через su/sudo работать.
Chroot это как отдельная машина получается и для дел su/sudo не годится.На стандартной инсталляции CentOS 5.2 я сделал обычного пользователя, через mc могу бегать по всем директориям. Смотреть /etc/passwd , правда смотреть /etc/shadow не могу 400 права.
Такая штука мне не подходит - в манах по безопасности пишут, что надо всё прикрывать ( chroot блин то самое, но su на нём не сделаешь. )
Есть какие-нибудь варианты ?Поискал в инете насчёт грамотного chmod + chown, как надо закрывать файлы. Но файлов столько, что непонятно как закрыть, чтобы потом работала система. Пока смотрю http://www.opennet.me/base/sec/linux_sec_guide.txt.html . Убрал SUID бит со всех, кроме su/sudo. После перезагрузки некоторые файлы опять с этим флагом :)
Попробуйте из мартышки дорасти до человека разумного. Не заучивайте инструкции как аксиомы, а понимайте их причины, смысл и границы применения.
Отвечая на начальный вопрос, добавьте в chroot окружение устройство с корневой fs и 600 root. Перейдя под рута вы сможете его замонтировать и сделать chroot.
Вы чего хотите добиться, сформулируйте по пунктам, плз.
>Вы чего хотите добиться, сформулируйте по пунктам, плз.1. Доступ под root
2. Доступ под сервисными логинами для сервисных операций. Бекап, запуск/перезапуск определённых виртуальных машин и т.п. Но чтобы сервисные логины были ограниченны выполнением чётко заданных программ и данных. К остальным не могли добраться.всего 2 пункта :)
>>Вы чего хотите добиться, сформулируйте по пунктам, плз.
>
>1. Доступ под root
>2. Доступ под сервисными логинами для сервисных операций. Бекап, запуск/перезапуск определённых виртуальных
>машин и т.п. Но чтобы сервисные логины были ограниченны выполнением чётко
>заданных программ и данных. К остальным не могли добраться.
>
>всего 2 пункта :)может тогда стоит посмотреть force command в ssh?
http://oreilly.com/catalog/sshtdg/chapter/ch08.html#22858
>>>Вы чего хотите добиться, сформулируйте по пунктам, плз.
>>
>>1. Доступ под root
>>2. Доступ под сервисными логинами для сервисных операций. Бекап, запуск/перезапуск определённых виртуальных
>>машин и т.п. Но чтобы сервисные логины были ограниченны выполнением чётко
>>заданных программ и данных. К остальным не могли добраться.
>
>может тогда стоит посмотреть force command в ssh?
>http://oreilly.com/catalog/sshtdg/chapter/ch08.html#22858Под 2 задачу это хорошо подходит, особенно "Displaying a command menu". Можно добавить ещё какой-нить пароль на выбранное действие.
А вот с доступом под root не подходит, т.к. надо прописывать каждую команду - вот с ветки одного форума ( http://www.linux.org.ru/view-message.jsp?msgid=1185724 ) :
>PermitRootLogin forced-commands-only
>можно только непосредственно указав в .ssh/authorized_keys команды:
>command="ls" ssh-rsa AAAAB3NzaC1yc2EA...
доступ под root'ом нужен всем?
>доступ под root'ом нужен всем?Нет.
>>доступ под root'ом нужен всем?
>
>Нет.Тогда, тем кому нужен доступ даем обычный шелл, без чрута
остальным делаем чрут, форсе сомманд или ещё что-нибудьтакое годится?
>>>доступ под root'ом нужен всем?
>>Нет.
>
>Тогда, тем кому нужен доступ даем обычный шелл, без чрута
>остальным делаем чрут, форсе сомманд или ещё что-нибудь
>такое годится?Непонимаю следующее - для root захода через шелл надо зайти сначала под другим пользователем, а затем сделать su или работать через sudo. В обычной инсталляции CentOS 5.2 я под обычным пользователем могу бегать почти по всем директориям, я бегал через mc. Эта возможность несёт какую-нибудь угрозу для несанкционированного входа в root ?
Как настроить так, чтобы обычный пользователь не заходил в чужую домашную директорию я сделал.
>>>>доступ под root'ом нужен всем?
>
>Непонимаю следующее - для root захода через шелл надо зайти сначала под
>другим пользователем, а затем сделать su или работать через sudo. В
>обычной инсталляции CentOS 5.2 я под обычным пользователем могу бегать почти
>по всем директориям, я бегал через mc. Эта возможность несёт какую-нибудь
>угрозу для несанкционированного входа в root ?
>
>Как настроить так, чтобы обычный пользователь не заходил в чужую домашную директорию
>я сделал.О, да.
Не в коем случае не обычный пользователь.
Сделай пользователя COOL и только его впускай без chroot. :)))
настройте права
вы не сможите найти "серебряной пули" её не существует.
>настройте права
>вы не сможите найти "серебряной пули" её не существует.Благодарю за ответы и терпение !
>[оверквотинг удален]
>>такое годится?
>
>Непонимаю следующее - для root захода через шелл надо зайти сначала под
>другим пользователем, а затем сделать su или работать через sudo. В
>обычной инсталляции CentOS 5.2 я под обычным пользователем могу бегать почти
>по всем директориям, я бегал через mc. Эта возможность несёт какую-нибудь
>угрозу для несанкционированного входа в root ?
>
>Как настроить так, чтобы обычный пользователь не заходил в чужую домашную директорию
>я сделал.Если я правильно понял, смысл ваших сомнений в том, что пропадает одно кольцо защиты при доступе к файлам /.
1. Проверка ssh.
2. Проверка su.
Может для пользователя, который без chroot входит, дополнительную проверку (напр. парольную) поставить.
>[оверквотинг удален]
>>Непонимаю следующее - для root захода через шелл надо зайти сначала под
>>другим пользователем, а затем сделать su или работать через sudo. В
>>обычной инсталляции CentOS 5.2 я под обычным пользователем могу бегать почти
>>по всем директориям, я бегал через mc. Эта возможность несёт какую-нибудь
>>угрозу для несанкционированного входа в root ?
>Если я правильно понял, смысл ваших сомнений в том, что пропадает одно
>кольцо защиты при доступе к файлам /.
>1. Проверка ssh.
>2. Проверка su.
>Может для пользователя, который без chroot входит, дополнительную проверку (напр. парольную) поставить.Идея здравая. В итоге получается конечно навороченно.
Не понимаю почему новому пользователю сразу не запретить всё, кроме домашней директории и команд типа ls, vi и т.п. А потом уже с помощью утилиты открывать необходимые ресурсы.
>
>Не понимаю почему новому пользователю сразу не запретить всё, кроме домашней директории
>и команд типа ls, vi и т.п.Группу штрафбат организуй ...:))))
Ещё вариант - restricted shell
http://kbase.redhat.com/faq/docs/DOC-7051;jsessionid=929379B...
>Ещё вариант - restricted shell
>http://kbase.redhat.com/faq/docs/DOC-7051;jsessionid=929379B...О это на первый взгляд то что надо, просто зверско урезанные права :)
Потихоньку пишу в локальную вики что надо сделать, как соберётся материал - хочу на съедение гуру его отдать.
>>Ещё вариант - restricted shell
>>http://kbase.redhat.com/faq/docs/DOC-7051;jsessionid=929379B...
>
>О это на первый взгляд то что надо, просто зверско урезанные праваНарыл тут обход rbash :
запуск bash - попадаем в bash.
через ftp можно бегать и запускать программы, которые через rbash нельзя запускать.
есть наверно другие программы...поставил права на bash, ftp теперь не запускаются под rbash.
"через ftp можно бегать"
"ftp теперь не запускаются под rbash"хочется понять
>"через ftp можно бегать"
>"ftp теперь не запускаются под rbash"
>
>хочется понятьhttp://www.linux.org.ru/jump-message.jsp?msgid=2491099&cid=2...
вот выдержка оттуда :
anonymous@fucksecurity:~$ rbash
anonymous@fucksecurity:~$ typeset -xr LD_LIBRARY_PATH LD_AOUT_LIBRARY_PATH LD_NOWARN LD_KEEPDIR LD_AOUT_PRELOAD LD_PRELOAD LD_AUDIT
anonymous@fucksecurity:~$ ftp
ftp> !~/hello
Enter Your Name: anonymous
Hello anonymous
ftp> lcd /usr/bin
Local directory now /usr/bin
ftp> !./id
uid=1000(anonymous) gid=1000(anonymous) группы=1000(anonymous)
ftp> !echo yahooo rbash pwned again
yahooo rbash pwned again
ftp>
http://www.linux.org.ru/view-message.jsp?msgid=2491099&page=...
>Добрый день !
>
>CentOS 5.2
>В доках по безопасности говорят, что root'у сразу по ssh нежелательно логиниться
>+ пользователю выше домашней папке надо запретить ходить.
>Сделал через OpenSSH заход не рута через chroot ( ChrootDirectory /home ),
>chroot работает. Chroot окружение делаю скриптом с http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/ .
>Через su стать рутом неудаётся, пишет "incorrect password". Если сразу входить под
>рутом, то входится нормально.
>Как из chroot сделаться рутом ?ну уже ответили что, к чему применять.
хочу добавить одно - чтоб программы в chroot'e (например su то же) работали - им следует предоставить в этом chroot'e библиотеки/исходные данные/итд. от куда Ваш su, который chroot наприме в Ваш домашний каталог возьмет информацию о другрих пользователях - в частности об root? не задумывались? а есть над чем - чудес на свете не бывает.
>[оверквотинг удален]
>>рутом, то входится нормально.
>>Как из chroot сделаться рутом ?
>
>ну уже ответили что, к чему применять.
>
>хочу добавить одно - чтоб программы в chroot'e (например su то же)
>работали - им следует предоставить в этом chroot'e библиотеки/исходные данные/итд.
>от куда Ваш su, который chroot наприме в Ваш домашний каталог
>возьмет информацию о другрих пользователях - в частности об root? не
>задумывались? а есть над чем - чудес на свете не бывает.как я понял костяк библиотек скрипт ( на который я выше ссылку написал ) сам делает. И создаёт passwd и другие файлы.
Пока мне su вызывать в chroot не надо ( как я понял этот su будет всё равно в пределах chroot ), т.к. планирую днс, веб-сервер и т.п. на виртуалки через xen ставить.
>[оверквотинг удален]
>>работали - им следует предоставить в этом chroot'e библиотеки/исходные данные/итд.
>>от куда Ваш su, который chroot наприме в Ваш домашний каталог
>>возьмет информацию о другрих пользователях - в частности об root? не
>>задумывались? а есть над чем - чудес на свете не бывает.
>
>как я понял костяк библиотек скрипт ( на который я выше ссылку
>написал ) сам делает. И создаёт passwd и другие файлы.
>Пока мне su вызывать в chroot не надо ( как я понял
>этот su будет всё равно в пределах chroot ), т.к. планирую
>днс, веб-сервер и т.п. на виртуалки через xen ставить.итак -- заходит такой не root'овый пользователь.
но у него будет возможность стать root'ом.
он становится root'ом
создаёт device node. монтирует /. прыгает chroot'ом в /. и у него по прежнему имеются все права.решайте по другому.
>Добрый день !
>
>CentOS 5.2
>В доках по безопасности говорят, что root'у сразу по ssh нежелательно логиниться
>+ пользователю выше домашней папке надо запретить ходить.
>Сделал через OpenSSH заход не рута через chrootНаверное дело в том, что пользователь и пользователь -- таки две большие разницы.
Пользователи сервера (=тупые опасные юзеры, которым нет никакого доверия) и пользователь (=логин) администратора сервера, который этот сервер - да, сюрприз! - администрирует, становясь (su/sudo), когда надо root-ом...Угадай с трёх раз, которые их таких разных "пользователей" _имелись_в_виду_ в тех "доках по безопасности"... За правильный ответ -- призовые очки.
Отдельная медаль гения безопасности -- за правильный ответ, что надо было делать. Факультативно: рассмотрение вопроса "а надо ли было "и начинать"?"...
>Как из chroot сделаться рутом ?
>[оверквотинг удален]
>>Сделал через OpenSSH заход не рута через chroot
>
>Наверное дело в том, что пользователь и пользователь -- таки две большие
>разницы.
>Пользователи сервера (=тупые опасные юзеры, которым нет никакого доверия) и пользователь (=логин)
>администратора сервера, который этот сервер - да, сюрприз! - администрирует, становясь
>(su/sudo), когда надо root-ом...
>
>Угадай с трёх раз, которые их таких разных "пользователей" _имелись_в_виду_ в тех
>"доках по безопасности"... За правильный ответ -- призовые очки.После многих советов и даже сравнения меня с мортышкой могу сказать точно, что
- тупых опасных пользователей надо пихать в chroot ( либо на виртуальную машину )
- пользователь с su, это из "док по безопасности" в chroot пихать не надо, но что-нить в виде ещё одного ввода пароля придумать не помешает.>Отдельная медаль гения безопасности -- за правильный ответ, что надо было делать.
>Факультативно: рассмотрение вопроса "а надо ли было "и начинать"?"...Ветка стала больше походить на вопрос "как защитить сервер в интернете", про chroot основные вопросы стали понятны.
>После многих советов и даже сравнения меня с мортышкой могу сказать точно,
>что
>- тупых опасных пользователей надо пихать в chroot ( либо на виртуальную
>машину )
>- пользователь с su, это из "док по безопасности" в chroot пихать
>не надо, но что-нить в виде ещё одного ввода пароля придумать
>не помешает.
>
>Ветка стала больше походить на вопрос "как защитить сервер в интернете", про
>chroot основные вопросы стали понятны.Весеннее обострение, похоже. :)
Не страдайте паранойей.