Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅
Π’ΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° 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
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ multilabel, ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ²ΡΡΠ΄ΠΈΡ Π΄ΠΈΡΠΊ ΠΊΡΠΌ /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/equal ΠΈ apache Π½Π° Π½ΠΈΠ²ΠΎ mls/low. ΠΠ° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ jail, ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ° /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