เบฎเบนเบšเปเบšเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบชเบดเบ”เบšเบฑเบ‡เบ„เบฑเบšเปƒเบ™ FreeBSD

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบš เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบ. เบชเบดเปˆเบ‡เบžเบดเบกเบ™เบตเป‰เบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ apache เปƒเบ™เบ„เบธเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบฝเบ‡เปเบ•เปˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ apache เปเบฅเบฐ php เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบผเบฑเบเบเบฒเบ™เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเปเบฒเบเบฑเบ”เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆ Apache, เปเบ•เปˆเบเบฑเบ‡ stack เบญเบทเปˆเบ™เป†.

เบเบฒเบ™โ€‹เบเบถเบโ€‹เบญเบปเบšโ€‹เบฎเบปเบก

เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ufs; เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, zfs เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบ•เบปเป‰เบ™เบ•เป, เปเบฅเบฐ ufs เปƒเบ™เบ„เบธเบ, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เปƒเบซเบกเปˆ kernel;
เบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบฅเบฐเบšเบปเบšเปเบฅเป‰เบง, เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒ:

/usr/src/sys/amd64/conf/GENERIC

เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบซเบ™เบถเปˆเบ‡เปเบ–เบงเปƒเบชเปˆเป„เบŸเบฅเปŒเบ™เบตเป‰:

options     MAC_MLS

เบ›เป‰เบฒเบเบŠเบทเปˆ mls/high เบˆเบฐเบกเบตเบˆเบธเบ”เป€เบ”เบฑเปˆเบ™เบเบงเปˆเบฒเบ›เป‰เบฒเบ mls/low, เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเบ”เป‰เบงเบเบ›เป‰เบฒเบ mls/low เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ›เป‰เบฒเบ mls/high เป„เบ”เป‰. เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเปเบ—เบฑเบเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš FreeBSD เบชเบฒเบกเบฒเบ”เบžเบปเบšเป„เบ”เป‰เปƒเบ™เบ™เบตเป‰ เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒ.
เบ•เปเปˆเป„เบ›, เป„เบ›เบ—เบตเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต /usr/src:

cd /usr/src

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ kernel, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ (เปƒเบ™ j key, เบฅเบฐเบšเบธเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ cores เปƒเบ™เบฅเบฐเบšเบปเบš):

make -j 4 buildkernel KERNCONF=GENERIC

เบซเบผเบฑเบ‡เบˆเบฒเบ kernel เป„เบ”เป‰เบ–เบทเบเบฅเบงเบšเบฅเบงเบก, เบกเบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡:

make installkernel KERNCONF=GENERIC

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ kernel, เบขเปˆเบฒเบŸเป‰เบฒเบงเบ—เบตเปˆเบˆเบฐ reboot เบฅเบฐเบšเบปเบš, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเป‚เบญเบ™เบœเบนเป‰เปƒเบŠเป‰เป€เบ‚เบปเป‰เบฒเปƒเบ™เบซเป‰เบญเบ‡เบฎเบฝเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš, เป„เบ”เป‰ configured เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰. เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒ /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). เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเปเบฅเบฐเบงเบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰เบฎเบฒเบ (เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™) เปƒเบ™เบซเป‰เบญเบ‡เบฎเบฝเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเบ™เบตเป‰:

cap_mkdb /etc/login.conf
pw usermod root -L default

เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ™เบฐเป‚เบเบšเบฒเบเบ™เบณเปƒเบŠเป‰เบเบฑเบšเป„เบŸเบฅเปŒเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒ /etc/mac.conf, เบ›เปˆเบญเบเปƒเบซเป‰เบกเบตเบžเบฝเบ‡เปเบ–เบงเบ”เบฝเบงเปƒเบ™เบ™เบฑเป‰เบ™:

default_labels file ?mls

เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเป‚เบกเบ”เบนเบ™ mac_mls.ko เป€เบžเบทเปˆเบญ autorun:

echo 'mac_mls_load="YES"' >> /boot/loader.conf

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” reboot เบฅเบฐเบšเบปเบšเป„เบ”เป‰เบขเปˆเบฒเบ‡เบ›เบญเบ”เป„เบž. เบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡ เบ„เบธเบ เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบžเบดเบกเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เปเบ•เปˆเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ„เบธเบ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบฎเบฒเบ”เป„เบ”เปเบฅเบฐเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบชเปˆเบกเบฑเบ™เปเบฅเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰ multilabel เปƒเบ™เบกเบฑเบ™, เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ufs2 เบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบเบธเปˆเบก 64kb:

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

เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ„เบธเบเบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบตเป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบ„เบธเบเป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบกเบฑเบ™เปƒเบ™เบฅเบฐเบšเบปเบšเบ•เบปเป‰เบ™เบ•เปเบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเป„เบŸเบฅเปŒ /etc/login.conf, /etc/mac.conf.

เบเบฒเบ™เบ›เบฑเบš

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบ—เปเบเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เบ‚เป‰เบญเบเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ, tags เบˆเบฐเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบŠเบธเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰:

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 / เบ•เปˆเปเบฒเปเบฅเบฐเบŠเบธเบ”เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เปเปˆเบกเบฒ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบš php) เบˆเบฐเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰. เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบตเป‰, เปเบ•เปˆเบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ‚เป‰เบญเบเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบ„เบธเบเปเบฅเบฐเบ•เบฑเป‰เบ‡ mls / เบ›เป‰เบฒเบเบŠเบทเปˆเบชเบนเบ‡เปƒเบ™เบ—เบธเบเป„เบŸเบฅเปŒ:

setfmac -R mls/high /jail

เป€เบกเบทเปˆเบญเบ•เบฑเป‰เบ‡เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบ, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบˆเบฐเบ–เบทเบเบขเบธเบ”เบ–เป‰เบฒ setfmac เบžเบปเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบ, เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบเบ‚เป‰เบญเบเป„เบ”เป‰เบฅเบถเบš hard links เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

/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 / เบ•เปˆเปเบฒเบชเปเบฒเบฅเบฑเบš apache, เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เปเบกเปˆเบ™เบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒเปƒเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ apache:

ldd /usr/local/sbin/httpd

เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰, เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบˆเบฐเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเบˆเป, เปเบ•เปˆเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ›เป‰เบฒเบเบŠเบทเปˆเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เป„เบŸเบฅเปŒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบžเบฝเบ‡เบžเป, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป„เบŸเบฅเปŒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ•เบฑเป‰เบ‡เบขเบนเปˆเบกเบตเบ›เป‰เบฒเบเบŠเบทเปˆ mls / เบชเบนเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบเบฑเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบ›เป‰เบฒเบเบŠเบทเปˆ. 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

เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ™เบตเป‰เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ tags mls / เบ•เปˆเปเบฒเบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ apache เปเบฅเบฐ php (เบชเปเบฒเบฅเบฑเบšเบŠเบธเบ”เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบ).

เบเบฒเบ™เบชเปเบฒเบžเบฑเบ”เบชเบธเบ”เบ—เป‰เบฒเบเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ„เบธเบเป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบฅเบฐเบ”เบฑเบš 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}
}

ะ’ เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™ เบ„เบนเปˆเบกเบทเบ›เบฐเบเบญเบšเบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™, เปเบ•เปˆเบ‚เป‰เบญเบเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบกเบฑเบ™เป„เบ”เป‰เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เป‰เบญเบเบชเบทเบšเบ•เปเปˆเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ setpmac.

เบชเบฐเบซเบฅเบธเบš

เบงเบดเบ—เบตเบเบฒเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ™เบตเป‰เบˆเบฐเป€เบžเบตเปˆเบกเบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ•เปเปˆเบเบฑเบš apache (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบš stack เบญเบทเปˆเบ™เป†), เป€เบŠเบดเปˆเบ‡เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เบ„เบธเบ, เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เป‚เบ›เปˆเบ‡เปƒเบชเปเบฅเบฐเบšเปเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™.

เบฅเบฒเบเบŠเบทเปˆเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบฒเบ—เบตเปˆเบŠเปˆเบงเบเบ‚เป‰เบญเบเปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เปœเบฑเบ‡เบชเบทเบžเบดเบกเบ™เบตเป‰:

https://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/mac.html

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™