Android IKEv2 ಟ್ರಸ್ಟ್ ದೋಷ: ಮಧ್ಯಂತರ CA ಕಳುಹಿಸಿ, ರೂಟ್ ಅಲ್ಲ
ಸರಪಳಿ ಬೇಗನೆ ನಿಂತಿರುವುದರಿಂದ ಫೋನ್ ಗೇಟ್ವೇಯನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ. ಮಧ್ಯಂತರವನ್ನು ಕಳುಹಿಸಿ, ಗುರುತನ್ನು ಸರಿಪಡಿಸಿ, ಅಥವಾ ಕೀ ಪ್ರಕಾರವನ್ನು ಬದಲಿಸಿ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ.
ಫೋನ್ ಸಂಪರ್ಕಿಸಲು ನಿರಾಕರಿಸುತ್ತದೆ ಮತ್ತು No trusted RSA public key found for vpn.example.net ಅನ್ನು ಮುದ್ರಿಸುತ್ತದೆ, ಆದರೆ ಅದೇ ಗೇಟ್ವೇ ಪ್ರಮಾಣಪತ್ರವು ಅದೇ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿನ ಲ್ಯಾಪ್ಟಾಪ್ನಿಂದ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಪ್ರಮಾಣಪತ್ರವನ್ನು ಮತ್ತೆ ನೀಡುವುದು ಆಮಿಷವಾದ ಕ್ರಮ. ಅದನ್ನು ಮಾಡುವ ಮೊದಲು, ನಿಮಗೆ ಮೂರರಲ್ಲಿ ಯಾವ ವೈಫಲ್ಯ ಇದೆ ಎಂದು ಕಂಡುಹಿಡಿಯಿರಿ, ಏಕೆಂದರೆ ಅವುಗಳಲ್ಲಿ ಒಂದು ಮಾತ್ರ ಪ್ರಮಾಣಪತ್ರದ ವಿಷಯದ ಬಗ್ಗೆ. ಸಂದೇಶವು ಅಪೂರ್ಣ ಸರಪಳಿ, ಗುರುತಿನ ಹೊಂದಾಣಿಕೆಯ ಕೊರತೆ ಮತ್ತು ಬೆಂಬಲಿಸದ ಕೀ ಅಥವಾ ಸಹಿಯನ್ನು ಒಳಗೊಂಡಿದೆ, ಮತ್ತು ಪ್ರತಿಯೊಂದಕ್ಕೂ ವಿಭಿನ್ನ ಪರಿಹಾರವಿದೆ.
ಒಂದೇ ಸಂದೇಶದ ಹಿಂದೆ ಮೂರು ವೈಫಲ್ಯಗಳು
Android ಗೇಟ್ವೇ ಪ್ರಮಾಣಪತ್ರದಿಂದ VPN ಪ್ರೊಫೈಲ್ನಲ್ಲಿ ಆಯ್ಕೆಮಾಡಿದ CA ವರೆಗೆ ಸರಪಳಿಯನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ, ನಂತರ ಸರ್ವರ್ ಹೆಸರನ್ನು ಪ್ರೊಫೈಲ್ನೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ. ಅಧಿಸೂಚನೆ ಹಂತವಲ್ಲ, ಫಲಿತಾಂಶವನ್ನು ತಿಳಿಸುತ್ತದೆ. ಟ್ರಸ್ಟ್ ವೈಫಲ್ಯ ಎಂದರೆ ವಿನಿಮಯದಲ್ಲಿ ರವಾನಿಸಿದ ಪ್ರಮಾಣಪತ್ರಗಳಿಂದ ಸರಪಳಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ; ಗುರುತಿನ ವೈಫಲ್ಯ ಎಂದರೆ ಸರಪಳಿ ಮಾನ್ಯವಾಯಿತು ಆದರೆ ಹೆಸರು ಹೊಂದಲಿಲ್ಲ; ಅಲ್ಗಾರಿದಮ್ ವೈಫಲ್ಯ ಎಂದರೆ ಸಾಧನ ಅಥವಾ ಪ್ರೊಫೈಲ್ ಕೀ ಪ್ರಕಾರ ಅಥವಾ ಸಹಿಯನ್ನು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ.
| What you see | What it points to | First move |
|---|---|---|
| Chain stops after the leaf in the daemon log | intermediate not loaded or not sent | load the intermediate as CA material |
| Chain validates, name differs from the profile | identity mismatch | fix the profile name or the certificate SAN |
| Chain validates, handshake still fails | key or signature not accepted | compare key type against the device |
ಕ್ರಮವಾಗಿ ಪರಿಹಾರಗಳನ್ನು ಪ್ರಯತ್ನಿಸುವ ಬದಲು ಸಾಕ್ಷ್ಯದೊಂದಿಗೆ ನಿರ್ಧರಿಸಿ. ಡೀಮನ್ ವಿರುದ್ಧ ಲಾಗ್ ಹಂತ 2 ರಲ್ಲಿ ಒಂದು ಪ್ರಯತ್ನವು ನೀವು ಯಾವ ಸಾಲಿನಲ್ಲಿದ್ದೀರಿ ಎಂದು ತಿಳಿಸುತ್ತದೆ, ಮತ್ತು ಎಂದಿಗೂ ತಪ್ಪಾಗದ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಮತ್ತೆ ನೀಡುವುದಕ್ಕಿಂತ ಕಡಿಮೆ ವೆಚ್ಚವಾಗುತ್ತದೆ.
ಮೊದಲು ನಿರ್ಧರಿಸಿ: ಇಡೀ ಸರಪಳಿ ಬಂದಿತೇ?
strongSwan ಆ ಸಂಪರ್ಕಕ್ಕೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಕಳುಹಿಸುತ್ತದೆ, ಮತ್ತು ಮಧ್ಯಂತರಗಳು ಪ್ರತ್ಯೇಕ ರುಜುವಾತುಗಳು. ಡೀಮನ್ ಅವುಗಳನ್ನು ಪೇಲೋಡ್ನಲ್ಲಿ ಇರಿಸುವ ಮೊದಲು ಅವುಗಳನ್ನು CA ಪ್ರಮಾಣಪತ್ರಗಳಾಗಿ ಲೋಡ್ ಮಾಡಬೇಕು, ಆದ್ದರಿಂದ ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಮಧ್ಯಂತರದಿಂದ ಸಹಿ ಮಾಡಲಾಗಿದೆ, ರೂಟ್ ಟ್ರಸ್ಟ್ ಆಂಕರ್ ಆಗಿದೆ, ಮತ್ತು ಮಧ್ಯಂತರವು CA ನ ಬಿಲ್ಡ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಮಾತ್ರ ಇರುತ್ತದೆ ಎಂಬ ವಿನ್ಯಾಸವು ನಿಖರವಾಗಿ ಈ ವೈಫಲ್ಯವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ: ತಂತಿಯಲ್ಲಿ ಲೀಫ್ ಮಾತ್ರ, ಫೋನ್ನಲ್ಲಿ ಸರಪಳಿ ಬೇಗನೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ.
swanctl ನಿಯೋಜನೆಯಲ್ಲಿ swanctl --list-certs ನೊಂದಿಗೆ ಅಥವಾ ಹಳೆಯ ಸ್ಟಾರ್ಟರ್ನೊಂದಿಗೆ ipsec listcerts ನೊಂದಿಗೆ ಡೀಮನ್ ಏನನ್ನು ಹೊಂದಿದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಮಧ್ಯಂತರವು ಅದರ ಮೇಲೆ ರೂಟ್ನೊಂದಿಗೆ CA ಪ್ರಮಾಣಪತ್ರವಾಗಿ ಕಾಣಿಸಿಕೊಳ್ಳಬೇಕು. ಅದು ಕಾಣೆಯಾಗಿದ್ದರೆ, ಯಾವುದೇ ಕ್ಲೈಂಟ್ ಆಯ್ಕೆಯು ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ; ಅದು ಇದ್ದರೆ, ಮುಂದಿನ ಪ್ರಶ್ನೆಗೆ ಹೋಗಿ.
ನಂತರ ಅದನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. swanctl.conf ಉಲ್ಲೇಖ send_cert ಅನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ಅದರ ಡೀಫಾಲ್ಟ್ ifasked ಪೀರ್ ಕೇಳಿದಾಗ ಮಾತ್ರ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ; always ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ ಕಳುಹಿಸುತ್ತದೆ. ಹಳೆಯ ಸಮಾನಾಂತರ ipsec.conf ನಲ್ಲಿ leftsendcert=always ಆಗಿದೆ. ಆ ಸೆಟ್ಟಿಂಗ್ ಕಳುಹಿಸುವಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ, ಲಭ್ಯತೆಯನ್ನಲ್ಲ, ಆದ್ದರಿಂದ ಡೀಮನ್ ಎಂದಿಗೂ ಲೋಡ್ ಮಾಡದ ಮಧ್ಯಂತರಕ್ಕೆ ಅದು ಪರಿಹಾರ ನೀಡಲಾಗದು.
ಸರಪಳಿ ಚಿಕ್ಕದಾಗಿದ್ದರೆ, ಡೀಮನ್ ಹುಡುಕುವ ಸ್ಥಳದಲ್ಲಿ ಮಧ್ಯಂತರವನ್ನು ಲೋಡ್ ಮಾಡಿ
ಮಧ್ಯಂತರವನ್ನು ಲೀಫ್ನ ಪಕ್ಕದಲ್ಲಲ್ಲ, CA ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಇರಿಸಿ: ipsec.conf ಸೆಟಪ್ಗೆ /etc/ipsec.d/cacerts, swanctl ಗೆ /etc/swanctl/x509ca, ಅಥವಾ ನಿಮ್ಮ ಪ್ಯಾಕೇಜ್ ಬದಲಿಸುವ ಮಾರ್ಗ. ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಮತ್ತೆ ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಮತ್ತೆ ಪಟ್ಟಿ ಮಾಡಿ. ಕೆಲವು ಆವೃತ್ತಿಗಳು ಲೀಫ್ ಫೈಲ್ ಒಳಗೆ ಸರಪಳಿಯನ್ನು ಹೊಂದಿರುವ ಬಂಡಲ್ ಅನ್ನು ಸಹ ಕಳುಹಿಸುತ್ತವೆ, ಆದರೆ CA ಡೈರೆಕ್ಟರಿ ಆವೃತ್ತಿಗಳು ಮತ್ತು ಪ್ಯಾಕೇಜ್ಗಳಾದ್ಯಂತ ಸಾಗಿಸಬಹುದಾದ ವ್ಯವಸ್ಥೆಯಾಗಿದೆ.
ಕ್ಲೈಂಟ್ ಕಡೆಯಿಂದಲೂ ಪರಿಶೀಲಿಸಿ. ಫೋನ್ ವಿನಿಮಯವು ಒಯ್ದದ್ದನ್ನು ಮಾತ್ರ ನೋಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಲಾಗ್ ಹಂತ 2 ರಲ್ಲಿನ ಡೀಮನ್ ಲಾಗ್ ರವಾನಿಸಿದ ಪ್ರಮಾಣಪತ್ರಗಳಲ್ಲಿ ಮಧ್ಯಂತರವನ್ನು ತೋರಿಸಬೇಕು. ಲಾಗ್ ಅದನ್ನು ತೋರಿಸಿದರೂ ಫೋನ್ ವಿಫಲವಾದರೆ, ನೀವು ಕೋಷ್ಟಕದ ಬೇರೆ ಸಾಲಿನಲ್ಲಿದ್ದೀರಿ, ಮತ್ತು CA ಫೈಲ್ಗಳನ್ನು ಸರಿಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಿದರೆ ಫಲಿತಾಂಶ ಬದಲಾಗುವುದಿಲ್ಲ.
ಸರಪಳಿ ಪೂರ್ಣವಾಗಿದ್ದರೆ, ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಸಂಪಾದಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ
ಗುರುತಿನ ವೈಫಲ್ಯ ಎಂದರೆ VPN ಪ್ರೊಫೈಲ್ನಲ್ಲಿನ ಹೆಸರು ಮತ್ತು ಪ್ರಮಾಣಪತ್ರದಲ್ಲಿನ ಹೆಸರಿನ ನಡುವಿನ ಹೊಂದಾಣಿಕೆಯ ಕೊರತೆ. Android ನೀವು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ಸರ್ವರ್ ಗುರುತನ್ನು ಅದು ಮಾನ್ಯಗೊಳಿಸಿದ ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಪ್ರಮಾಣಪತ್ರವು ಹೋಸ್ಟ್ಹೆಸರನ್ನು ಹೆಸರಿಸುವಾಗ ವಿಳಾಸವನ್ನು ಸೂಚಿಸುವ ಪ್ರೊಫೈಲ್, ಅಥವಾ ಪ್ರಮಾಣಪತ್ರವು ಒಳಗೊಳ್ಳದ ಹೋಸ್ಟ್ಹೆಸರನ್ನು ಹೆಸರಿಸುವ ಪ್ರೊಫೈಲ್, ಯಶಸ್ವಿ ಸರಪಳಿ ಮಾನ್ಯತೆಯ ನಂತರ ವಿಫಲವಾಗುತ್ತದೆ. ತಪ್ಪಾದ ಬದಿಯನ್ನು ಸರಿಪಡಿಸಿ, ಮತ್ತು ಎರಡೂ ಬದಲಾದಾಗ ಪ್ರೊಫೈಲ್ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರವನ್ನು ಹೊಂದಿಸಿಕೊಳ್ಳಿ.
ಅಲ್ಗಾರಿದಮ್ ವೈಫಲ್ಯವು ಮಾನ್ಯ ಸರಪಳಿ ಮತ್ತು ಹೊಂದುವ ಹೆಸರಿನೊಂದಿಗೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. Android ಆವೃತ್ತಿಗಳು ಯಾವ ಕೀ ಪ್ರಕಾರಗಳು ಮತ್ತು ಸಹಿ ಯೋಜನೆಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ ಎಂಬುದರಲ್ಲಿ ಭಿನ್ನವಾಗಿವೆ, ಮತ್ತು ಪ್ರೊಫೈಲ್ ಪ್ರಕಾರವೇ ಆಯ್ಕೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ. ಗೇಟ್ವೇ ಹಳೆಯ ಅಥವಾ ಅಸಾಮಾನ್ಯ ಸಂಯೋಜನೆಯನ್ನು ಬಳಸಿದರೆ, ಪ್ರಮಾಣಪತ್ರವು ಹಾನಿಗೊಳಗಾಗಿದೆ ಎಂದು ಊಹಿಸುವ ಮೊದಲು ಸಾಧನವು ಬೆಂಬಲಿಸುವದನ್ನು ಹೋಲಿಸಿ. ಡೀಮನ್ ಲಾಗ್ ಟ್ರಸ್ಟ್ ಪ್ರಕರಣಕ್ಕಿಂತ ಹೆಚ್ಚು ಮುಂದೆ ಹ್ಯಾಂಡ್ಶೇಕ್ ಸಾಗುತ್ತಿರುವುದನ್ನು ತೋರಿಸುತ್ತದೆ, ಇದು ಸರಪಳಿ ಇನ್ನು ಸಮಸ್ಯೆಯಲ್ಲ ಎಂಬ ಸಂಕೇತ.
ಮಧ್ಯಂತರವನ್ನು ಫೋನ್ನಲ್ಲಿ ಬಳಕೆದಾರ ರೂಟ್ ಆಗಿ ಸ್ಥಾಪಿಸಬೇಡಿ
ಕಾಣೆಯಾದ ಮಧ್ಯಂತರವನ್ನು ಫೋನ್ನಲ್ಲಿ ಬಳಕೆದಾರ ಪ್ರಮಾಣಪತ್ರವಾಗಿ ಸ್ಥಾಪಿಸಿದರೆ ಎಚ್ಚರಿಕೆ ಮಾಯವಾಗುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರ-ಸ್ಥಾಪಿತ ರೂಟ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಪ್ರತಿಯೊಂದು ಅಪ್ಲಿಕೇಶನ್ಗೂ ಫೋನ್ನ ಟ್ರಸ್ಟ್ ಮಾದರಿಯನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಇದು ಮುಂದಿನ ಕ್ಲೈಂಟ್ಗೆ ಬಡಿಯುವ ವಿತರಣಾ ದೋಷವನ್ನು ಸಹ ಮರೆಮಾಡುತ್ತದೆ, ಮತ್ತು ಗೇಟ್ವೇ ಪ್ರತಿ ಭವಿಷ್ಯದ ಸಾಧನಕ್ಕೂ ಅಪೂರ್ಣ ಸರಪಳಿಯನ್ನು ಕಳುಹಿಸುವಂತೆ ಮಾಡುತ್ತದೆ. ಶಾಶ್ವತ ಪರಿಹಾರ ಸರ್ವರ್ನಲ್ಲಿದೆ, ಒಮ್ಮೆ, ಎಲ್ಲಾ ಕ್ಲೈಂಟ್ಗಳಿಗೆ.
ಬದಲಾವಣೆ ದಾಖಲೆಯಲ್ಲಿ ಮೂರು ನಿರ್ಧಾರಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ: ಯಾವ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ರವಾನಿಸಲಾಯಿತು, ಯಾವ ಗುರುತನ್ನು ಹೋಲಿಸಲಾಯಿತು, ಮತ್ತು ಯಾವ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಸಮಾಲೋಚಿಸಲಾಯಿತು. ಯಾವಾಗಲೂ ತನ್ನ ಪೂರ್ಣ ಸರಪಳಿಯನ್ನು ಕಳುಹಿಸುವ ಗೇಟ್ವೇ, ಪ್ರಮಾಣಪತ್ರವನ್ನು ಸರಿಯಾಗಿ ಹೆಸರಿಸುವ ಪ್ರೊಫೈಲ್, ಮತ್ತು ಫ್ಲೀಟ್ ಬೆಂಬಲಿಸುವ ಕೀ ಪ್ರಕಾರ — ಇವು ಮೂರು ಸಣ್ಣ ಸತ್ಯಗಳು, ಮತ್ತು ಇಡೀ ವೈಫಲ್ಯ ಇಷ್ಟೇ.