ProtectHome vs TOTP ಬೀಜ: VPN ಲಾಗಿನ್ ಏಕೆ ವಿಫಲವಾಗುತ್ತದೆ
ಸರಿಯಾದ ಸಂಕೇತವೂ ಬೀಜವನ್ನು ತೆರೆಯಲಾಗದ PAM ಮಾಡ್ಯೂಲ್ಗೆ ಸಹಾಯ ಮಾಡಲಾರದು. drop-in ಮತ್ತು ಬರೆಯಬಲ್ಲ ಸ್ಥಿತಿ ಮಾರ್ಗದ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡಿ, ನಂತರ ಘಟಕವನ್ನು ಪರಿಶೀಲಿಸಿ.
ದೃಢೀಕರಣ ಸಾಧನವು ಹೊಸ ಆರು ಅಂಕಿಯ ಸಂಕೇತವನ್ನು ತೋರಿಸುತ್ತದೆ, VPN ಅದನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ, ಮತ್ತು ಅದೇ ಸಂಕೇತವನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಶೆಲ್ನಿಂದ ಪರೀಕ್ಷಿಸಿದಾಗ ಸರಿಯಾಗಿ ಪರಿಶೀಲನೆಯಾಗುತ್ತದೆ. ಈ ಅಂತರವೇ ಇಡೀ ಕಥೆ. ನೋಂದಣಿ ರಹಸ್ಯವನ್ನು ತೆರೆಯಲಾಗದ PAM ಮಾಡ್ಯೂಲ್ ತಪ್ಪು ಸಂಕೇತದಂತೆಯೇ ಕಾಣುವ ವೈಫಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ, ಮತ್ತು ಮನೆ ಕಡತಕೋಶಗಳನ್ನು ಮರೆಮಾಡುವ ಸೇವಾ ಪರಿಸರವು ಇದಕ್ಕೆ ಸಾಮಾನ್ಯ ಕಾರಣ. ಯಾವುದೇ ಅನುಮತಿಯನ್ನು ಸಡಿಲಿಸುವ ಮೊದಲು ನೀವು ಮೂರು ಸ್ಥಿತಿಗಳಲ್ಲಿ ಯಾವುದರಲ್ಲಿದ್ದೀರಿ ಎಂದು ನಿರ್ಧರಿಸಿ.
ಮೂರು ವೈಫಲ್ಯಗಳಲ್ಲಿ ಯಾವುದು ಇದು?
ಮೊದಲನೆಯದು ಮಾಡ್ಯೂಲ್ ಓದಲೇ ಸಾಧ್ಯವಿಲ್ಲದ ರಹಸ್ಯ. ಎರಡನೆಯದು ಓದಬಹುದು ಆದರೆ ನವೀಕರಿಸಲಾಗದ ರಹಸ್ಯ. ಮೂರನೆಯದು ನಿಜವಾಗಿಯೂ ತಪ್ಪಾದ ಸಂಕೇತ, ಸಾಮಾನ್ಯವಾಗಿ ಗಡಿಯಾರದ ಡ್ರಿಫ್ಟ್ ಅಥವಾ ಮರುಬಳಕೆಯಾದ ಮೌಲ್ಯದಿಂದ.
ಒಂದು ವಿಫಲ ಪ್ರಯತ್ನಕ್ಕಾಗಿ ಸೇವಾ ಜರ್ನಲ್ ಮತ್ತು ಸಿಸ್ಟಂ ದೃಢೀಕರಣ ಲಾಗ್ ಓದಿ ಅವುಗಳನ್ನು ಬೇರ್ಪಡಿಸಿ, ನಂತರ ಪ್ಲಗಿನ್ ಯಾವ PAM ಸೇವೆಯನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಆ ಸೇವೆ ಯಾವ ಮಾಡ್ಯೂಲ್ ಸಾಲನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ಸಾಮಾನ್ಯ ದೃಢೀಕರಣ ವೈಫಲ್ಯ ಸಂದೇಶವು ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಯಶಸ್ವಿ ಕೈಯಿಂದ ಪರೀಕ್ಷೆಯೂ ಇಲ್ಲ, ಏಕೆಂದರೆ ನಿಮ್ಮ ಶೆಲ್ ಸೇವೆಯ ಪರಿಸರವಲ್ಲ.
ಕೇವಲ ಸೇವೆಯೇ ವಿಫಲವಾದಾಗ ಘಟಕದ ಕಡತ ವ್ಯವಸ್ಥೆಯ ನೋಟವೇ ಸಾಮಾನ್ಯ ಅಪರಾಧಿ.
systemctl show -p ProtectHome -p ProtectSystem -p ReadWritePaths [email protected]
ls -l /var/lib/vpn-otp/*/.google_authenticator 2>/dev/null | head -n 20ಆಯ್ಕೆ A: ರಹಸ್ಯವನ್ನು ಮನೆಯಿಂದ ಹೊರಕ್ಕೆ ಸರಿಸಿ
ಸೇವೆ /home ಅನ್ನು ಮರೆಮಾಡಿದಾಗ ಮತ್ತು ನೀವು ಆ ರಕ್ಷಣೆಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು ಬಯಸಿದಾಗ, ರಹಸ್ಯವನ್ನು ಅದು ನೋಡಬಲ್ಲ ಸ್ಥಳದಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ. ಮಾಡ್ಯೂಲ್ secret= ಮಾರ್ಗ ಮತ್ತು ಕಡತ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಮಾಡುವ user= ಖಾತೆಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಇದು ಕೇಂದ್ರೀಯ ಭಂಡಾರವು ಅನೇಕ ಗುರುತುಗಳಿಗೆ ಸೇವೆ ಸಲ್ಲಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಇದು ಅಚ್ಚುಕಟ್ಟಾದ ಆಯ್ಕೆ, ಮತ್ತು ಇದಕ್ಕೇ ಹೆಚ್ಚು ಕಾಳಜಿ ಬೇಕು, ಏಕೆಂದರೆ ಹಂಚಿಕೆಯ ಭಂಡಾರವು ಒಂದೇ ಕಡತಕೋಶವನ್ನು ಪ್ರತಿ ಖಾತೆಯ ಭದ್ರತಾ ಗಡಿಯಾಗಿಸುತ್ತದೆ.
auth required pam_google_authenticator.so secret=/var/lib/vpn-otp/${USER}/.google_authenticator user=vpn-otpಅದನ್ನು ನಂಬುವ ಮೊದಲು ಮೂರು ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸಿ: ಖಾತೆ ಇದೆ, ಮಾಡ್ಯೂಲ್ನ ಕಾರ್ಯ ಪ್ರಕ್ರಿಯೆ ಅದಕ್ಕೆ ಬದಲಾಗಬಲ್ಲದು, ಮತ್ತು ಕಡತಗಳು ನಿರ್ಬಂಧಕ ಮೋಡ್ಗಳೊಂದಿಗೆ ಅದಕ್ಕೆ ಸೇರಿವೆ. user= ಜೊತೆಗೆ ~ ಅಥವಾ ಮನೆ-ಚರ ಮಾರ್ಗವನ್ನು ಬಳಸಬೇಡಿ, ಮತ್ತು ಮಾರ್ಗ ಕೆಲಸ ಮಾಡಲು ಮಾಡ್ಯೂಲ್ನ ಮಾಲೀಕತ್ವ ಪರಿಶೀಲನೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಡಿ. ಗುಪ್ತಪದ ಹಂತ ಮತ್ತು ಉಳಿದ ಸ್ಟಾಕ್ ಅನ್ನು ಅಕ್ಷತವಾಗಿ ಇರಿಸಿ.
ಆಯ್ಕೆ B: ಕಡತವನ್ನು ಬಿಟ್ಟು ಮಾರ್ಗ ತೆರೆಯಿರಿ
ರಹಸ್ಯವು ಬಳಕೆದಾರರ ಮನೆಯಲ್ಲೇ ಇರಬೇಕಾದರೆ, ಹೋಸ್ಟ್ನ ಪ್ರತಿ ಮನೆಯನ್ನೂ ಬಯಲು ಮಾಡದೆ ಆ ಒಂದು ಕಡತಕೋಶವನ್ನು ಒಳಗೊಂಡ ನೋಟ ಘಟಕಕ್ಕೆ ಬೇಕು. drop-in ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಮಾಡಿದ ಮನೆಯ ಕೆಳಗೆ ಸಂಕುಚಿತ ಬೈಂಡ್ ಮೌಂಟ್ ಸೇರಿಸಬಹುದು.
ಇದು ಪ್ರತಿ ಬಳಕೆದಾರನ ಮಾಲೀಕತ್ವವನ್ನು ಮಾದರಿಯಾಗಿ ಉಳಿಸುತ್ತದೆ, ಆದರೆ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಬದಲಾದಾಗಲೆಲ್ಲಾ ಪರಿಶೀಲಿಸಬೇಕಾದ ಘಟಕ ಬದಲಾವಣೆಯ ವೆಚ್ಚದಲ್ಲಿ.
ಎರಡು ಮಿತಿಗಳನ್ನು ಸುಲಭವಾಗಿ ಕಳೆದುಕೊಳ್ಳಬಹುದು. ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಮರೆಮಾಡುವ ಕಡತಕೋಶದ ಕೆಳಗೆ ಸೇರಿಸಿದ ಓದು-ಮಾತ್ರ ಮಾರ್ಗವು ಅದನ್ನು ಬಯಲು ಮಾಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಮೂಲ ಕಡತಕೋಶವೇ ಇಲ್ಲ. ಮತ್ತು ಮಾಡ್ಯೂಲ್ ಸ್ಥಿತಿಯನ್ನು ನವೀಕರಿಸಬೇಕಾದರೆ ಮೌಂಟ್ ಬರೆಯಬಲ್ಲದಾಗಿರಬೇಕು, ಇದು ಮುಂದಿನ ಆಯ್ಕೆಯನ್ನು ಆಟಕ್ಕೆ ತರುತ್ತದೆ. drop-in ಅನ್ನು /usr/lib ಅಡಿಯ ಪ್ಯಾಕೇಜ್ ಮಾಡಿದ ಘಟಕವನ್ನು ಸಂಪಾದಿಸುವ ಬದಲು ಪ್ರತ್ಯೇಕ ಕಡತವಾಗಿ ಬರೆಯಿರಿ, ಪ್ಯಾಕೇಜ್ ಅಪ್ಗ್ರೇಡ್ ಅದನ್ನು ಮೌನವಾಗಿ ರದ್ದುಗೊಳಿಸದಂತೆ.
ಆಯ್ಕೆ C: ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಉಳಿಸಿ ಮತ್ತು ಸ್ಥಿತಿ ಬರವಣಿಗೆಗಳನ್ನು ಸರಿಪಡಿಸಿ
ರಹಸ್ಯವನ್ನು ಓದುವುದು ದೃಢೀಕರಣದ ಅರ್ಧ ಮಾತ್ರ. ಮಾಡ್ಯೂಲ್ ಸಮಯ ವಿಚಲನೆಯ ಮಾಹಿತಿ, ಮರುಪ್ಲೇ ರಕ್ಷಣೆ ಅಥವಾ ಕೌಂಟರ್ ಅನ್ನು ಮತ್ತೆ ಬರೆಯಬಹುದು, ಮತ್ತು ಓದು ಪರಿಶೀಲನೆ ಪಾಸಾದ ಕಡತವು ಬರವಣಿಗೆಯಲ್ಲಿ ಇನ್ನೂ ವಿಫಲವಾಗಬಹುದು.
ಆ ವೈಫಲ್ಯವು ಈ ಪ್ರಯತ್ನದಲ್ಲಿ ಅಲ್ಲ, ಮುಂದಿನ ಪ್ರಯತ್ನದಲ್ಲಿ ಕೆಟ್ಟ ಸಂಕೇತದಂತೆ ಕಾಣುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದನ್ನು ಗಡಿಯಾರದ ಡ್ರಿಫ್ಟ್ ಎಂದು ತಪ್ಪಾಗಿ ಭಾವಿಸಲಾಗುತ್ತದೆ.
ಇಡೀ ಮನೆಯನ್ನು ಬರೆಯಬಲ್ಲದಾಗಿಸುವ ಬದಲು ಅದಕ್ಕೆ ತನ್ನದೇ ಬರೆಯಬಲ್ಲ ಕಡತಕೋಶವನ್ನು ನೀಡಿ ಮತ್ತು ರಹಸ್ಯದ ಮಾರ್ಗವನ್ನು ಅಲ್ಲಿಗೆ ತಿರುಗಿಸಿ. ಕಡತಕೋಶದ ಮಾಲೀಕ, ಕಡತ ವ್ಯವಸ್ಥೆಯ ಖಾಲಿ ಜಾಗ ಮತ್ತು ಘಟಕವು ಬೇರೆಡೆ ಬರವಣಿಗೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿ. ನಂತರ ಸತತ ಎರಡು ಲಾಗಿನ್ಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ, ಏಕೆಂದರೆ ಎರಡನೆಯದು ಬರವಣಿಗೆ ಮಾರ್ಗವನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ ಮತ್ತು ಮೊದಲನೆಯದು ಓದುವುದನ್ನು ಮಾತ್ರ.
ನೀವೇ ಆಗಿ ಅಲ್ಲ, ಸೇವೆಯಾಗಿ ಪರಿಶೀಲಿಸಿ
ಪ್ರತಿ ಮುಖ್ಯ ಪರಿಶೀಲನೆಯೂ ಘಟಕದ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಒಳಗೆ ಘಟಕದ ಗುರುತಿನೊಂದಿಗೆ ಚಲಿಸಬೇಕು.
root ಆಗಿ ಯಶಸ್ವಿಯಾಗುವ ಆದೇಶವು ಕಡತ ಇದೆ ಎಂದು ಹೇಳುತ್ತದೆ, ಬೇರೇನೂ ಅಲ್ಲ. ನಿಜವಾದ ಸೇವೆಯ ಮೂಲಕ ಲಾಗಿನ್ ಮಾಡ್ಯೂಲ್ ರಹಸ್ಯವನ್ನು ಓದಿ, ಬಳಸಿ, ಬೇಕಾದದ್ದನ್ನು ಹಿಂತಿರುಗಿ ಬರೆಯಬಲ್ಲದೇ ಎಂದು ಹೇಳುತ್ತದೆ.
ಕೊನೆಯದಾಗಿ, ಅಗತ್ಯವನ್ನು ಅಕ್ಷತವಾಗಿ ಇರಿಸಿ. ಶೂನ್ಯ-ಗುಪ್ತಪದ ಆಯ್ಕೆ ಸೇರಿಸುವುದು, ಓದು-ಮಾತ್ರ ವೈಫಲ್ಯಗಳನ್ನು ಒಪ್ಪುವುದು ಅಥವಾ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ತೆಗೆಯುವುದು — ಎಲ್ಲವೂ ನೀತಿಯನ್ನು ಬದಲಿಸಿ ಲಕ್ಷಣವನ್ನು ಮಾಯವಾಗಿಸುತ್ತವೆ. ಸಂಕೇತವನ್ನು ಒಪ್ಪಿಸಬೇಕಾದ ಬಳಕೆದಾರನು ರಹಸ್ಯ ತಲುಪಲಾಗದಿದ್ದಾಗಲೂ ನಿರಾಕರಿಸಲ್ಪಡಬೇಕು.