Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
# echo "password" | pw -V /var/jails/_4mount/outers/etc useradd me -h 0 -g wheel
Так мы добавили пользователя me. Если что-то непонятно, изучайте man pw. Нужно сказать, что описанный выше приём – это лишь конкретный пример. Очевидно, что подобным образом придётся учитывать изменённый каталог и для других конфигурационных файлов, например, баз данных sendmail. Возможно, в ряде случаев будет проще временно перемонтировать /etc на чтение-запись и выполнить необходимые модификации файлов из jail (по соображениям безопасности сетевую работу из jail на это время можно полностью заблокировать).
На этом всё, пожалуй, – нам почти ничего не пришлось дублировать, обновления системы будут автоматически распространяться и на jail-систему, и при этом злоумышленник, даже если получит внутри «тюрьмы» права суперпользователя, не сможет причинить вред ни основной, ни jail-системе. Даже изменить большинство настроек (например, чтобы обеспечить себе беспрепятственный вход во взломанную систему по ssh или открыть релей в access-файле Sendmail), и то не сможет.
В отличие от предыдущего примера, когда системные файлы в jail суперпользователь мог менять как ему вздумается, здесь мы имеем возможность ограничить ресурсы, которые будут доступны процессам в jail. Это позволит избежать перегрузки системы в случае ошибок в работающих процессах (например, неаккуратно разработанный сценарий, исполняющийся в среде FastCGI, может привести к утечке памяти) либо в случае сознательных действий взломщика. Лимиты, как известно, задаются в файле /etc/login.conf (в нашем случае это будет /var/jails/_4mount/outers/etc/login.conf) с последующим подключением «класса» в учётной записи пользователя. Например, можно использовать такие ограничения:
default:
:cputime=1h:
:memoryuse=50M:
... пропущено ...
:maxproc=35:
:coredumpsize=0:
root:
:tc=default:
Теперь, поскольку значения, определённые в default, будут распространяться на всех пользователей с пустым 5 полем в master.passwd (а мы его пустым и оставим), то все пользователи в jail, даже суперпользователь, будут ограничены в возможности потреблять ресурсы системы.
Понятно, что это лишь пример – ваши значения и перечень ограничиваемых параметров могут быть совсем другими. При желании можно задать несколько «классов» ограничений для различных пользователей. Читайте man login.conf и проявляйте осторожность, выставляя ограничение cputime для процессов, подразумевающих постоянную работу.