OpenVPN username-as-common-name: ನಿಮ್ಮ CN ಪರಿಶೀಲನೆ ಏಕೆ ಖಾಲಿಯಾಗಿದೆ
common_name ಮತ್ತು username ಅನ್ನು ಹೋಲಿಸುವ client-connect ಸ್ಕ್ರಿಪ್ಟ್ ಹೆಸರನ್ನು ಅದರೊಂದಿಗೆಯೇ ಹೋಲಿಸಬಹುದು. ಬದಲಿ ನಡೆಯುವ ಮೊದಲು ಪ್ರಮಾಣಪತ್ರವನ್ನು ಖಾತೆಗೆ ಬಂಧಿಸಿ.
ನೀವು client-connect ಸ್ಕ್ರಿಪ್ಟ್ ಸೇರಿಸುತ್ತೀರಿ, ಅದು common_name username ಗಿಂತ ಭಿನ್ನವಾಗಿರುವ ಯಾವುದೇ ಸಂಪರ್ಕವನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ, ಮತ್ತು ಅದು ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಖಾತೆಯ ನಡುವಿನ ಬಂಧದಂತೆ ಕಾಣುತ್ತದೆ. username-as-common-name ಚಾಲನೆಯಲ್ಲಿರುವ ಸರ್ವರ್ನಲ್ಲಿ, ಸ್ಕ್ರಿಪ್ಟ್ ಚಾಲನೆಯಾಗುವ ಹೊತ್ತಿಗೆ ಆ ಹೋಲಿಕೆ ತನ್ನ ಅರ್ಥವನ್ನು ಕಳೆದುಕೊಂಡಿರುತ್ತದೆ. ಎರಡೂ ಮೌಲ್ಯಗಳು ಒಂದೇ ಸ್ಟ್ರಿಂಗ್, ಆದ್ದರಿಂದ ಪರೀಕ್ಷೆ ಸಂಪೂರ್ಣವಾಗಿ ಬೇರೆ ಯಾರಿಗೋ ನೀಡಿದ ಪ್ರಮಾಣಪತ್ರಕ್ಕೂ ಉತ್ತೀರ್ಣವಾಗುತ್ತದೆ.
ಸ್ಕ್ರಿಪ್ಟ್ ಕೆಟ್ಟದಾಗಿ ಬರೆಯಲ್ಪಟ್ಟಿದೆ ಎಂಬ ಕಾರಣಕ್ಕೆ ಪರಿಶೀಲನೆ ತಪ್ಪಲ್ಲ. ಅದು ಓದುವ ಮೌಲ್ಯವು ಅದೇ ಸಂಪರ್ಕದಲ್ಲಿ ಹಿಂದೆ ಬದಲಾಯಿಸಲ್ಪಟ್ಟಿರುವುದರಿಂದ ಅದು ತಪ್ಪು.
ಹೋಲಿಕೆ ಏನನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ ಎಂದು ತೋರುತ್ತದೆ
ಪ್ರಮಾಣಪತ್ರ ದೃಢೀಕರಣ ಮತ್ತು ಗುಪ್ತಪದ ದೃಢೀಕರಣ ಪ್ರತ್ಯೇಕ ಸಾಕ್ಷ್ಯಗಳು, ಮತ್ತು ಸರ್ವರ್ ಅವು ಒಬ್ಬನೇ ವ್ಯಕ್ತಿಗೆ ಸೇರಬೇಕೆಂದು ಒತ್ತಾಯಿಸದೆಯೇ ಎರಡನ್ನೂ ಬೇಡಬಹುದು. ಅಂತರ ನಿಜವಾದದ್ದು: ಮಾನ್ಯ ಸಾಧನ ಪ್ರಮಾಣಪತ್ರ ಜೊತೆಗೆ ಯಾವುದೇ ಮಾನ್ಯ ಖಾತೆ ಎಂಬುದು ಅದೇ ಪ್ರಮಾಣಪತ್ರ ಜೊತೆಗೆ ಒಂದು ಹೆಸರಿಸಿದ ಖಾತೆಗಿಂತ ಬೇರೆ ಪ್ರತಿಪಾದನೆ. common_name ಅನ್ನು username ಜೊತೆ ಹೋಲಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಎರಡರ ನಡುವಿನ ಕಾಣೆಯಾದ ಕೊಂಡಿಯಂತೆ ಓದುತ್ತದೆ. common_name ಇನ್ನೂ ಪ್ರಮಾಣಪತ್ರ ಹೇಳಿದ್ದನ್ನು ಅರ್ಥೈಸಿದರೆ ಅದು ಹಾಗೆಯೇ ಇರುತ್ತಿತ್ತು.
ಹಾಗೆ ಇದೆಯೇ ಎಂಬುದು ಒಂದು ಸರ್ವರ್ ಆಯ್ಕೆಯನ್ನು ಅವಲಂಬಿಸಿದೆ, ಮತ್ತು ಆ ಆಯ್ಕೆಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸಂಬಂಧವಿಲ್ಲದ ಕಾರಣಕ್ಕೆ ಆನ್ ಮಾಡಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಪ್ರತಿ ಬಳಕೆದಾರರ ಸಂರಚನಾ ಫೈಲ್ಗಳಿಗೆ ಹೆಸರಿಡುವುದನ್ನು ಸುಲಭಗೊಳಿಸಲು.
username-as-common-name ಹೆಸರಿಗೆ ಏನು ಮಾಡುತ್ತದೆ
username-as-common-name ಸಕ್ರಿಯವಾಗಿದ್ದಾಗ, OpenVPN ಬಳಕೆದಾರರ ಹೆಸರು ಮತ್ತು ಗುಪ್ತಪದ ಪರಿಶೀಲನೆಯ ನಂತರ ಪ್ರಮಾಣಪತ್ರದ ಸಾಮಾನ್ಯ ಹೆಸರಿನ ಬದಲಾಗಿ ದೃಢೀಕೃತ ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ಇಡುತ್ತದೆ. ಆ ಪರಿಶೀಲನೆಯ ಸಮಯದಲ್ಲಿ ಚಾಲನೆಯಾಗುವ ಪರಿಶೀಲನಾ ಕೊಕ್ಕೆ ಇನ್ನೂ ಪ್ರಮಾಣಪತ್ರದ ಸಾಮಾನ್ಯ ಹೆಸರನ್ನೇ ಪಡೆಯುತ್ತದೆ, ಏಕೆಂದರೆ ಬದಲಿ ಇನ್ನೂ ನಡೆದಿಲ್ಲ. ಅದರ ನಂತರದ ಎಲ್ಲವೂ, client-connect ಸೇರಿದಂತೆ, ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ನೋಡುತ್ತದೆ. ಹೀಗಾಗಿ ನಂತರದ ಕರೆ ಒಂದೇ ಗುರುತನ್ನು ಎರಡು ಬಾರಿ ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಪ್ರಸ್ತುತಪಡಿಸಿದ ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ ಅದನ್ನು ಹೋಲಿಸಲಾಗದು.
| Stage | What common_name holds |
|---|---|
| Username and password verification hook | The certificate common name, for example bob-device |
| After the replacement | The authenticated account, alice |
| client-connect callback | The account again, alice |
ಒಂದು ಉದಾಹರಣೆ ಸಂಪರ್ಕವನ್ನು ಅನುಸರಿಸಿ: bob-device ಗೆ ನೀಡಿದ ಪ್ರಮಾಣಪತ್ರ, alice ಆಗಿ ಯಶಸ್ವಿ ಡೈರೆಕ್ಟರಿ ಲಾಗಿನ್, ಮತ್ತು ಆಯ್ಕೆ ಸಕ್ರಿಯ. ಪರಿಶೀಲನಾ ಹಂತವು ಇನ್ನೂ ಎರಡು ವಿಭಿನ್ನ ಸ್ಟ್ರಿಂಗ್ಗಳನ್ನು ನೋಡಬಹುದು. ಸಂಪರ್ಕ ಹಂತ alice ಮತ್ತು alice ಅನ್ನು ನೋಡುತ್ತದೆ.
ಆ ಉದಾಹರಣೆ ಹೋಲಿಕೆ ಏಕೆ ಖಾಲಿಯಾಗಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ. ಪ್ರಮಾಣಪತ್ರ ಮಾನ್ಯತೆ ಮತ್ತು ಗುಪ್ತಪದ ಪರಿಶೀಲನೆ ಇನ್ನೂ ತಾವೇ ನಡೆಯುವುದರಿಂದ, ಸಂಪರ್ಕ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಸ್ವೀಕೃತವಾಗುತ್ತಿತ್ತು ಎಂದು ಅದು ತೋರಿಸುವುದಿಲ್ಲ.
ಎರಡೂ ಗುರುತುಗಳು ಇನ್ನೂ ಇರುವಲ್ಲಿ ಬಂಧವನ್ನು ಇರಿಸಿ
ನಿಯಮವನ್ನು ಪ್ರಮಾಣಪತ್ರದ ಗುರುತು ಮತ್ತು ಖಾತೆಯನ್ನು ಒಟ್ಟಿಗೆ ನೋಡುವ ಹಂತದಲ್ಲಿ ಜಾರಿಗೊಳಿಸಬೇಕು, ಅಂದರೆ ಪ್ರಾಯೋಗಿಕವಾಗಿ ಬಳಕೆದಾರರ ಹೆಸರು ಮತ್ತು ಗುಪ್ತಪದ ಪರಿಶೀಲನಾ ಕೊಕ್ಕೆ ಅಥವಾ ಅಲ್ಲಿ ಲೋಡ್ ಆದ ಪ್ಲಗಿನ್. ಈಗಾಗಲೇ ಗುಪ್ತಪದ ಪರಿಶೀಲನೆ ಮಾಡುವ ಬೆಂಬಲಿತ ಪ್ಲಗಿನ್ ಸಾಮಾನ್ಯವಾಗಿ ಜೋಡಿ ನಿಯಮ ಸೇರಿಸಲು ಸರಿಯಾದ ಸ್ಥಳ, ಏಕೆಂದರೆ ಅದನ್ನು ಹೆಸರಿನ ಹೋಲಿಕೆಯಿಂದ ಬದಲಿಸಿದರೆ ಗುಪ್ತಪದ ಪರಿಶೀಲನೆ ಸಂಪೂರ್ಣವಾಗಿ ಹೋಗುತ್ತದೆ.
ಕೋಡ್ ಬರೆಯುವ ಮೊದಲು ಮ್ಯಾಪಿಂಗ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ, ಏಕೆಂದರೆ ಸಮಾನತೆ ಸಾಮಾನ್ಯವಾಗಿ ನಿಜವಾದ ನೀತಿಯಾಗಿರುವುದಿಲ್ಲ. ಪ್ರಮಾಣಪತ್ರ ಸಾಮಾನ್ಯವಾಗಿ ಸಾಧನವನ್ನು ಗುರುತಿಸುತ್ತದೆ, ಆದರೆ ಲಾಗಿನ್ ವ್ಯಕ್ತಿಯನ್ನು ಗುರುತಿಸುತ್ತದೆ, ಮತ್ತು ಒಂದು ಸಾಧನವು ಹಲವಾರು ಜನರಿಗೆ ಕಾನೂನುಬದ್ಧವಾಗಿ ಸೇವೆ ಸಲ್ಲಿಸಬಹುದು. ಸಂಬಂಧವನ್ನು ನೀವು ನಿಯಂತ್ರಿಸುವ ನೀಡುವಿಕೆಯ ರೂಪದಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ, ಮತ್ತು ಮರುನಾಮಕರಣ, ಮರುನೀಡಿಕೆ ಮತ್ತು ಡೊಮೇನ್ ಅರ್ಹ ಹೆಸರುಗಳ ಸಮಯದಲ್ಲಿ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ. ಡೈರೆಕ್ಟರಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳದೆ ಸಣ್ಣ ಅಕ್ಷರಗಳಿಗೆ ಪರಿವರ್ತಿಸುವುದು ಅಥವಾ ಡೊಮೇನ್ ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ತೆಗೆಯುವುದು ಪ್ರತ್ಯೇಕವಾಗಿರಬೇಕಿದ್ದ ಎರಡು ಖಾತೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಬಹುದು.
ಆಯ್ಕೆ ಯಾವ ಕ್ಲೈಂಟ್ ಮಟ್ಟದ ಸಂರಚನೆ ಅನ್ವಯವಾಗುತ್ತದೆ ಎಂಬುದನ್ನೂ ಬದಲಿಸುತ್ತದೆ ಎಂದು ನೆನಪಿಡಿ, ಏಕೆಂದರೆ client-config-dir ಸಾಮಾನ್ಯ ಹೆಸರಿನಿಂದ ನಿರ್ಧರಿಸಲ್ಪಡುತ್ತದೆ.
ಎರಡು ಮಾನ್ಯ ರುಜುವಾತುಗಳೊಂದಿಗೆ ಜೋಡಿ ನಿಯಮವನ್ನು ಪರೀಕ್ಷಿಸಿ
ನಿಮ್ಮ ನೀತಿ ಅನುಮತಿಸುವ ಜೋಡಿಯಿಂದ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಅದು ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತದೆ ಎಂದು ದೃಢೀಕರಿಸಿ. ನಂತರ ಅದೇ ಮಾನ್ಯ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬೇರೆ ಆದರೆ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಮಾನ್ಯವಾದ ಖಾತೆಯೊಂದಿಗೆ ಪ್ರಸ್ತುತಪಡಿಸಿ: ಆ ಪ್ರಯತ್ನ ವಿಫಲವಾಗಬೇಕು, ಮತ್ತು ಅದು ತಪ್ಪಾಗಿ ಟೈಪ್ ಮಾಡಿದ ಗುಪ್ತಪದದಿಂದಲ್ಲ, ಜೋಡಿ ನಿಯಮದಿಂದ ವಿಫಲವಾಗಬೇಕು. ತಪ್ಪು ಗುಪ್ತಪದ ಗುಪ್ತಪದ ಪರಿಶೀಲನೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಖಾತೆಯ ನಡುವಿನ ನಿಯಮದ ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ.
ಕಾಣೆಯಾದ ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಅಮಾನ್ಯ ಪ್ರಮಾಣಪತ್ರದ ಮಾರ್ಗಗಳನ್ನೂ ಪರಿಶೀಲಿಸಿ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಮಟ್ಟದ ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಸರ್ವರ್ ಯಾವ ಗುರುತನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ದೃಢೀಕರಿಸಿ. ಹೋಲಿಕೆ ಕೆಲಸ ಮಾಡಲು ಏಕೈಕ ದಾರಿ username-as-common-name ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದಾದರೆ, ಮೊದಲು ಆ ಬದಲಾವಣೆಯ ವೆಚ್ಚವನ್ನು ಅಂದಾಜಿಸಿ, ಏಕೆಂದರೆ ಅದು ಪ್ರತಿ ಕ್ಲೈಂಟ್ನ ಸಂರಚನಾ ಹುಡುಕಾಟವನ್ನು ಪ್ರಮಾಣಪತ್ರದ ಹೆಸರಿಗೆ ಮರಳಿಸುತ್ತದೆ.