ನೀವು up ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರೂಟ್ ಆಗಿ ಚಲಾಯಿಸುತ್ತೀರಿ, ಅದು ಪೂರ್ಣಗೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಸೇವೆ ಅದನ್ನು ಕರೆದಾಗ ಅದೇ ಸ್ಕ್ರಿಪ್ಟ್ ವಿಫಲವಾಗುತ್ತದೆ. ಫೈಲ್ನ ಅನುಮತಿಗಳಲ್ಲಿ ಏನೂ ಬದಲಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಮುಂದಿನ ಸಹಜ ಹೆಜ್ಜೆ ಅವುಗಳನ್ನು ಮತ್ತೆ ಸಡಿಲಿಸುವುದು, ಅದು ಏನನ್ನೂ ಸರಿಪಡಿಸುವುದಿಲ್ಲ. SELinux ಹೋಸ್ಟ್ನಲ್ಲಿ ನಿರ್ಣಾಯಕ ಅಂಶ ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಕ್ರಿಯೆ ಯಾರು ಎಂಬುದಲ್ಲ, ಬದಲಿಗೆ ಅದು ಯಾವ ಡೊಮೇನ್ ಒಳಗೆ ಚಲಿಸುತ್ತದೆ ಎಂಬುದು, ಮತ್ತು ಸೀಮಿತ ಡೊಮೇನ್ ಒಳಗಿನ ರೂಟ್ ಸಹ ಸೀಮಿತವಾಗಿಯೇ ಇರುತ್ತದೆ.

ಅದೇ ಆಜ್ಞೆ, ಎರಡು ವಿಭಿನ್ನ ಭದ್ರತಾ ಡೊಮೇನ್ಗಳು

ಪ್ರಕಾರ ಜಾರಿಗೊಳಿಸುವಿಕೆ ಮೂಲ ಡೊಮೇನ್, ಗುರಿ ಲೇಬಲ್ ಮತ್ತು ಕೋರಿದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಒಟ್ಟಿಗೆ ಮೌಲ್ಯಮಾಪನ ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಟರ್ಮಿನಲ್ ಅಧಿವೇಶನ ಅಪರಿಮಿತ ಅಥವಾ ಆಡಳಿತಾತ್ಮಕ ಡೊಮೇನ್ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, ಮತ್ತು ಡೀಮನ್ ತನ್ನ ಘಟಕಕ್ಕೆ ನಿಗದಿಪಡಿಸಿದ ಡೊಮೇನ್ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಒಂದೇ ರೀತಿಯ ಆಜ್ಞೆಗಳು ಬೇರೆ ಬೇರೆ ನಿರ್ಣಯಗಳನ್ನು ನೀಡುತ್ತವೆ, ಮತ್ತು ಈ ವ್ಯತ್ಯಾಸ ನೀತಿಯಲ್ಲಿನ ದೋಷವಲ್ಲ, ಉದ್ದೇಶಪೂರ್ವಕವಾದುದು.

ಆದ್ದರಿಂದ ಎರಡು ರನ್ಗಳ ಹೋಲಿಕೆ ಅವುಗಳ ಸಂದರ್ಭಗಳನ್ನು ಹೋಲಿಸಿದಾಗ ಮಾತ್ರ ಉಪಯುಕ್ತ. ಅದೇ ಆಜ್ಞೆಯನ್ನು ಶೆಲ್ನಿಂದ ಮತ್ತು hook ನಿಂದ ಚಲಾಯಿಸಿ; ಶೆಲ್ ಆವೃತ್ತಿ ಬೈನರಿ ಇದೆ ಮತ್ತು ವಾದಗಳು ಸರಿಯಾಗಿವೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ, ಆದರೆ ಸೇವೆಗೆ ಅದನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿ ಇದೆಯೇ ಎಂಬ ಬಗ್ಗೆ ಏನನ್ನೂ ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ. ಎರಡೂ ರೀತಿಯಲ್ಲಿ ಚಲಾಯಿಸಿ ಮತ್ತು ಕೇವಲ ನಿರ್ಗಮನ ಸಂಕೇತಗಳಲ್ಲ, ಡೊಮೇನ್ಗಳನ್ನು ಹೋಲಿಸಿ. ಆ ಹೋಲಿಕೆಯೇ ಅಸ್ಪಷ್ಟ ಅನುಮತಿ ದೂರನ್ನು ಒಂದು ಡೊಮೇನ್ ಮತ್ತು ಒಂದು ಲೇಬಲ್ನ ಬಗ್ಗೆ ನಿರ್ದಿಷ್ಟ ಪ್ರಶ್ನೆಯಾಗಿ ಬದಲಾಯಿಸುತ್ತದೆ.

ಈ ದೋಷದ ಸಾಂಪ್ರದಾಯಿಕ ರೂಪ ಬಾಹ್ಯ ಸಾಧನವನ್ನು ಕರೆಯುವ ಸಹಾಯಕ. hook ಸ್ವತಃ ಅನುಮತಿಸಲ್ಪಡಬಹುದು, ಆದರೆ ಅದು ಕರೆಯುವ ಸಾಧನ ಸೇವಾ ಡೊಮೇನ್ ಚಲಾಯಿಸಲಾಗದ ಲೇಬಲ್ ಹೊಂದಿದೆ, ಅಥವಾ ಅದರ ಲೇಬಲ್ ನಿಷೇಧಿಸುವ ಡೈರೆಕ್ಟರಿಗೆ ಬರೆಯುತ್ತದೆ.

hook ದೋಷದ ಪಕ್ಕದಲ್ಲಿ AVC ದಾಖಲೆಯನ್ನು ಓದಿ

AVC ನಿರಾಕರಣೆ ಪ್ರಕರಣವನ್ನು ನಿರ್ಧರಿಸುವ ಕ್ಷೇತ್ರಗಳನ್ನು ಹೆಸರಿಸುತ್ತದೆ: ಪ್ರಕ್ರಿಯೆಯ ಮೂಲ ಸಂದರ್ಭ, ವಸ್ತುವಿನ ಗುರಿ ಸಂದರ್ಭ, ವಸ್ತು ವರ್ಗ ಮತ್ತು ನಿರಾಕರಿಸಿದ ನಿರ್ದಿಷ್ಟ ಅನುಮತಿ. ಸಿದ್ಧಾಂತ ರೂಪಿಸುವ ಮೊದಲು ನಾಲ್ಕನ್ನೂ ಓದಿ, ಏಕೆಂದರೆ ಎಕ್ಸಿಕ್ಯೂಟ್ನಲ್ಲಿ ನಿರಾಕರಣೆ ಮತ್ತು ರೈಟ್ನಲ್ಲಿ ನಿರಾಕರಣೆ ಸಂಪೂರ್ಣವಾಗಿ ಬೇರೆ ಪರಿಹಾರಗಳನ್ನು ಹೊಂದಿವೆ.

ausearch -m AVC,USER_AVC -ts recent
ls -Z /usr/local/sbin/vpn-up.sh
ps -eZ | grep openvpn

ಮೂಲ ಸಂದರ್ಭ ಸೇವೆ ನಿಜವಾಗಿ ಚಲಿಸುವ ಡೊಮೇನ್ಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು, ಮತ್ತು ಗುರಿ ಸಂದರ್ಭ ಕಾರ್ಯಾಚರಣೆ ಸ್ಪರ್ಶಿಸಿದ ಫೈಲ್ ಅಥವಾ ಡೈರೆಕ್ಟರಿಯ ಲೇಬಲ್ಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು. ಎರಡರಲ್ಲಿ ಒಂದು ನೀವು ಅನುಸರಿಸುತ್ತಿರುವ ದೋಷಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ, ನೀವು ಬೇರೆ ಘಟನೆಯನ್ನು ಓದುತ್ತಿದ್ದೀರಿ.

ದಾಖಲೆಯ ಪಕ್ಕದಲ್ಲಿ ನೀತಿಯ ಆವೃತ್ತಿ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ನ ನಿಖರ ಮಾರ್ಗವನ್ನು ಗಮನಿಸಿ. ಒಂದು ವಿತರಣೆಯ ನೀತಿಯಲ್ಲಿ ಕಾಣುವ ಡೊಮೇನ್ ಹೆಸರು ಆ ಸ್ಥಾಪನೆಯ ಬಗ್ಗೆ ಸಾಕ್ಷ್ಯ, ಇನ್ನೊಂದು ಬಿಲ್ಡ್ ಅದೇ ನಿಯಮಗಳನ್ನು ತಲುಪಿಸುತ್ತದೆ ಎಂಬ ಖಾತರಿಯಲ್ಲ. ಆ ಸಂದರ್ಭವೇ ಬೇರೆಯವರಿಗೆ ತಮ್ಮ ಸ್ವಂತ ಹೋಸ್ಟ್ನಲ್ಲಿ ನಿಮ್ಮ ತೀರ್ಮಾನವನ್ನು ಮರುಸೃಷ್ಟಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಅದಿಲ್ಲದೆ ದಾಖಲೆ ಸಾಕ್ಷ್ಯದ ಬದಲು ಕಥೆಯಂತೆ ಓದಲ್ಪಡುತ್ತದೆ.

ಲೇಬಲ್, ಸಂರಚನೆ ಅಥವಾ ನೀತಿ: ಮೂರು ಪರಿಹಾರಗಳು

ಮೊದಲ ಪರಿಹಾರ ಫೈಲ್ನ ಸ್ಥಾಪಿತ ಸ್ಥಳಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗದ ಲೇಬಲ್. cp ಯಿಂದ ಸ್ಥಳದಲ್ಲಿ ನಕಲಿಸಿದ ಅಥವಾ ಸಂಪಾದಕದಿಂದ ಬರೆದ ಸ್ಕ್ರಿಪ್ಟ್ ಸೇವಾ ಡೊಮೇನ್ ಬಳಸಲಾಗದ ಡಿಫಾಲ್ಟ್ ಲೇಬಲ್ ಹೊಂದಿರಬಹುದು, ಮತ್ತು ನಿರೀಕ್ಷಿತ ಸಂದರ್ಭವನ್ನು ಮರುಸ್ಥಾಪಿಸುವುದು ನೀತಿಯನ್ನು ಸ್ಪರ್ಶಿಸದೆಯೇ ಅದನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ.

ಎರಡನೆಯದು ಸಂರಚನೆ. ವಿತರಣೆ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಚಲಾಯಿಸುವ ಬೆಂಬಲಿತ ಮಾರ್ಗ, ಸಹಾಯಕಕ್ಕೆ ದಾಖಲಿತ ಡೈರೆಕ್ಟರಿ, ಅಥವಾ ಅದನ್ನು ಈಗಾಗಲೇ ಅನುಮತಿಸುವ ನವೀಕೃತ ನೀತಿ ಪ್ಯಾಕೇಜ್ ಒದಗಿಸಬಹುದು. ನಿಮ್ಮ ವಿನ್ಯಾಸವನ್ನು ಬೆಂಬಲಿತ ಒಂದಕ್ಕೆ ಬದಲಾಯಿಸುವುದು ನೀತಿ ಬರೆಯುವುದಕ್ಕಿಂತ ಅಗ್ಗ ಮತ್ತು ನವೀಕರಣಗಳನ್ನು ತಾಳಿಕೊಳ್ಳುತ್ತದೆ.

ಮೂರನೆಯದು ನಿಜವಾಗಿ ಕಾಣೆಯಾದ ನಿಯಮ, ಮತ್ತು ಅದು ಕೊನೆಯ ಉಪಾಯವಾಗಿರಬೇಕು. ಆಡಿಟ್ ಉಪಕರಣಗಳಿಂದ ಅಭ್ಯರ್ಥಿಯನ್ನು ರಚಿಸಿ, ಅದು ನಿಜವಾಗಿ ಏನನ್ನು ಅನುಮತಿಸುತ್ತದೆ ಎಂದು ಓದಿ, ನೀವು ಗಮನಿಸಿದ ಕಾರ್ಯಾಚರಣೆ ಮತ್ತು ಡೊಮೇನ್ಗೆ ಅದನ್ನು ಸೀಮಿತಗೊಳಿಸಿ, ಮತ್ತು ಉತ್ಪಾದನೆಯ ಹತ್ತಿರ ಬರುವ ಮೊದಲು ಬೇರೆಯವರಿಂದ ಅದನ್ನು ಪರಿಶೀಲಿಸಿ.

ಹಳೆಯ allow ಮಾಡ್ಯೂಲ್ ಉತ್ತರ ಏಕೆ ಅಲ್ಲ

ಈ ದೋಷದ ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳು ಸಿದ್ಧ ಮಾಡ್ಯೂಲ್ಗಳಿಂದ ತುಂಬಿವೆ, ಸಾಮಾನ್ಯವಾಗಿ hook ಇನ್ನು ಕರೆಯದ ಸಾಧನಕ್ಕಾಗಿ. ಒಂದನ್ನು ಸ್ಥಾಪಿಸುವುದು ನಿಮ್ಮ ನಿರಾಕರಣೆಗೆ ಸಂಬಂಧವಿಲ್ಲದ ಅನುಮತಿಗಳನ್ನು ನೀಡುತ್ತದೆ, ಮತ್ತು ಶಾಶ್ವತ ಕುಳಿ ಸೇರಿಸುವಾಗ ನಿಜವಾದ ಹೊಂದಾಣಿಕೆಯ ಕೊರತೆಯನ್ನು ಅದರ ಜಾಗದಲ್ಲಿ ಬಿಡುತ್ತದೆ.

ಅದು ಮುಂದಿನ ವೈಫಲ್ಯವನ್ನೂ ಮುಚ್ಚುತ್ತದೆ. ಕಾರ್ಯಾಚರಣೆಗಳ ವಿಶಾಲ ವರ್ಗಕ್ಕೆ ಅನುಮತಿ ನೀಡುವ ಮಾಡ್ಯೂಲ್ ಈ ದೋಷವನ್ನು ಮಾಯವಾಗಿಸುತ್ತದೆ ಮತ್ತು ಮುಂದಿನದನ್ನು ಆರೋಪಿಸಲು ತುಂಬಾ ಕಷ್ಟಕರವಾದದ್ದಾಗಿ ಮಾಡುತ್ತದೆ. ನಂತರ ಮಾಡ್ಯೂಲ್ ತೆಗೆಯುವುದೂ ಯಾರೂ ಯೋಜಿಸಲು ಇಷ್ಟಪಡದ ಬದಲಾವಣೆ, ಆದ್ದರಿಂದ ಚಿಕ್ಕದಾರಿ ಶಾಶ್ವತವಾಗುವ ಪ್ರವೃತ್ತಿ ಹೊಂದಿದೆ.

ಶಿಸ್ತುಬದ್ಧ ಹೋಲಿಕೆ ನೀವು ಓದಬಹುದಾದ ನಿರಾಕರಣೆ ಮತ್ತು ನೀವು ಸೂಚಿಸುವ ಬದಲಾವಣೆಯ ನಡುವೆ ಇದೆ. Red Hat ನ SELinux ಸಮಸ್ಯೆ ನಿವಾರಣಾ ಮಾರ್ಗದರ್ಶಿ ಲೇಬಲಿಂಗ್ ಮತ್ತು ಸಂರಚನೆ ಪರಿಶೀಲನೆಗಳನ್ನು ಉತ್ಪಾದಿತ ನೀತಿಗಿಂತ ಮೊದಲು ಇಡುತ್ತದೆ, ಸರಿಯಾಗಿ ಈ ಕಾರಣಕ್ಕಾಗಿ. ದಾಖಲೆಯಲ್ಲಿ ಅನುಗುಣವಾದ ನಿರಾಕರಣೆ ಇಲ್ಲದಿದ್ದರೆ, SELinux ಬಹುಶಃ ನಿಮ್ಮ ಸಮಸ್ಯೆ ಅಲ್ಲ, ಮತ್ತು ಮಾರ್ಗ, ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಅಥವಾ ಅನುಮತಿ ಸಮಸ್ಯೆಗಳು ಇನ್ನೂ ತೆರೆದಿವೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು