Как запретить создание пользователей с root привилегией?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Shock
Сообщения: 6

Как запретить создание пользователей с root привилегией?

Сообщение Shock »

Вопрос, собственно в заголовке темы - можно ли запретить создание новых пользователей с root привелегией. Т.е. чтобы даже root не мог создавать больше пользователей с такими же привилегиями.

Подойдет также такой вариант: понаставить ограничений на группу root - это возможно ? как ?

Для чего мне это нужно - есть сервак, на нем полно сайтов и со всем чем только можно - phpBB, osCommerce, Wordpress и еще куча самописных скриптов и все это не обновлялось много лет. Выяснили, что кто-то удаленно (я думаю через phpBB - там есть похожий эксплойт) смог создать юзера с root привилегиями и с помощью этого пользователя хакнул сервак принеся немалый вред. Вот я и думаю как защитить от последующих хаков. Запретить создавать пользователей с root привилегией.

Как ??
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Как запретить создание пользователей с root привилегией?

Сообщение Ленивая Бестолочь »

Shock писал(а):
10.09.2009 14:01
есть сервак, на нем полно сайтов и со всем чем только можно - phpBB, osCommerce, Wordpress и еще куча самописных скриптов и все это не обновлялось много лет

5+
для начало все обновите. я имею в виду систему, wordpress-ы и т.п. можно не трогать.
то, что вы описываете достигается с помощью rbac. например selinux.

у вас линукс вообще? возможно стоит подумать о разграничении ваших сайтов по разным доменам/виртуальным машинам?
в таком случае для linux смотрите xen, для solaris - зоны, для bsd - chroot jail-ы.

ну вообще - chroot попробуйте: http://www.opennet.ru/base/sec/apache2_chroot.txt.html
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Как запретить создание пользователей с root привилегией?

Сообщение Frank »

Рут, вобще-то, один, а всё остальное - юзеры, права (прежде всего - лишь файловые) которых определяются группами, в которых они состоят. Если юзер Вася состоит в группе root, это ещё не означает, будто он может делать всё то же самое, что и "настоящий" рут.
Изображение
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: Как запретить создание пользователей с root привилегией?

Сообщение strah »

Frank писал(а):
10.09.2009 19:05
Рут, вобще-то, один, а всё остальное - юзеры, права (прежде всего - лишь файловые) которых определяются группами, в которых они состоят. Если юзер Вася состоит в группе root, это ещё не означает, будто он может делать всё то же самое, что и "настоящий" рут.

Код: Выделить всё

echo "toor::0:0:Yet another superuser:/:/bin/sh" >> /etc/passwd

Как то так.
/earth: file system full
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Как запретить создание пользователей с root привилегией?

Сообщение drBatty »

Shock писал(а):
10.09.2009 14:01
Т.е. чтобы даже root не мог создавать больше пользователей с такими же привилегиями.

это ПРИНЦИПИАЛЬНО НЕ ВОЗМОЖНО.
все ваши "защиты" рут снимет. причём не напрягаясь.

Frank писал(а):
10.09.2009 19:05
Рут, вобще-то, один, а всё остальное - юзеры, права (прежде всего - лишь файловые) которых определяются группами, в которых они состоят. Если юзер Вася состоит в группе root, это ещё не означает, будто он может делать всё то же самое, что и "настоящий" рут.

это сильно зависит от настроек системы... думаю в данном случае, имея простого юзера не сложно получить и группу, и UID == 0. (5 лет без обновлений и куча неведомых скриптов).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Как запретить создание пользователей с root привилегией?

Сообщение Ленивая Бестолочь »

drBatty писал(а):
10.09.2009 19:50
это ПРИНЦИПИАЛЬНО НЕ ВОЗМОЖНО.
все ваши "защиты" рут снимет. причём не напрягаясь.

это принципиально возможно, использую rbac.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: Как запретить создание пользователей с root привилегией?

Сообщение strah »

это ПРИНЦИПИАЛЬНО НЕ ВОЗМОЖНО.
все ваши "защиты" рут снимет. причём не напрягаясь.

Правильно настроеный SElinux и не такое запретить может. Конкретно: смотри на то, какой SElinux-пользователь назначен руту.
/earth: file system full
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Как запретить создание пользователей с root привилегией?

Сообщение Frank »

Ленивая Бестолочь писал(а):
10.09.2009 14:24
wordpress-ы и т.п. можно не трогать.

Ню-ню.
http://www.opennet.ru/opennews/art.shtml?num=23307
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Как запретить создание пользователей с root привилегией?

Сообщение drBatty »

Ленивая Бестолоч... писал(а):
10.09.2009 20:00
это принципиально возможно, использую rbac.

strah писал(а):
11.09.2009 01:33
Правильно настроеный SElinux и не такое запретить может.

конечно возможно:
1)создаём первого юзера рута, пароль берём из /dev/random и даже не смотрим - какой.
2)пока не разлогиниись рутом, создаём юзера - "псевдорута" он может править некоторые системные файлы и скрипты, но далеко не все.
3)разлогиниваемся, и далее все административные действия делаем от "псевдорута" используя одну из многочисленных надстроек над правами (например ваши).
4)считается, что пароль точно и 100% забыт, а грузится с лайва или открыть комп мы физически не можем(например у компа 2 ОМОНовца и тётка из ЖЕКа)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Как запретить создание пользователей с root привилегией?

Сообщение Ленивая Бестолочь »

Frank писал(а):
11.09.2009 07:55
Ню-ню.
http://www.opennet.ru/opennews/art.shtml?num=23307

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

при нормально настроенном/обновленном сервере рута вы не получите таким образом.

drBatty, почитайте про role based access control aka RBAC. (selinux - одна из реализаций).
суть в том, что при использовании оного кроме uid-а пользователя или процесса рассматривается ещё контекст запуска, роль и т.п.
даже имея привелегии рута в любой форме вы не сможете сделать ничего диструктивного. даже просто зайдя под рутом или любым юзером с юидом 0.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Shock
Сообщения: 6

Re: Как запретить создание пользователей с root привилегией?

Сообщение Shock »

Ленивая Бестолочь писал(а):
10.09.2009 14:24
5+
для начало все обновите. я имею в виду систему, wordpress-ы и т.п. можно не трогать.


Сам в шоке :) Но при более чем полтыщи доменов, я думаю будет достаточно затруднительно обновить софт на всех

что косается chroot'ов и виртуальных хостингов для каждого домена - насколько я понимаю все так и настроено на серваке
Сервак находится под управлением Plesk и возможно, что хакнули его получив доступ не к root'у, а к юзеру плеска. Под привилегиями рута я имел в виду любого пользователя имеющего достаточные привилегии для доступа ко всем доменам и позволяющего создавать других пользователей - был создан новый пользователь в группе root и от его имени были произведены разрушающие действия
Спасибо сказали:
Shock
Сообщения: 6

Re: Как запретить создание пользователей с root привилегией?

Сообщение Shock »

Ленивая Бестолочь писал(а):
11.09.2009 11:26
drBatty, почитайте про role based access control aka RBAC. (selinux - одна из реализаций).
суть в том, что при использовании оного кроме uid-а пользователя или процесса рассматривается ещё контекст запуска, роль и т.п.
даже имея привелегии рута в любой форме вы не сможете сделать ничего диструктивного. даже просто зайдя под рутом или любым юзером с юидом 0.


Подскажите, пожалуйста, где можно об этом ДОСТУПНО почитать ? можно на английском или испанском

И можно ли все это настроить не поломав Plesk и все с ним связанное ?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Как запретить создание пользователей с root привилегией?

Сообщение Ленивая Бестолочь »

стоит выбрать, какую именно систему вы хотите. и что у вас за ос вообще? это я к тому, что в некоторых (например solaris) такое есть "из коробки".

в линуксе стоит выбрать между selinux, tomoyo и apparmor (может и ещё есть, но я больше не знаю)

тут по-русски, но довольно пожилой документ про selinux:
http://opennet.ru/base/sec/intro_selinux.txt.html


Shock писал(а):
11.09.2009 14:22
И можно ли все это настроить не поломав Plesk и все с ним связанное ?

можно, но только если аккуратно :).
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Shock
Сообщения: 6

Re: Как запретить создание пользователей с root привилегией?

Сообщение Shock »

Ленивая Бестолочь писал(а):
11.09.2009 14:42
стоит выбрать, какую именно систему вы хотите. и что у вас за ос вообще?

Операционка CentOS release 5 (Final).

А что касается выбора между selinux, tomoyo и apparmor - в принципе мне все равно, так как я между ними разницы не знаю, так что советуйте... Лучше конечно то, что настраивается проще. Да и что с ними делать-то в моем случае ?
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Как запретить создание пользователей с root привилегией?

Сообщение Frank »

Ленивая Бестолочь писал(а):
11.09.2009 11:26
Frank писал(а):
11.09.2009 07:55
Ню-ню.
http://www.opennet.ru/opennews/art.shtml?num=23307

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

при нормально настроенном/обновленном сервере рута вы не получите таким образом.

Ты не путай пользователя блога с пользователем оси. Речь о регистрации в блоге и получении прав админа блога, об операциях с файловой системой речь вообще не идёт. Спасти от червя этого может только грамотная антиботная, либо отключенная система регистрации.
Изображение
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Как запретить создание пользователей с root привилегией?

Сообщение SLEDopit »

эх, пооффтоплю малек =)
Ленивая Бестолоч... писал(а):
10.09.2009 14:24
в таком случае для linux смотрите xen
а мне кажется openvz был бы лучше =)
Frank писал(а):
11.09.2009 19:01
грамотная антиботная
это когда вопросы хитрые задают при регистрации, а не капчи всякие заставляют перепечатывать, да?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Как запретить создание пользователей с root привилегией?

Сообщение Ленивая Бестолочь »

Frank писал(а):
11.09.2009 19:01
Ты не путай пользователя блога с пользователем оси. Речь о регистрации в блоге и получении прав админа блога, об операциях с файловой системой речь вообще не идёт. Спасти от червя этого может только грамотная антиботная, либо отключенная система регистрации.

как из первого поста можно сделать вывод, что речь идет именно о пользователе блога?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Как запретить создание пользователей с root привилегией?

Сообщение Frank »

Ленивая Бестолочь писал(а):
11.09.2009 20:26
Frank писал(а):
11.09.2009 19:01
Ты не путай пользователя блога с пользователем оси. Речь о регистрации в блоге и получении прав админа блога, об операциях с файловой системой речь вообще не идёт. Спасти от червя этого может только грамотная антиботная, либо отключенная система регистрации.

как из первого поста можно сделать вывод, что речь идет именно о пользователе блога?

Достаточно внимательней прочитать:
червь автоматически регистрирует нового пользователя

Расскажи мне о процедуре автоматической регистрации пользователя операционки, а я расскажу тебе о процедуре автоматической регистрации пользователя блога ;)
Изображение
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Как запретить создание пользователей с root привилегией?

Сообщение Ленивая Бестолочь »

Shock, объясните ещё раз, а то у нас тут, как видите разногласия. У вас проблема с тем, что кто-то создал ещё одного юзера в системе (CentOS) или в каком-нибудь wordpress и т.п.?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Как запретить создание пользователей с root привилегией?

Сообщение Frank »

Скорее всего, у топик-стартера кто-то через дырку в давно необновлявшемся веб-софте, типа phpbb2 (там есть возможность закачать php файл, если разрешён аплоад аватар) или в том же wordpress'е, был закачен шелл, через который был получен доступ к консоли, после чего на необновлявшейся давно оси был применён локальный эксплойт на повышение привилегий (получен uid=0), после чего сервак был в полной власти хакера. Какие-либо запреты на создание юзеров с рутовыми привелегиями тут до задницы, т.к. локальный эксплойт "делает" рута из любого юзера, например, из www-data, т.е. апача :)
Изображение
Спасибо сказали:
Shock
Сообщения: 6

Re: Как запретить создание пользователей с root привилегией?

Сообщение Shock »

2Ленивая Бестолочь
Был создан юзер именно операционки...

Frank писал(а):
14.09.2009 07:54
Скорее всего, у топик-стартера кто-то через дырку в давно необновлявшемся веб-софте, типа phpbb2 (там есть возможность закачать php файл, если разрешён аплоад аватар) или в том же wordpress'е, был закачен шелл, через который был получен доступ к консоли, после чего на необновлявшейся давно оси был применён локальный эксплойт на повышение привилегий (получен uid=0), после чего сервак был в полной власти хакера. Какие-либо запреты на создание юзеров с рутовыми привелегиями тут до задницы, т.к. локальный эксплойт "делает" рута из любого юзера, например, из www-data, т.е. апача :)

Судя по всему произошло нечто подобное ! Как же в таком случае от этого защититься ????

Кстати, все phpBB уже снесены - их оказалось не так много и отсутствие их необходимости было доказано :D

Но если то же возможно через Wordpress или другую систему, то лучше решить все раз и навсегда средствами ограничений системы, если это возможно, так что уважаемые экстперты - посоветуйте...
Начал присматриваться, читать документацию по SELinux, также посматриваю на AppArmor, но если это не поможет, то подскажите заранее - может зря разбираюсь ???
Спасибо сказали:
Shock
Сообщения: 6

Re: Как запретить создание пользователей с root привилегией?

Сообщение Shock »

Еще наткнулся на LIDS... судя по скромному описанию на Википедии, это как раз то что нужно ю)

LIDS (англ. Linux Intrusion Detection System) — это патч к ядру Linux, а так же утилиты администрирования, которые повышают безопасность Linux посредством реализации мандатного контроля за доступом (не допускающего передачи прав доступа между пользователями)


Так ли это ?
Спасибо сказали: