𝗦𝗼𝗹𝘃𝗶𝗻𝗴 𝗦𝗦𝗛 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻 𝗘𝗿𝗿𝗼𝗿𝘀 𝗜𝗻𝘀𝗶𝗱𝗲 𝗬𝗼𝘂𝗿 𝗔𝗽𝗽
ಹೊಸ SSH ಬಳಕೆದಾರರು ಹೆಚ್ಚಾಗಿ ಅಡೆತಡೆಗಳನ್ನು ಎದುರಿಸುತ್ತಾರೆ. ಅವರು ಈ ದೋಷವನ್ನು ನೋಡುತ್ತಾರೆ:
WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 0644 for 'id_rsa.pem' are too open.
ಇದಕ್ಕೆ ಪರಿಹಾರವು ಒಂದು ಸರಳ ಟರ್ಮಿನಲ್ ಕಮಾಂಡ್: chmod 600 id_rsa.pem. ಎಂಜಿನಿಯರ್ಗಳಿಗೆ ಇದು ಸುಲಭ. ಆದರೆ ಟರ್ಮಿನಲ್ಗಳನ್ನು ಬಳಸದ ಏಜೆನ್ಸಿ ಸಿಬ್ಬಂದಿ ಅಥವಾ IT ಆಪರೇಟರ್ಗಳಿಗೆ ಇದು ದೊಡ್ಡ ಅಡೆತಡೆಯಾಗಿದೆ. ಇದು ನಿರಂತರ ಸಪೋರ್ಟ್ ಟಿಕೆಟ್ಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
ಇದನ್ನು ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಒಳಗೇ ಪರಿಹರಿಸಲು ನಾವು ನಿರ್ಧರಿಸಿದೆವು. ಅನುಮತಿಗಳನ್ನು (permissions) ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತು ಸರಿಪಡಿಸಲು ನಾವು ಒಂದು ವ್ಯವಸ್ಥೆಯನ್ನು ನಿರ್ಮಿಸಿದ್ದೇವೆ.
The Problem ಅನುಮತಿಗಳು ತುಂಬಾ ಸಡಿಲವಾಗಿದ್ದರೆ OpenSSH ಪ್ರೈವೇಟ್ ಕೀಯನ್ನು ಲೋಡ್ ಮಾಡಲು ನಿರಾಕರಿಸುತ್ತದೆ. ಇತರರು ನಿಮ್ಮ ಕೀಯನ್ನು ಓದಬಲ್ಲವರಾಗಿದ್ದರೆ, ನಿಮ್ಮ ಭದ್ರತೆ ಅಪಾಯಕ್ಕೆ ಸಿಲುಕುತ್ತದೆ. ಹೆಚ್ಚಿನ ಕೀಗಳು ಡಿಫಾಲ್ಟ್ ಆಗಿ 0644 ಅನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಇದು ಎಲ್ಲರಿಗೂ ಓದಲು ಸಾಧ್ಯವಾಗುವಂತಿದೆ. ಆದರೆ OpenSSH ಗೆ 0600 ಅಗತ್ಯವಿದೆ.
Our Solution ಇದನ್ನು ನಿರ್ವಹಿಸಲು ನಾವು ಎರಡು ಹಂತದ ವಿಧಾನವನ್ನು ಬಳಸುತ್ತೇವೆ.
Phase 1: Post-failure recovery ಅನುಮತಿಗಳ ಕಾರಣದಿಂದಾಗಿ ಕನೆಕ್ಷನ್ ವಿಫಲವಾದರೆ, UI ನಲ್ಲಿ 'Fix and retry' ಬಟನ್ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಅದನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವುದರಿಂದ ಸರಿಪಡಿಸುವ ಪ್ರಕ್ರಿಯೆ ನಡೆಯುತ್ತದೆ ಮತ್ತು ಕನೆಕ್ಷನ್ ಅನ್ನು ಮರುಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ.
Phase 2: Pre-connection prevention ಬಳಕೆದಾರರು ಕನೆಕ್ಟ್ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೊದಲು ಅಪ್ಲಿಕೇಶನ್ ಕೀ ಪಥವನ್ನು (key path) ಪರಿಶೀಲಿಸುತ್ತದೆ. ಅನುಮತಿಗಳು ತಪ್ಪಾಗಿದ್ದರೆ, ನಾವು ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸುತ್ತೇವೆ. ಬಳಕೆದಾರರು ಅದನ್ನು ಸರಿಪಡಿಸಲು ಅಥವಾ ಹಾಗೆಯೇ ಕನೆಕ್ಟ್ ಆಗಲು ಆಯ್ಕೆ ಮಾಡಬಹುದು.
ನಾವು ವಿಂಡೋಸ್ ಅನ್ನು ವಿಭಿನ್ನವಾಗಿ ನಿರ್ವಹಿಸುತ್ತೇವೆ. ವಿಂಡೋಸ್ ಯುನಿಕ್ಸ್ ಅನುಮತಿಗಳ ಬದಲಿಗೆ ACLಗಳನ್ನು ಬಳಸುತ್ತದೆ. ನಮ್ಮ ಕೋಡ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತದೆ ಮತ್ತು ಪ್ರವೇಶವನ್ನು ಸರಿಪಡಿಸಲು icacls ನಂತಹ ಸರಿಯಾದ ಕಮಾಂಡ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತದೆ.
Why we do not auto-fix silently ಸ್ಟಾರ್ಟ್ ಅಪ್ ಸಮಯದಲ್ಲಿ ಕೀಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸರಿಪಡಿಸುವುದನ್ನು ನಾವು ಪರಿಗಣಿಸಿದ್ದೆವು. ಆದರೆ ಈ ಆಲೋಚನೆಯನ್ನು ನಾವು ತಿರಸ್ಕರಿಸಿದೆವು. ಕೆಲವು ವರ್ಕ್ಫ್ಲೋಗಳಿಗೆ (workflows) ಹಂಚಿಕೆಯ ಕೀಗಳಿಗಾಗಿ (shared keys) ನಿರ್ದಿಷ್ಟ ಅನುಮತಿಗಳು ಬೇಕಾಗಬಹುದು. ನಾವು ಕೇಳದೆ ಅವುಗಳನ್ನು ಬದಲಾಯಿಸಿದರೆ, ಬಳಕೆದಾರರ ಕೆಲಸದ ಹರಿವು (workflow) ವ್ಯತ್ಯಯವಾಗುತ್ತದೆ.
ನಮ್ಮ ನಿಯಮ ಸರಳವಾಗಿದೆ: ನಾವು ಎಲ್ಲವನ್ನೂ ಪತ್ತೆಹಚ್ಚುತ್ತೇವೆ (diagnose), ಆದರೆ ಬಳಕೆದಾರರು ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಮಾತ್ರ ಫೈಲ್ಗಳನ್ನು ಮಾರ್ಪಡಿಸುತ್ತೇವೆ.
The Result ತಾಂತ್ರಿಕ ಅಡೆತಡೆಗಳನ್ನು ನಿವಾರಿಸುವಂತಹ UX ಅನ್ನು ನಿರ್ಮಿಸುವುದರಿಂದ ಸಪೋರ್ಟ್ ವಾಲ्यूम ಕಡಿಮೆಯಾಗುತ್ತದೆ. ಬಳಕೆದಾರರಿಗೆ ಏನು ತಪ್ಪಾಗಿದೆ ಎಂದು ತೋರಿಸಿ, ನಾವು ಒಂದೇ ಕ್ಲಿಕ್ನಲ್ಲಿ ಸರಿಪಡಿಸುವ ಅವಕಾಶವನ್ನು ನೀಡುತ್ತೇವೆ. ಇದು ಟರ್ಮಿನಲ್ ಬಳಸುವ ಮಾನಸಿಕ ಅಡೆತಡೆಯನ್ನು ನಿವಾರಿಸುತ್ತದೆ.