ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ufs, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ zfs, Π° Π² jail ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ 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, ΠΏΡΠΈΠ²Π΅Π΄ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊ Π²ΠΈΠ΄Ρ:
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
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ multilabel Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ Π² /etc/fstab, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΎΠΊΡ Π² Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»:
/dev/ada1 /jail ufs rw 0 1
Π Mountpoint ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΆΡΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ, Π² Pass ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ 1 (Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΆΡΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°) β ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠ°ΠΊ-ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ufs ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π° ΠΊ ΡΠ΅Π·ΠΊΠΈΠΌ ΠΎΠ±ΡΡΠ²Π°ΠΌ ΡΠ»Π΅ΠΊΡΡΠΎ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠΎΡΠ»Π΅ Π΄Π°Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠΌΠΎΠ½ΡΠΈΡΡΠΉΡΠ΅ Π΄ΠΈΡΠΊ:
mount /dev/ada1 /jail
Π Π΄Π°Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ 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), ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π½ΠΎ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΡΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ jail ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠ΅ΡΠΊΠΈ 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/low. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ 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/equal, Π° apache Π½Π° ΡΡΠΎΠ²Π½Π΅ mls/low. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° jail Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΊΡΠΈΠΏΡ /etc/rc.d/jail, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ jail_start, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ command ΠΏΡΠΈΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊ Π²ΠΈΠ΄Ρ:
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 (Ρ ΠΎΡΡ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΡΡΠΊΡ), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² jail, Π² ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π²ΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com