ಪರಿಚಯ
ಹೆಚ್ಚುವರಿ ಮಟ್ಟದ ಸರ್ವರ್ ಭದ್ರತೆಯನ್ನು ಒದಗಿಸಲು, ನೀವು ಬಳಸಬಹುದು
ತರಬೇತಿ
ಈ ವಿಧಾನವು ufs ಫೈಲ್ ಸಿಸ್ಟಮ್ಗೆ ಮಾತ್ರ ಸೂಕ್ತವಾಗಿದೆ; ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, zfs ಅನ್ನು ಮುಖ್ಯ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಮತ್ತು ufs ಅನ್ನು ಕ್ರಮವಾಗಿ ಜೈಲಿನಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ಕರ್ನಲ್ ಅನ್ನು ಮರುನಿರ್ಮಾಣ ಮಾಡುವುದು ಮೊದಲ ಹಂತವಾಗಿದೆ; FreeBSD ಅನ್ನು ಸ್ಥಾಪಿಸುವಾಗ, ಮೂಲ ಕೋಡ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ.
ಸಿಸ್ಟಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸಿ:
/usr/src/sys/amd64/conf/GENERIC
ಈ ಫೈಲ್ಗೆ ನೀವು ಕೇವಲ ಒಂದು ಸಾಲನ್ನು ಸೇರಿಸುವ ಅಗತ್ಯವಿದೆ:
options MAC_MLS
mls/ಹೈ ಲೇಬಲ್, mls/ಕಡಿಮೆ ಲೇಬಲ್ ಮೇಲೆ ಪ್ರಬಲ ಸ್ಥಾನವನ್ನು ಹೊಂದಿರುತ್ತದೆ, mls/ಕಡಿಮೆ ಲೇಬಲ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಗುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು mls/ಹೈ ಲೇಬಲ್ ಹೊಂದಿರುವ ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. 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). ಈ ಕುಶಲತೆಯ ನಂತರ, ನೀವು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಮರುನಿರ್ಮಾಣ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಈ ಲಾಗಿನ್ ವರ್ಗದಲ್ಲಿ ರೂಟ್ ಬಳಕೆದಾರರನ್ನು (ಹಾಗೆಯೇ ಅಗತ್ಯವಿರುವವರು) ಇರಿಸಬೇಕಾಗುತ್ತದೆ:
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
ಮೌಂಟ್ಪಾಯಿಂಟ್ನಲ್ಲಿ, ನೀವು ಹಾರ್ಡ್ ಡ್ರೈವ್ ಅನ್ನು ಆರೋಹಿಸುವ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ; ಪಾಸ್ನಲ್ಲಿ, 1 ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಮರೆಯದಿರಿ (ಈ ಹಾರ್ಡ್ ಡ್ರೈವ್ ಅನ್ನು ಯಾವ ಅನುಕ್ರಮದಲ್ಲಿ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ) - ಇದು ಅವಶ್ಯಕವಾಗಿದೆ, ಏಕೆಂದರೆ ufs ಫೈಲ್ ಸಿಸ್ಟಮ್ ಹಠಾತ್ ವಿದ್ಯುತ್ ಕಡಿತಕ್ಕೆ ಸೂಕ್ಷ್ಮವಾಗಿರುತ್ತದೆ . ಈ ಹಂತಗಳ ನಂತರ, ಡಿಸ್ಕ್ ಅನ್ನು ಆರೋಹಿಸಿ:
mount /dev/ada1 /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/ಹೈ ಲೇಬಲ್ಗಳನ್ನು ಹೊಂದಿಸಿ:
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
ಲೇಬಲ್ಗಳನ್ನು ಹೊಂದಿಸಿದ ನಂತರ, ನೀವು ಅಪಾಚೆಗಾಗಿ ಮಿಲಿ/ಕಡಿಮೆ ಲೇಬಲ್ಗಳನ್ನು ಹೊಂದಿಸಬೇಕಾಗುತ್ತದೆ, ನೀವು ಮಾಡಬೇಕಾದ ಮೊದಲನೆಯದು ಅಪಾಚೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಯಾವ ಫೈಲ್ಗಳು ಅಗತ್ಯವಿದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯುವುದು:
ldd /usr/local/sbin/httpd
ಈ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರ, ಅವಲಂಬನೆಗಳನ್ನು ಪರದೆಯ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಈ ಫೈಲ್ಗಳಲ್ಲಿ ಅಗತ್ಯವಾದ ಲೇಬಲ್ಗಳನ್ನು ಹೊಂದಿಸುವುದು ಸಾಕಾಗುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಈ ಫೈಲ್ಗಳು ಇರುವ ಡೈರೆಕ್ಟರಿಗಳು mls/ಹೈ ಲೇಬಲ್ ಅನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಆದ್ದರಿಂದ ಈ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ಸಹ ಲೇಬಲ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಮಿಲಿ/ಕಡಿಮೆ ಪ್ರಾರಂಭಿಸುವಾಗ, ಅಪಾಚೆ ಅದನ್ನು ಚಲಾಯಿಸಲು ಅಗತ್ಯವಾದ ಫೈಲ್ಗಳನ್ನು ಸಹ ಔಟ್ಪುಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು 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
ಈ ಪಟ್ಟಿಯು apache ಮತ್ತು php ಸಂಯೋಜನೆಯ ಸರಿಯಾದ ಕಾರ್ಯಾಚರಣೆಗೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಫೈಲ್ಗಳಿಗೆ mls/ಕಡಿಮೆ ಟ್ಯಾಗ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ (ನನ್ನ ಉದಾಹರಣೆಯಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾದ ಪ್ಯಾಕೇಜ್ಗಳಿಗೆ).
ಜೈಲನ್ನು ಮಿಲಿ/ಸಮಾನ ಮಟ್ಟದಲ್ಲಿ ಮತ್ತು ಅಪಾಚೆಯನ್ನು ಮಿಲಿ/ಕಡಿಮೆ ಮಟ್ಟದಲ್ಲಿ ಚಲಾಯಿಸಲು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಅಂತಿಮ ಸ್ಪರ್ಶವಾಗಿರುತ್ತದೆ. ಜೈಲನ್ನು ಪ್ರಾರಂಭಿಸಲು, ನೀವು /etc/rc.d/jail ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಬೇಕಾಗುತ್ತದೆ, ಈ ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ jail_start ಕಾರ್ಯಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ, ಕಮಾಂಡ್ ವೇರಿಯಬಲ್ ಅನ್ನು ಫಾರ್ಮ್ಗೆ ಬದಲಾಯಿಸಿ:
command="setpmac mls/equal $jail_program"
setpmac ಆಜ್ಞೆಯು ಎಲ್ಲಾ ಲೇಬಲ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಲು ಅಗತ್ಯವಿರುವ ಸಾಮರ್ಥ್ಯದ ಮಟ್ಟದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತದೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ mls/ಸಮಾನವಾಗಿದೆ. ಅಪಾಚೆಯಲ್ಲಿ ನೀವು ಆರಂಭಿಕ ಸ್ಕ್ರಿಪ್ಟ್ /usr/local/etc/rc.d/apache24 ಅನ್ನು ಸಂಪಾದಿಸಬೇಕಾಗುತ್ತದೆ. apache24_prestart ಕಾರ್ಯವನ್ನು ಬದಲಾಯಿಸಿ:
apache24_prestart() {
apache24_checkfib
apache24_precmd
eval "setpmac mls/low" ${command} ${apache24_flags}
}
В
ತೀರ್ಮಾನಕ್ಕೆ
ಪ್ರವೇಶವನ್ನು ವಿತರಿಸುವ ಈ ವಿಧಾನವು ಅಪಾಚೆಗೆ ಹೆಚ್ಚುವರಿ ಮಟ್ಟದ ಭದ್ರತೆಯನ್ನು ಸೇರಿಸುತ್ತದೆ (ಈ ವಿಧಾನವು ಯಾವುದೇ ಇತರ ಸ್ಟಾಕ್ಗೆ ಸೂಕ್ತವಾಗಿದೆ), ಇದು ಹೆಚ್ಚುವರಿಯಾಗಿ ಜೈಲಿನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, ಅದೇ ಸಮಯದಲ್ಲಿ, ನಿರ್ವಾಹಕರಿಗೆ ಇದೆಲ್ಲವೂ ಪಾರದರ್ಶಕವಾಗಿ ಮತ್ತು ಗಮನಿಸದೆ ನಡೆಯುತ್ತದೆ.
ಈ ಪ್ರಕಟಣೆಯನ್ನು ಬರೆಯಲು ನನಗೆ ಸಹಾಯ ಮಾಡಿದ ಮೂಲಗಳ ಪಟ್ಟಿ:
ಮೂಲ: www.habr.com