Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> libiptc и non-root пользователи, не-рут пользователям не дозволена работа 
:(
    Опции темы
AmsTaFF
Дата 25.1.2012, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 17.9.2009
Где: г. Москва

Репутация: нет
Всего: нет



такая проблема, процесс крутится под именем www-data( веб-сервер), в нем создаю кусок, который бы создавал правило в netfilter, которое бы банило тех, кто может оказаться ботом. НО при попытке инициировать работу с нетфильтром, происходит ошибка, её описание заключается в том, что для работы нужен root пользователь.

Есть ли возможность как-то обойти это безопасными путями? Не меняя пользователя с www-data на root.
Вариант с созданием внешнего процесса возможен, но затребует дополнительных затрат времени.
PM MAIL ICQ Skype   Вверх
svlary
Дата 25.1.2012, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: 4
Всего: 4



Цитата(AmsTaFF @  25.1.2012,  10:00 Найти цитируемый пост)
Не меняя пользователя с www-data на root.

Две возможные причины :
  • Нет прав на ВЫПОЛНЕНИЕ программы, котораая пишет в нетфильтр.
  • Нет прав у вашей программы на ЗАПИСЬ в файл, содержащий нетфильтр.
  Соответственно и лечится - по разному...
Уточните постановку задачи...

PM MAIL   Вверх
tzirechnoy
Дата 25.1.2012, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 3
Всего: 16



Самое вменяемое, на мой взгляд -- создать демона, например, на unix-domain socket, который бы работал от рута, и позволял бы, если его открыли от www-data,  вызывать /sbin/iptables с указанными параметрами.

Хотя есть варианты и sudo настроить на возможность вызова, конечно. И дажэ попытаться как-то через capabilities дать этому процэссу CAP_NET_ADMIN.
PM MAIL   Вверх
Fynivx
Дата 27.1.2012, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 13.8.2011

Репутация: нет
Всего: 1



А не вариант, например, запустить от рута, а после проведения нужных операций - setuid( int uid ), setgid( int gid )? Это стандартные POSIX функции.
А если открыть сокет сервака, а потом вообще на нободи переключиться - уж очень искусным хакером нужно будет быть, чтобы подходящий шеллкод написать.

man setuid
man setgid
PM MAIL   Вверх
AmsTaFF
Дата 29.1.2012, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 17.9.2009
Где: г. Москва

Репутация: нет
Всего: нет



пробоавл setuid, не помогло, возвращает ошибку. 
придется делать демона, надеялся что обойдется "малой кровью"....

Это сообщение отредактировал(а) AmsTaFF - 29.1.2012, 14:44
PM MAIL ICQ Skype   Вверх
shara
Дата 10.5.2012, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



лучше поздно чем никогда

может SELinux поможет решить проблему?


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.1116 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.