id: Гость   вход   регистрация
текущее время 06:24 19/04/2024
Автор темы: Гость, тема открыта 24/02/2015 04:10 Печать
Категории: анонимность, инфобезопасность
http://www.pgpru.com/Форум/UnixLike/ЗапускТорбраузераВChroot
создать
просмотр
ссылки

Скрипт создания каталога chroot для запуска в нём торбраузера. Используется 64-битная система, для 32-битной требуются изменения, например: lib -> lib64, ld-linux-x86-64.so -> ld-linux.so и т.п. Могут потребоваться и другие модификации, в зависимости от используемой системы Linux, например расположение unix-сокетов и конфигурационных файлов.


Основные моменты
1. Копируется каталог установки ТББ
2. Для исполняемых файлов в нём определяются зависимости и тоже копируются
3. Копируются другие необходимые файлы: шрифты, конфигурационные файлы
4. Для unix-сокетов создаются жёсткие ссылки
5. Создаются файлы устройств
6. Для каталогов устанавливается запрет на чтение (биты доступа 111), кроме шрифтов, /proc и $home. Это затрудняет вредоносную активность при использовании уязвимости торбраузера.


После создания пользователя (в данном примере это tbb)



и распаковки в нём ТББ (каталог tor-browser_en-US переименован в tor-browser) запускается скрипт



Монтирование каталога /proc



Если используется общая X-сессия, нужно разрешить подключение к ней



Запуск торбраузера



Для автоматизации запуска удобно создать ярлык $HOME/Desktop/tor-browser.desktop следующего содержания



После этого в настройках указывается нужный прокси-сервер (SOCKS5 127.0.0.1:9050 или HTTP/S 127.0.0.1:8118). chroot-окружение для Tor-демона создаётся аналогично, в Интернете есть примеры, могу выложить свой пример если кто заинтересуется.


Некоторые наблюдения
1. торбраузер не работает без файла /var/lib/dbus/machine-id, содержащего уникальный идентификатор машины.
2. торбраузер работает с HTTPS-сайтами при отсутствующих файлах /dev/{random,urandom} (все файлы устройств оказываются не нужны). Возникает вопрос, откуда он берёт случайность и о её качестве. Например Tor-демон в chroot не работает при отсутствующем /dev/urandom.


Ограничение доступа к файлам из /proc до реально необходимых, позволило бы снизить возможности по идентификации машины.


Работа со звуком и видео не проверялась.


Конструктивные замечания и улучшения приветствуются.


 
Комментарии
— Гость (24/02/2015 09:27)   <#>

Сбор энтропии из системы, в браузере firefox при использовании libnss.
Как видно собирают из чего попало, и хотя /dev/urandom используется, отсутствие этого файла не является фатальной ошибкой и не сопровождается никакими сообщениями.
Если что, на выходе от netstat'а энтропии доберет ☺. Такие дела.
— Гость (24/02/2015 16:20)   <#>
Бакланджос, будь рессой хипстером – ипаш через Докер. Олечка Джессика контейнер накатала за тебя.

— Гость (24/02/2015 23:54)   <#>
Чем модный Докер лучше chroot в данном случае? Поверхностное чтение о нём в Интернете не выявило заметных преимуществ. А недостатки есть

1. Ядро Linux 3.8 и выше. При этом chroot работает на любых компьютерах и роутерах, доступен в других ОС (BSD).

2. Более сложная реализация. Докет потребляет ресурсы процессора, дисковое пространство и снижает производительность. У chroot этого нет, размер системы практически не растёт, а производительность вообще не меняется, это лишь системный вызов, изменяющий для процесса корневой каталог. Чем проще решение, тем меньше вероятность наличия слабых мест. Уже было несколько сообщений об уязвимостях Докера.

3. Если правильно понял, Докеру доступна для чтения вся система и её утилиты. Он лишь создаёт контейнер, действия в котором не должны влиять на файлы вне его. Процесс в нём может спокойно исследовать систему на слабые места, залезть в /sys, выполнить dmesg, отослать результат в Интернет, пользуясь сетевыми утилитами и т.п.


бакланчик, упражняться в убогом сленге лучше в этой теме, ни к чему понос по всему сайту разносить.
— Гость (25/02/2015 00:39)   <#>
Гость (24/02/2015 23:54): красиво уделал фраера с его докером, респект! :)
— ressa (25/02/2015 13:36, исправлен 25/02/2015 14:26)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59

Баранджос – в том моем посте, на который ты ссылаешься я спрашиваю совета а не утверждаю. Почитал бы сам о Docker. Не получив ответ – я поправил пост, читай его еще раз. У Docker проблемы с безопасностью. И еще он рут просит там, где вполне без него можно обойтись.
UPD.
По поводу Docker – на его основе целую ОСь запилили, кому интересно можете посмотреть. RancherOS. Кстати, примечательна еще тем, что от systemd отказалась – собственная система инициализации.

— Гость (26/02/2015 00:46)   <#>
Этот комментарий должен быть в каждом топике с велосипедостроительством на тему chroot'а.
— unknown (26/02/2015 09:45)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Тем более, chroot для большого иксового приложения.
— Гость (26/02/2015 11:25)   <#>
велосипедостроительством на тему chroot'а

Не велосипедостроительство, а по факту стандартная практика повышения безопасности сетевых приложений. Большинство популярных серверов имеет опции, помогающие переходу в chroot, примеры – Apache, MySQL, Unbound, Stunnel, Squid, Privoxy и т.д.

Торбраузер в chroot более защищён в следующих отношениях

1. Злоумышленник лишён возможности исследовать систему на наличие уязвимостей (опасные разрешения файлов из PATH, каталоги с правом на запись и т.д.) и записывать в неё троянские программы.

2. Недоступны системные утилиты, облегчающие задачу п.1

3. Ограничена возможность идентификации "железа" системы. Наиболее опасный в этом отношении каталог /sys исключён из chroot, но некоторую информацию можно извлечь из /proc. Если выяснить какие конкретно файлы /proc нужны для работы торбраузера, можно разрешить доступ только к ним, хотя с ходу это выяснить не удалось. Но это не концептульный недостаток, а погрешность реализации.

Тем более, chroot для большого иксового приложения

Консольное или графическое, принципиальной разницы нет.

Хорошая статья: Best Practices for UNIX chroot() Operations
— Гость (26/02/2015 17:07)   <#>

Стандартная распространённая практика кулхацкерства, никто не спорит. Тяжело переосмысливать то, к чему привык, да ещё тогда, когда массы до этого не дозрели и продолжают жужжать тебе в ухо «делай как мы». Только вот приходят потом серьёзные дяди и объясняют, что миллионы мух очень сильно ошибаются, мухам больно [1], [2], [3]. Стоит ещё вспонить, что там с дисковым шифрованием творилось до тех пор, пока им занимались кулхацкеры, причём всё официально ж было, в ядре и всё такое.
— Гость (26/02/2015 17:42)   <#>
Если вы "серьёзный дядя", то объясните. Выше приведёно три довода в пользу chroot, и пока опровержений или альтернатив не последовало. Последний ваш пост вообще ни о чём, одни понты и никакой конкретики.
— Гость (26/02/2015 18:18)   <#>

Равно как и ваше детсадовское переливание из пустого в порожнее.


Всё объяснено по ссылкам. Потом это обсуждалось ещё много где, включая SELinux-топик. Гарантировать выход из чрута нельзя, а надеяться на то, что зловред будет туп и не сможет это сделать — самоуспокоение. Хотите играть в прятки сам с собой — играйте, пусть одни кулхацкеры придумывают «защиту», а другие её «обходят»:

Ой-ой-ой. Как только узнали элитный способ обхода nonexec так тут же побежали дырки все залатали. Ну ничего, для вас есть еще один способ обхода nonexec

Про чрут то же самое можно сказать.
— Гость (26/02/2015 19:27)   <#>
Всё объяснено по ссылкам

Какое отношение ваши ссылки имеют к chroot? Первая про /dev/urandom, вторая EncFS, третья eCryptFS. До этого была ссылка на unknowna, где он в свою очередь ссылался ещё на одного авторитета. Или это вид троллинга? Если будете продолжать "обсуждение" в таком же духе, нет смысла его поддерживать.
— Гость (26/02/2015 19:52)   <#>

Самое прямое: примеры распространённых вещей, встроенных много где, причём от солидных компаний (одна из этих ФС от IBM), но оказавшихся кулхацкерством. Применение чрута для безопасности — такое же кулхацкерство. Ссылки были вам приведены, чтобы вы перестали аппелировать к

стандартная практика повышения безопасности сетевых приложений

примеры – Apache, MySQL, Unbound, Stunnel, Squid, Privoxy и т.д.

MsChap, знаете ли, тоже стандарт.


А что, применимость фактов зависит от того, кто их озвучивает, поэтому на авторитеты ссылаться может только сам авторитет? Или вы ожидаете, как ZAS, что с вами тут имеют право спорить только топовые мировые авторитеты и только с апелляцией к своему личному опыту? Ответ на этот случай unknown уже дал. Считаете себя умнее всех — продолжайте, а здесь консенсус в том, что чрут для безопасности — в лучшем случае паллиатив, в худшем — плацебо.
— Гость (26/02/2015 21:00)   <#>
имеют право спорить

Мне не нужен спор, интересно только предметное обсуждение. Но с вами действительно получается спор со стандартным набором демагогических оборотов – необоснованные аналогии, психологическая оценка собеседника и т.п. Я так понял, вы просто посты набиваете, не буду вам дальше мешать.
— Гость (26/02/2015 23:03)   <#>
Хорошо, unknown'у тогда тоже не мешайте, он, каки я, просто посты набивает. ☺
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3