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

ಪುರಾಣ: ಪ್ಲಗಿನ್ ಬೆಂಬಲಿತ ಮಾರ್ಗ

ಪ್ಲಗಿನ್ OpenVPN ಪ್ರಕ್ರಿಯೆಗೆ ಲೋಡ್ ಆಗುವ ಹಂಚಿಕೆ ವಸ್ತು, ಆದ್ದರಿಂದ ಅದು ಆ ಪ್ರಕ್ರಿಯೆ ಒದಗಿಸುವ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು. ಬಿಲ್ಡ್‌ಗಳು ಬದಲಾಗುತ್ತವೆ, ಪ್ಯಾಕೇಜಿಂಗ್ ಬದಲಾಗುತ್ತದೆ, ಮತ್ತು ಹಳೆಯ ಇಂಟರ್ಫೇಸ್‌ಗಾಗಿ ಕಂಪೈಲ್ ಆದ ಲೈಬ್ರರಿ ಲೋಡ್ ಆಗಲು ನೇರವಾಗಿ ನಿರಾಕರಿಸುತ್ತದೆ. ಸರ್ವರ್ ಸಂರಚನೆಯಲ್ಲಿ ಯಾವುದೂ ಆ ಅಂತರವನ್ನು ಮುಚ್ಚಲಾರದು, ಆದ್ದರಿಂದ "radiusplugin ಸ್ಥಾಪಿಸಿ ಅಷ್ಟೆ" ಎಂಬ ಸಲಹೆ ಪ್ರಾರಂಭವಾಗದ ಸರ್ವರ್‌ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ.

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

ಯಾವ ವಿಧಾನವೂ ರಚನೆಯಿಂದ ಹೆಚ್ಚು ಸುರಕ್ಷಿತವಲ್ಲ. ಒಂದು ಡೀಮನ್ ಒಳಗೆ ಬಾಹ್ಯ ಕೋಡ್ ಚಲಾಯಿಸುತ್ತದೆ; ಇನ್ನೊಂದು ರುಜುವಾತುಗಳನ್ನು ಕೈಯಲ್ಲಿ ಹಿಡಿದು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಅದರ ಪಕ್ಕದಲ್ಲಿ ಚಲಾಯಿಸುತ್ತದೆ. ಸರಿಯಾದ ಪ್ರಶ್ನೆ ಎಂದರೆ ಈ ಎರಡು ಅಪಾಯಗಳಲ್ಲಿ ಯಾವುದನ್ನು ನೀವು ನಿಜವಾಗಿ ನಿರ್ವಹಿಸಬಲ್ಲಿರಿ.

ಪ್ಲಗಿನ್ ಏನನ್ನು ಒಟ್ಟಿಗೆ ಕಟ್ಟಿತ್ತು

ಪ್ಲಗಿನ್‌ಗೆ RADIUS ಆತಿಥೇಯ, ಹಂಚಿದ ರಹಸ್ಯ, ಮರುಪ್ರಯತ್ನ ಸಂಖ್ಯೆ ಮತ್ತು ಕಾಲಮಿತಿಯೊಂದಿಗೆ ತನ್ನದೇ ಸಂರಚನಾ ಫೈಲ್ ಇತ್ತು, ಮತ್ತು ಸರ್ವರ್ ಸಂರಚನೆ ಅದನ್ನು ಒಂದೇ ಸಾಲಿನಲ್ಲಿ ಉಲ್ಲೇಖಿಸುತ್ತಿತ್ತು. ರುಜುವಾತು ನಿರ್ವಹಣೆ ಸರ್ವರ್ ಪ್ರಕ್ರಿಯೆಯ ಒಳಗೇ ಉಳಿಯಿತು, ಅಂದರೆ ಪಾಸ್‌ವರ್ಡ್ ನಿರ್ವಾಹಕರು ಸುರಕ್ಷಿತಗೊಳಿಸಬೇಕಾದ ಪ್ರಕ್ರಿಯೆ ಮಿತಿಯನ್ನು ಎಂದೂ ದಾಟಲಿಲ್ಲ.

ಬೆಲೆ ಜೋಡಣೆಯಾಗಿತ್ತು. ಪ್ರತಿ OpenVPN ನವೀಕರಣವೂ ಹೊಂದಿಕೆಯಾಗದ ಇಂಟರ್ಫೇಸ್ ಅಪಾಯವನ್ನು ಹೊತ್ತಿತ್ತು, ಮತ್ತು ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಮತ್ತೆ ನಿರ್ಮಿಸುವ ಪ್ರತಿ ವಿತರಣೆಯೂ ಇನ್ನು ಹೊಂದಿಕೆಯಾಗದ ಲೈಬ್ರರಿ ಉತ್ಪಾದಿಸುವ ಅಪಾಯವನ್ನು ಹೊತ್ತಿತ್ತು. ಅದು ಸಂಭವಿಸಿದಾಗ, ವೈಫಲ್ಯ ಗಟ್ಟಿಯಾಗಿ ಮತ್ತು ತಕ್ಷಣ ಇರುತ್ತದೆ, ಮತ್ತು ಅದೇ ವಿನ್ಯಾಸದ ಏಕೈಕ ಕರುಣೆ.

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

ಸ್ಕ್ರಿಪ್ಟ್ ಹುಕ್ ನಿಜವಾಗಿ ಯಾವುದನ್ನು ನಂಬುತ್ತದೆ

ಹುಕ್ auth-user-pass-verify ಮತ್ತು ವಿತರಣಾ ಕಾರ್ಯವಿಧಾನದೊಂದಿಗೆ ಸಂರಚಿಸಲ್ಪಡುತ್ತದೆ: ಪರಿಸರ ಚರಗಳು ಅಥವಾ ತಾತ್ಕಾಲಿಕ ಫೈಲ್. ಪರಿಸರ ರೂಪದಲ್ಲಿ OpenVPN ಗೆ script-security 3 ಬೇಕು, ಅದು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ ಪಾಸ್‌ವರ್ಡ್ ಬಹಿರಂಗಪಡಿಸಲು ಅನುಮತಿಸುವ ದಾಖಲಿತ ಮಟ್ಟ. ಆ ಮಟ್ಟವು ಡೀಫಾಲ್ಟ್‌ನ ಉದ್ದೇಶಪೂರ್ವಕ ದುರ್ಬಲಗೊಳಿಸುವಿಕೆ, ಮತ್ತು ಅದನ್ನು ಸಮರ್ಥನೆ ಲಗತ್ತಿಸಿದ ಅನುಮತಿ ಎಂದು ಪರಿಗಣಿಸಬೇಕು.

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

ls -l /usr/local/sbin/radius-auth.sh
stat -c '%U %a' /usr/local/sbin/radius-auth.sh

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

ನಿರ್ಗಮನ ಸಂಕೇತಗಳು ನೀವು ತೆರೆದು ವಿಫಲವಾಗುತ್ತೀರಾ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತವೆ

ಸ್ಕ್ರಿಪ್ಟ್‌ನ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯೇ ತೀರ್ಪು: ಶೂನ್ಯ ಸ್ವೀಕರಿಸುತ್ತದೆ, ಶೂನ್ಯವಲ್ಲದ್ದು ನಿರಾಕರಿಸುತ್ತದೆ. ತೊಂದರೆ ಉಂಟುಮಾಡುವ ಮಾದರಿ ಎಂದರೆ RADIUS ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ಸ್ವೀಕೃತಿ ಟೋಕನ್ ಇದ್ದಾಗ ಮಾತ್ರ ಸ್ವೀಕರಿಸಿ ಉಳಿದ ಎಲ್ಲದಕ್ಕೂ ವೈಫಲ್ಯ ನೀಡುವ ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್, ಏಕೆಂದರೆ ಅದು ಮೂರು ಬೇರೆ ಘಟನೆಗಳನ್ನು ಒಂದೇ ಉತ್ತರದಲ್ಲಿ ಕರಗಿಸುತ್ತದೆ. ತಪ್ಪು ಪಾಸ್‌ವರ್ಡ್, ತಲುಪಲಾಗದ ಸರ್ವರ್ ಮತ್ತು ವಿಕೃತ ಪ್ರತಿಕ್ರಿಯೆ ಎಲ್ಲವೂ ಒಂದೇ ನಿರಾಕರಣೆಯಾಗುತ್ತವೆ.

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

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

ಪ್ರಮಾಣಪತ್ರ ಹೋದಾಗ ನೀವು ಏನನ್ನು ಬಿಟ್ಟುಕೊಡುತ್ತೀರಿ

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

ನಿಯಂತ್ರಣ ಚಾನಲ್ ರಕ್ಷಣೆಯನ್ನು ಜಾಗದಲ್ಲಿಡಿ, ಇದರಿಂದ ಅಪ್ರಮಾಣೀಕೃತ ಸಹಚರ ಹ್ಯಾಂಡ್‌ಶೇಕ್ ಅನ್ನು ಪರಿಶೀಲಿಸಲಾಗದು ಅಥವಾ ಮುಳುಗಿಸಲಾಗದು, ಮತ್ತು ಪ್ರತಿ-ಬಳಕೆದಾರ ಸಂರಚನೆ ಸಾಮಾನ್ಯ ಹೆಸರನ್ನು ಅವಲಂಬಿಸಿದಾಗ username-as-common-name ಬಳಸಿ. ನಿರ್ವಹಿತ ಗೇಟ್‌ವೇಗಳು ಇದನ್ನು ಹೆಚ್ಚಾಗಿ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಪರಿಹರಿಸುತ್ತವೆ, RADIUS ಜೊತೆ EAP-TLS ಮಾತನಾಡುವ ಗೇಟ್‌ವೇಯಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರ ಪ್ರಮಾಣೀಕರಣವನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತವೆ, ಮತ್ತು ಆ ಸಂದರ್ಭದಲ್ಲಿ ಈ ಸರ್ವರ್ ನಿರ್ದೇಶನಗಳಲ್ಲಿ ಯಾವುದೂ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. ನಿಮ್ಮ ಸ್ವಂತ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ದಾಖಲಿಸುವ ಮಾದರಿಯನ್ನು ನಕಲಿಸಿ, ನೆರೆಯ ಉತ್ಪನ್ನದ್ದನ್ನು ಅಲ್ಲ. ಮುಖ್ಯವಾದ ನಿರ್ದೇಶನಗಳು ಸಾಕಷ್ಟು ಭಿನ್ನವಾಗಿವೆ, ಅವುಗಳನ್ನು ಮಿಶ್ರಣ ಮಾಡಿದರೆ ಪಾರ್ಸ್ ಆಗಿ ನಂತರ ಯಾರನ್ನೂ ಪ್ರಮಾಣೀಕರಿಸದ ಸಂರಚನೆ ಉಂಟಾಗುತ್ತದೆ.

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