Скрипт создания каталога 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 до реально необходимых, позволило бы снизить возможности по идентификации машины.
Работа со звуком и видео не проверялась.
Конструктивные замечания и улучшения приветствуются.
Сбор энтропии из системы, в браузере firefox при использовании libnss.
Как видно собирают из чего попало, и хотя /dev/urandom используется, отсутствие этого файла не является фатальной ошибкой и не сопровождается никакими сообщениями.
Если что, на выходе от netstat'а энтропии доберет ☺. Такие дела.
рессойхипстером – ипаш через Докер.ОлечкаДжессика контейнер накатала за тебя.1. Ядро Linux 3.8 и выше. При этом chroot работает на любых компьютерах и роутерах, доступен в других ОС (BSD).
2. Более сложная реализация. Докет потребляет ресурсы процессора, дисковое пространство и снижает производительность. У chroot этого нет, размер системы практически не растёт, а производительность вообще не меняется, это лишь системный вызов, изменяющий для процесса корневой каталог. Чем проще решение, тем меньше вероятность наличия слабых мест. Уже было несколько сообщений об уязвимостях Докера.
3. Если правильно понял, Докеру доступна для чтения вся система и её утилиты. Он лишь создаёт контейнер, действия в котором не должны влиять на файлы вне его. Процесс в нём может спокойно исследовать систему на слабые места, залезть в /sys, выполнить dmesg, отослать результат в Интернет, пользуясь сетевыми утилитами и т.п.
бакланчик, упражняться в убогом сленге лучше в этой теме, ни к чему понос по всему сайту разносить.
комментариев: 1079 документов: 58 редакций: 59
Баранджос – в том моем посте, на который ты ссылаешься я спрашиваю совета а не утверждаю. Почитал бы сам о Docker. Не получив ответ – я поправил пост, читай его еще раз. У Docker проблемы с безопасностью. И еще он рут просит там, где вполне без него можно обойтись.
UPD.
По поводу Docker – на его основе целую ОСь запилили, кому интересно можете посмотреть. RancherOS. Кстати, примечательна еще тем, что от systemd отказалась – собственная система инициализации.
комментариев: 9796 документов: 488 редакций: 5664
Не велосипедостроительство, а по факту стандартная практика повышения безопасности сетевых приложений. Большинство популярных серверов имеет опции, помогающие переходу в chroot, примеры – Apache, MySQL, Unbound, Stunnel, Squid, Privoxy и т.д.
Торбраузер в chroot более защищён в следующих отношениях
1. Злоумышленник лишён возможности исследовать систему на наличие уязвимостей (опасные разрешения файлов из PATH, каталоги с правом на запись и т.д.) и записывать в неё троянские программы.
2. Недоступны системные утилиты, облегчающие задачу п.1
3. Ограничена возможность идентификации "железа" системы. Наиболее опасный в этом отношении каталог /sys исключён из chroot, но некоторую информацию можно извлечь из /proc. Если выяснить какие конкретно файлы /proc нужны для работы торбраузера, можно разрешить доступ только к ним, хотя с ходу это выяснить не удалось. Но это не концептульный недостаток, а погрешность реализации.
Консольное или графическое, принципиальной разницы нет.
Хорошая статья: Best Practices for UNIX chroot() Operations
Стандартная распространённая практика кулхацкерства, никто не спорит. Тяжело переосмысливать то, к чему привык, да ещё тогда, когда массы до этого не дозрели и продолжают жужжать тебе в ухо «делай как мы». Только вот приходят потом серьёзные дяди и объясняют, что миллионы мух очень сильно ошибаются, мухам больно [1], [2], [3]. Стоит ещё вспонить, что там с дисковым шифрованием творилось до тех пор, пока им занимались кулхацкеры, причём всё официально ж было, в ядре и всё такое.
Равно как и ваше детсадовское переливание из пустого в порожнее.
Всё объяснено по ссылкам. Потом это обсуждалось ещё много где, включая SELinux-топик. Гарантировать выход из чрута нельзя, а надеяться на то, что зловред будет туп и не сможет это сделать — самоуспокоение. Хотите играть в прятки сам с собой — играйте, пусть одни кулхацкеры придумывают «защиту», а другие её «обходят»:
Про чрут то же самое можно сказать.
Какое отношение ваши ссылки имеют к chroot? Первая про /dev/urandom, вторая EncFS, третья eCryptFS. До этого была ссылка на unknowna, где он в свою очередь ссылался ещё на одного авторитета. Или это вид троллинга? Если будете продолжать "обсуждение" в таком же духе, нет смысла его поддерживать.
Самое прямое: примеры распространённых вещей, встроенных много где, причём от солидных компаний (одна из этих ФС от IBM), но оказавшихся кулхацкерством. Применение чрута для безопасности — такое же кулхацкерство. Ссылки были вам приведены, чтобы вы перестали аппелировать к
MsChap, знаете ли, тоже стандарт.
А что, применимость фактов зависит от того, кто их озвучивает, поэтому на авторитеты ссылаться может только сам авторитет? Или вы ожидаете, как ZAS, что с вами тут имеют право спорить только топовые мировые авторитеты и только с апелляцией к своему личному опыту? Ответ на этот случай unknown уже дал. Считаете себя умнее всех — продолжайте, а здесь консенсус в том, что чрут для безопасности — в лучшем случае паллиатив, в худшем — плацебо.
Мне не нужен спор, интересно только предметное обсуждение. Но с вами действительно получается спор со стандартным набором демагогических оборотов – необоснованные аналогии, психологическая оценка собеседника и т.п. Я так понял, вы просто посты набиваете, не буду вам дальше мешать.