Прозрачная торификация рута
Программы управления пакетами в никсах, портами -в БСД, работают от рута. Всякого рода iptables -L -v и tcpdump запускаются от рута (да,да, я знаю про опцию -n, но иногда хочется посмотреть названия хостов – они бывают более информативными чтоли), многие опции nmap работают только от рута и т.д. и т.п.
В связи с этим возникает вопрос, а что будет, если в правилах прозрачной торификации прописать юзера с UID==0 ?
Естественно, никто от рута не собирается ходить в сеть через браузер, отправлять почту и т.п. Но вышесказанного достаточно, чтобы задуматься над этим вопросом.
Могут ли быть в этом случае какие-либо побочные проблемы с функционированием системы?!
И еще такой вопрос, раз уж речь зашла про nmap. А зачем многие его опции работают от рута, как это способствует безопасности? Типа чтобы браузерный эксплойт не мог его запустить? И стоит ли снизить эти привилегии, или решать вопрос торификацией рута (если это не вызывает побочных проблем)?
комментариев: 11558 документов: 1036 редакций: 4118
Некоторые низкоуровневые операции с сетевым стеком требуют работы с "сырыми" сокетами. Для этого нужны привилегии рута.
root c точки зрения iptables точно такой же юзер, как и все остальные. Для прозрачной торификации важно только одно — пользователь, от имени которого запущен Tor, должен ходить в сеть напрямую, без прозрачной торификации, а все остальные (включая рута) уже могут эту "прозрачку" использовать (а могут и нет — как настроите). Если Tor запущен от рута, то рута прозрачно торифицировать не получится — это просто логически самопротиворечиво, ибо Tor-клиент соединяется с Tor'ом напрямую, а не через Tor.
Это понятно. Все-таки UNIX – многопользовательская система. Но если у меня все пользователи суть профили одного физического юзера, те. меня, грешнаго?!
При старте системы, скрипт запуска Tor'а стартует от рута, а затем передается юзеру debian-tor.
Помниться было где-то обсуждение по этому вопросу, так никто из Гуру не посоветовал это сделать.
Может unknown'у включить это в фак? Или лучше сначала в рассылке самого тора обсудить?!
комментариев: 9796 документов: 488 редакций: 5664
Не знаю точно, но кажется можно создать другого пользователя и включить его в группу root. Так и привилегий будет хватать и расфайрволлить по разным юзерам в Tor можно.
комментариев: 11558 документов: 1036 редакций: 4118
Однако на днях заметил, что некоторые утилиты, запускаемые от прозрачно торифицированного root, ведут себя не так, как те же утилиты, запускаемые от просто прозрачно торифицированного обычного юзера.
Так, напримет, если натравить nmap на ip роутера в своей локальной сети, то он nmap'ит неизвестно что, подозреваю, что какую-то Tor-ноду:
И далее идет огромный листинг tcp-портов. По-видиму, это даже не Tor-нода, а вся сеть Tor :), ибо он показывает туеву хучу tcp-портов как открытую.
Если же тот же nmap я натравливаю на роутер из под прозрачно-торифицированного root'а, то она почему-то nmap'ит именной мой роутер:
Правда, если запустить с опциями, оно выдает такое:
При этом mac-адрес моего роутера, действительно, 1 hop до него, но на нем открыто вообще-то только несколько портов, а не все tcp-порты. Похоже, что она частично nmap'ит роутер, частично – сеть Tor.
При этом tcpdump кажет как Tor-трафик (возможно общий, не от nmap, может частично от него), так и трафик между роутером и хостом.
Как это объяснить?
P.S. При выполнении sudo iptables -L -v -t nat вроде бы тоже видно dns-запросов и т.п., но есть следующая фигня.
У меня в настройках прозрачно торифицированы юзеры, а также, на всякий случай, несколько удаленных ip, чтобы по ошибке не законнектиться на них напрямую.
Во время исполнения указанной команде в tcpdump вижу следующее:
Чо это за странный такой запрос на ip роутера?
При выполнении tcpdump на внешний интерфейс роутера (который коннектиться с ISP) вроде ничего такого коромольного не заметно...
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.13 seconds
Я не думаю, что посылая какие-то левые tcp-пакеты через Tor-сеть можно эффективно сканировать Tor-ноды. А если на Tor-ноде ещё и firewall настроен, так вообще труба. Кроме того, мне кажется слишком невероятным, чтобы Tor-клиент без спецпатчей соглашался посылать пакеты в сеть, у которых dst IP локальный.
root торифицированный на локальной машине в локальной сети
udp насколько я понимаю, настройки прозрачной торификации "режут"
Видимо, icmp
Я думаю, что открытые tcp-порты (все) – это не tor-нода, это nmap воспринимает весь Tor как большой роутер при сканировании по tcp
nmap выполняется от юзера, некоторые опции требуют рута, но не все
На роутере самба стоит, снести наверное надо, винда в локальной сети так и не завелась :)
Заметил, что ntp, если прозрачно торифицировать рут, перестает работать корректно.
Нужно открыть коннект для udp через port 123, чтобы этого избежать? Но ведь через него, гипотетически, что-то еще может утечь? (через этот порт)
Или время от времени "расторифицировать" рут и давать возможность обновить системное время, а потом обратно заторифицировать?
Что лучше?
комментариев: 9796 документов: 488 редакций: 5664
Обсуждение возможных решений (не для серьёзного самостоятельного использования — только для экспериментирования и выработки общего подхода!) здесь. Например, можно использовать HTP: выдёргивание времени из заголовков HTTP-ответов, но с точностью только до секунды и с до конца неясными проблемами.