ΠΠΎΠ²Π΅Π΄
ΠΠ° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅
ΠΠ±ΡΠΊΠ°
ΠΠ²ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ ΡΠ°ΠΌΠΎ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ ufs; Π²ΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, zfs ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, Π° ufs Π²ΠΎ Π·Π°ΡΠ²ΠΎΡ, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ. ΠΡΠ²ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ; ΠΊΠΎΠ³Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ FreeBSD, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ Π³ΠΎ ΠΈΠ·Π²ΠΎΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄.
ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΡΡΠ΅Π΄Π΅ΡΠ΅ ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ°:
/usr/src/sys/amd64/conf/GENERIC
Π’ΡΠ΅Π±Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° Π»ΠΈΠ½ΠΈΡΠ° Π²ΠΎ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°:
options MAC_MLS
ΠΡΠΈΠΊΠ΅ΡΠ°ΡΠ° mls/high ΡΠ΅ ΠΈΠΌΠ° Π΄ΠΎΠΌΠΈΠ½Π°Π½ΡΠ½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡΠ° Π½Π°Π΄ ΠΎΠ·Π½Π°ΠΊΠ°ΡΠ° mls/low, Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π°Π°Ρ ΡΠΎ ΠΎΠ·Π½Π°ΠΊΠ°ΡΠ° mls/low Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠ°Ρ Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΡΠΎ ΠΈΠΌΠ°Π°Ρ ΠΎΠ·Π½Π°ΠΊΠ° mls/high. ΠΠΎΠ²Π΅ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ Π·Π° ΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΠΎΠ·Π½Π°ΠΊΠΈ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ FreeBSD ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡΠ΄Π΅ΡΠ΅ Π²ΠΎ ΠΎΠ²Π°
Π‘Π»Π΅Π΄Π½ΠΎ, ΠΎΠ΄Π΅ΡΠ΅ Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ /usr/src:
cd /usr/src
ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΡΠΎ Π³ΡΠ°Π΄Π΅ΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΡΡΠ°ΡΡΡΠ²Π°ΡΡΠ΅ (Π²ΠΎ ΠΊΠΎΠΏΡΠ΅ΡΠΎ j, Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ Π³ΠΎ Π±ΡΠΎΡΠΎΡ Π½Π° ΡΠ°Π΄ΡΠ° Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ):
make -j 4 buildkernel KERNCONF=GENERIC
ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΠ΅ ΡΠΎΡΡΠ°Π²ΠΈ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°:
make installkernel KERNCONF=GENERIC
ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, Π½Π΅ Π±ΡΠ·Π°ΡΡΠ΅ Π΄Π° Π³ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»Π°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ Π²ΠΎ ΠΊΠ»Π°ΡΠ°ΡΠ° Π·Π° Π½Π°ΡΠ°Π²ΡΠ²Π°ΡΠ΅, ΠΎΡΠΊΠ°ΠΊΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π»Π΅. Π£ΡΠ΅Π΄Π΅ΡΠ΅ ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° /etc/login.conf, Π²ΠΎ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΡΡΠ΅Π΄ΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° ΠΊΠ»Π°ΡΠ° Π·Π° Π½Π°ΡΠ°Π²ΡΠ²Π°ΡΠ΅, Π΄ΠΎΠ²Π΅Π΄Π΅ΡΠ΅ ΡΠ° Π²ΠΎ ΡΠΎΡΠΌΠ°:
default:
:passwd_format=sha512:
:copyright=/etc/COPYRIGHT:
:welcome=/etc/motd:
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K:
:path=/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:
:nologin=/var/run/nologin:
:cputime=unlimited:
:datasize=unlimited:
:stacksize=unlimited:
:memorylocked=64K:
:memoryuse=unlimited:
:filesize=unlimited:
:coredumpsize=unlimited:
:openfiles=unlimited:
:maxproc=unlimited:
:sbsize=unlimited:
:vmemoryuse=unlimited:
:swapuse=unlimited:
:pseudoterminals=unlimited:
:kqueues=unlimited:
:umtxp=unlimited:
:priority=0:
:ignoretime@:
:umask=022:
:label=mls/equal:
ΠΠΈΠ½ΠΈΡΠ°ΡΠ° :label=mls/equal ΡΠ΅ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ΅ ΡΠ»Π΅Π½ΠΎΠ²ΠΈ Π½Π° ΠΎΠ²Π°Π° ΠΊΠ»Π°ΡΠ° Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠ°Ρ Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ ΡΠΎ ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ ΠΎΠ·Π½Π°ΠΊΠ° (mls/low, mls/high). ΠΠΎ ΠΎΠ²ΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π΄Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ root ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ (ΠΊΠ°ΠΊΠΎ ΠΈ ΠΎΠ½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΈ ΠΈΠΌ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½) Π²ΠΎ ΠΎΠ²Π°Π° ΠΊΠ»Π°ΡΠ° Π·Π° Π½Π°ΡΠ°Π²ΡΠ²Π°ΡΠ΅:
cap_mkdb /etc/login.conf
pw usermod root -L default
ΠΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π΄Π° Π²Π°ΠΆΠΈ ΡΠ°ΠΌΠΎ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΡΡΠ΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° /etc/mac.conf, ΠΎΡΡΠ°Π²Π°ΡΡΠΈ ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° Π»ΠΈΠ½ΠΈΡΠ° Π²ΠΎ Π½Π΅Π°:
default_labels file ?mls
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΎΡ mac_mls.ko Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅:
echo 'mac_mls_load="YES"' >> /boot/loader.conf
ΠΠΎ ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° Π³ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅
newfs -O 2 -b 64kb /dev/ada1
tunefs -l enable /dev/ada1
ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ Π³ΠΎ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΠΌΡΠ»ΡΠΈΠ΅ΡΠΈΠΊΠ΅ΡΠ°, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Ρ Π°ΡΠ΄ Π΄ΠΈΡΠΊΠΎΡ Π²ΠΎ /etc/fstab, Π΄ΠΎΠ΄Π°ΡΡΠ΅ ΡΠ° Π»ΠΈΠ½ΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°:
/dev/ada1 /jail ufs rw 0 1
ΠΠΎ Mountpoint, Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ Π³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ Π²ΠΎ ΠΊΠΎΡ ΡΠ΅ Π³ΠΎ ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ Ρ Π°ΡΠ΄ Π΄ΠΈΡΠΊΠΎΡ; Π²ΠΎ Pass, Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ 1 (Π²ΠΎ ΠΊΠΎΡΠ° ΡΠ΅ΠΊΠ²Π΅Π½ΡΠ° ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ ΠΎΠ²ΠΎΡ Ρ Π°ΡΠ΄ Π΄ΠΈΡΠΊ) - ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ufs Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ Π½Π° Π½Π΅Π½Π°Π΄Π΅ΡΠ½ΠΈ ΠΏΡΠ΅ΠΊΠΈΠ½ΠΈ Π½Π° ΡΡΡΡΡΠ° . ΠΠΎ ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΠΊΠΎΡΠΈ, ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΡΠ΅ Π³ΠΎ Π΄ΠΈΡΠΊΠΎΡ:
mount /dev/ada1 /jail
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ jail Π²ΠΎ ΠΎΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ. ΠΡΠΊΠ°ΠΊΠΎ Π·Π°ΡΠ²ΠΎΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈ, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΈΡΡΠΈΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Π²ΠΎ Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊΠΎ ΠΈ Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ /etc/login.conf, /etc/mac.conf.
ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π°ΡΠ΅
ΠΡΠ΅Π΄ Π΄Π° Π³ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ, ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π°ΠΌ Π΄Π° Π³ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ; Π²ΠΎ ΠΌΠΎΡΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΎΠ·Π½Π°ΠΊΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π·Π΅ΠΌΠ°ΡΡΠΈ Π³ΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ:
mod_php73-7.3.4_1 PHP Scripting Language
php73-7.3.4_1 PHP Scripting Language
php73-ctype-7.3.4_1 The ctype shared extension for php
php73-curl-7.3.4_1 The curl shared extension for php
php73-dom-7.3.4_1 The dom shared extension for php
php73-extensions-1.0 "meta-port" to install PHP extensions
php73-filter-7.3.4_1 The filter shared extension for php
php73-gd-7.3.4_1 The gd shared extension for php
php73-gettext-7.3.4_1 The gettext shared extension for php
php73-hash-7.3.4_1 The hash shared extension for php
php73-iconv-7.3.4_1 The iconv shared extension for php
php73-json-7.3.4_1 The json shared extension for php
php73-mysqli-7.3.4_1 The mysqli shared extension for php
php73-opcache-7.3.4_1 The opcache shared extension for php
php73-openssl-7.3.4_1 The openssl shared extension for php
php73-pdo-7.3.4_1 The pdo shared extension for php
php73-pdo_sqlite-7.3.4_1 The pdo_sqlite shared extension for php
php73-phar-7.3.4_1 The phar shared extension for php
php73-posix-7.3.4_1 The posix shared extension for php
php73-session-7.3.4_1 The session shared extension for php
php73-simplexml-7.3.4_1 The simplexml shared extension for php
php73-sqlite3-7.3.4_1 The sqlite3 shared extension for php
php73-tokenizer-7.3.4_1 The tokenizer shared extension for php
php73-xml-7.3.4_1 The xml shared extension for php
php73-xmlreader-7.3.4_1 The xmlreader shared extension for php
php73-xmlrpc-7.3.4_1 The xmlrpc shared extension for php
php73-xmlwriter-7.3.4_1 The xmlwriter shared extension for php
php73-xsl-7.3.4_1 The xsl shared extension for php
php73-zip-7.3.4_1 The zip shared extension for php
php73-zlib-7.3.4_1 The zlib shared extension for php
apache24-2.4.39
ΠΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π·Π΅ΠΌΠ°ΡΡΠΈ Π³ΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ: Π·Π° ΠΏΠ°ΠΏΠΊΠ°ΡΠ° /usr/local/lib ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π»ΠΎΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΎΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ, ΠΏΠΎΡΡΠ°Π²Π΅ΡΠ΅ Π³ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ mls/low ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π·Π° php) ΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π²ΠΎ ΠΎΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ, Π½ΠΎ ΠΌΠΈ ΡΠ΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°ΠΌ ΠΏΡΠΈΡΡΠ°ΠΏ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΠΎΠ½ΠΈΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΡΠΎ ΡΠ΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΈ. ΠΠ°ΠΏΡΠ΅ΡΠ΅ Π³ΠΎ Π·Π°ΡΠ²ΠΎΡΠΎΡ ΠΈ ΠΏΠΎΡΡΠ°Π²Π΅ΡΠ΅ mls/high Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π½Π° ΡΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ:
setfmac -R mls/high /jail
ΠΠΎΠ³Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ, ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π·Π°ΠΏΡΠ΅Π½ Π°ΠΊΠΎ setfmac Π½Π°ΠΈΠ΄Π΅ Π½Π° ΡΠ²ΡΠ΄ΠΈ Π²ΡΡΠΊΠΈ, Π²ΠΎ ΠΌΠΎΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·Π±ΡΠΈΡΠ°Π² ΡΠ²ΡΠ΄ΠΈ Π²ΡΡΠΊΠΈ Π²ΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ:
/var/db/etcupdate/current/
/var/db/etcupdate/current/etc
/var/db/etcupdate/current/usr/share/openssl/man/en.ISO8859-15
/var/db/etcupdate/current/usr/share/man/en.ISO8859-15
/var/db/etcupdate/current/usr/share/man/en.UTF-8
/var/db/etcupdate/current/usr/share/nls
/etc/ssl
/usr/local/etc
/usr/local/etc/fonts/conf.d
/usr/local/openssl
ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π°Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ mls/low Π·Π° apache, ΠΏΡΠ²ΠΎΡΠΎ Π½Π΅ΡΡΠΎ ΡΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π΅ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΡΠ΅ ΠΊΠΎΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π·Π° Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π° apache:
ldd /usr/local/sbin/httpd
ΠΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²Π°Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Ρ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ, Π½ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ Π½Π° ΠΎΠ²ΠΈΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΠΈ ΡΠ΅ Π½Π°ΠΎΡΠ°Π°Ρ ΠΎΠ²ΠΈΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠ°Π°Ρ ΠΎΠ·Π½Π°ΠΊΠ° mls/high, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΎΠ²ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ mls/Π½ΠΈΡΠΊΠΎ. ΠΡΠΈ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅, apache-ΡΠΎ ΡΠ΅ Π³ΠΈ ΠΈΠ·Π²Π°Π΄ΠΈ ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΈ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, Π° Π·Π° php ΠΎΠ²ΠΈΠ΅ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π°Ρ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ httpd-error.log.
setfmac mls/low /
setfmac mls/low /usr/local/lib/libpcre.so.1
setfmac mls/low /usr/local/lib/libaprutil-1.so.0
setfmac mls/low /usr/local/lib/libdb-5.3.so.0
setfmac mls/low /usr/local/lib/libgdbm.so.6
setfmac mls/low /usr/local/lib/libexpat.so.1
setfmac mls/low /usr/local/lib/libapr-1.so.0
setfmac mls/low /lib/libcrypt.so.5
setfmac mls/low /lib/libthr.so.3
setfmac mls/low /lib/libc.so.7
setfmac mls/low /usr/local/lib/libintl.so.8
setfmac mls/low /var
setfmac mls/low /var/run
setfmac mls/low /var/log
setfmac mls/low /var/log/httpd-access.log
setfmac mls/low /var/log/httpd-error.log
setfmac mls/low /var/run/httpd.pid
setfmac mls/low /lib
setfmac mls/low /lib/libcrypt.so.5
setfmac mls/low /usr/local/lib/db5/libdb-5.3.so.0
setfmac mls/low /usr/local/lib/db5/libdb-5.3.so.0.0.0
setfmac mls/low /usr/local/lib/db5
setfmac mls/low /usr/local/lib
setfmac mls/low /libexec
setfmac mls/low /libexec/ld-elf.so.1
setfmac mls/low /dev
setfmac mls/low /dev/random
setfmac mls/low /usr/local/libexec
setfmac mls/low /usr/local/libexec/apache24
setfmac mls/low /usr/local/libexec/apache24/*
setfmac mls/low /etc/pwd.db
setfmac mls/low /etc/passwd
setfmac mls/low /etc/group
setfmac mls/low /etc/
setfmac mls/low /usr/local/etc
setfmac -R mls/low /usr/local/etc/apache24
setfmac mls/low /usr
setfmac mls/low /usr/local
setfmac mls/low /usr/local/sbin
setfmac mls/low /usr/local/sbin/*
setfmac -R mls/low /usr/local/etc/rc.d/
setfmac mls/low /usr/local/sbin/htcacheclean
setfmac mls/low /var/log/httpd-access.log
setfmac mls/low /var/log/httpd-error.log
setfmac -R mls/low /usr/local/www
setfmac mls/low /usr/lib
setfmac mls/low /tmp
setfmac -R mls/low /usr/local/lib/php
setfmac -R mls/low /usr/local/etc/php
setfmac mls/low /usr/local/etc/php.conf
setfmac mls/low /lib/libelf.so.2
setfmac mls/low /lib/libm.so.5
setfmac mls/low /usr/local/lib/libxml2.so.2
setfmac mls/low /lib/libz.so.6
setfmac mls/low /usr/lib/liblzma.so.5
setfmac mls/low /usr/local/lib/libiconv.so.2
setfmac mls/low /usr/lib/librt.so.1
setfmac mls/low /lib/libthr.so.3
setfmac mls/low /usr/local/lib/libpng16.so.16
setfmac mls/low /usr/lib/libbz2.so.4
setfmac mls/low /usr/local/lib/libargon2.so.0
setfmac mls/low /usr/local/lib/libpcre2-8.so.0
setfmac mls/low /usr/local/lib/libsqlite3.so.0
setfmac mls/low /usr/local/lib/libgd.so.6
setfmac mls/low /usr/local/lib/libjpeg.so.8
setfmac mls/low /usr/local/lib/libfreetype.so
setfmac mls/low /usr/local/lib/libfontconfig.so.1
setfmac mls/low /usr/local/lib/libtiff.so.5
setfmac mls/low /usr/local/lib/libwebp.so.7
setfmac mls/low /usr/local/lib/libjbig.so.2
setfmac mls/low /usr/lib/libssl.so.8
setfmac mls/low /lib/libcrypto.so.8
setfmac mls/low /usr/local/lib/libzip.so.5
setfmac mls/low /etc/resolv.conf
ΠΠ²Π°Π° Π»ΠΈΡΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ ΠΎΠ·Π½Π°ΠΊΠΈ mls/low Π·Π° ΡΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΈ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΠ°ΡΠ° apache ΠΈ php (Π·Π° ΠΎΠ½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΠΎ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΌΠΎΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ).
ΠΠΎΠ½Π΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠΏΠΈΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ jail Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° mls/Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π½ΠΈΠ²ΠΎ ΠΈ apache Π½Π° mls/Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ. ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π·Π°ΡΠ²ΠΎΡ, ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° /etc/rc.d/jail, Π΄Π° Π³ΠΈ Π½Π°ΡΠ΄Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ jail_start Π²ΠΎ ΠΎΠ²Π°Π° ΡΠΊΡΠΈΠΏΡΠ°, Π΄Π° ΡΠ° ΡΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π²ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°:
command="setpmac mls/equal $jail_program"
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° setpmac ΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΈΠ·Π²ΡΡΠ½Π°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ, Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ mls/equal, Π·Π° Π΄Π° ΠΈΠΌΠ° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΠΈΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ. ΠΠΎ apache ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΡΡΠ΅Π΄ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ /usr/local/etc/rc.d/apache24. ΠΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° apache24_prestart:
apache24_prestart() {
apache24_checkfib
apache24_precmd
eval "setpmac mls/low" ${command} ${apache24_flags}
}
Π
ΠΠ·Π»Π΅Π·
ΠΠ²ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ Π½Π° apache-ΡΠΎ (ΠΈΠ°ΠΊΠΎ ΠΎΠ²ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ Π·Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Π΄ΡΡΠ³ ΡΡΠ΅ΠΊ), ΠΊΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ Π·Π°ΡΠ²ΠΎΡ, Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΡ ΡΠ΅ΡΠΎ ΡΠΎΠ° ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΠΈ ΡΡΠ°Π½ΡΠΏΠ°ΡΠ΅Π½ΡΠ½ΠΎ ΠΈ Π½Π΅Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²ΠΎ.
Π‘ΠΏΠΈΡΠΎΠΊ Π½Π° ΠΈΠ·Π²ΠΎΡΠΈ ΠΊΠΎΠΈ ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Π° Π²ΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²Π°Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΠ°:
ΠΠ·Π²ΠΎΡ: www.habr.com