AES-256-GCM ಸಿಗಲಿಲ್ಲ: ಕ್ಲೈಂಟ್ ಸಾಮರ್ಥ್ಯವೋ ಮಾತುಕತೆಯೋ?
OpenVPN ನ ಎರಡು ದೋಷಗಳು ಒಂದೇ ತರಹ ಕಾಣುತ್ತವೆ: ಅಲ್ಗಾರಿದಮ್ ಇಲ್ಲದ ಬಿಲ್ಡ್ ಮತ್ತು ಹಂಚಿದ ಸೈಫರ್ ಇಲ್ಲದ ಸಹಭಾಗಿಗಳು. ಪ್ರೊಫೈಲ್ ಬದಲಿಸುವ ಮೊದಲು --show-ciphers ಮತ್ತು data-ciphers ಓದಿ.
ಬೇರೆಡೆ ಕೆಲಸ ಮಾಡುವ OpenVPN ಪ್ರೊಫೈಲ್ AES-256-GCM ಸಿಗಲಿಲ್ಲ ಅಥವಾ ಸಹಭಾಗಿಗಳಲ್ಲಿ ಹಂಚಿದ ಸೈಫರ್ ಇಲ್ಲ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಮೊದಲ ಪ್ರವೃತ್ತಿ ಪ್ರೊಫೈಲ್ ಸಂಪಾದಿಸುವುದು. ಈ ಎರಡು ಸಂದೇಶಗಳು ಬೇರೆ ಬೇರೆ ವೈಫಲ್ಯಗಳನ್ನು ವಿವರಿಸುತ್ತವೆ. ಒಂದು ಸ್ಥಳೀಯ ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ಅಂತಹ ಅಲ್ಗಾರಿದಮ್ ಇಲ್ಲ ಎಂದು ಹೇಳುತ್ತದೆ; ಇನ್ನೊಂದು ಎರಡೂ ಕಡೆ ಅಲ್ಗಾರಿದಮ್ಗಳಿವೆ ಆದರೆ ಹಂಚಿದ ಆಯ್ಕೆ ಇಲ್ಲ ಎಂದು ಹೇಳುತ್ತದೆ. ಯಾವುದು ನಿಮ್ಮಲ್ಲಿದೆ ಎಂದು ತಿಳಿಯುವವರೆಗೆ ಪ್ರೊಫೈಲ್ ಸಂಪಾದನೆ ಎರಡನ್ನೂ ಸರಿಪಡಿಸುವುದಿಲ್ಲ.
ನಿಖರವಾದ ದೋಷ ಪಠ್ಯ ಮತ್ತು ಅದನ್ನು ಉತ್ಪಾದಿಸಿದ ಪ್ರೋಗ್ರಾಂ ಓದಿ.
ನಿಮ್ಮಲ್ಲಿ ಯಾವ ದೋಷವಿದೆ ಎಂದು ನಿರ್ಧರಿಸಿ
ಸಿಗದ ಸೈಫರ್ ಬಗ್ಗೆ ಸಂದೇಶ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿ ಯಾವುದೇ ಪ್ಯಾಕೆಟ್ ಕಳುಹಿಸುವ ಮೊದಲು ಆಯ್ಕೆ ವಿಶ್ಲೇಷಣೆಯಿಂದ ಬರುತ್ತದೆ. ಅಂದರೆ ನಿಮ್ಮ ಮುಂದಿರುವ ಕಾರ್ಯನಿರ್ವಾಹಕ ಕಡತ ಅಥವಾ ಅದು ಲಿಂಕ್ ಆಗಿರುವ ಗ್ರಂಥಾಲಯ ಆ ಅಲ್ಗಾರಿದಮ್ ನೀಡುವುದಿಲ್ಲ. ಹಂಚಿದ ಸೈಫರ್ ಇಲ್ಲದಿರುವ ಸಂದೇಶ ನಂತರ, ಮಾತುಕತೆಯ ಸಮಯದಲ್ಲಿ ಬರುತ್ತದೆ, ಮತ್ತು ಎರಡೂ ಕಡೆ ಸೈಫರ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ ಆದರೆ ಒಂದರ ಮೇಲೆ ಒಪ್ಪಿಕೊಳ್ಳಲಾರವು ಎಂದು ಅರ್ಥ.
ವ್ಯತ್ಯಾಸ ಮುಖ್ಯ ಏಕೆಂದರೆ ಒಂದು ತಂತ್ರಾಂಶ ಆವೃತ್ತಿಯ ಸಮಸ್ಯೆ ಮತ್ತೊಂದು ಸಂರಚನೆಯ ಸಮಸ್ಯೆ. ಮೊದಲನೆಯದನ್ನು ಆವೃತ್ತಿ ಸಂಖ್ಯೆ ನಿರ್ಧರಿಸುತ್ತದೆ. ಎರಡನೆಯದನ್ನು ಎರಡು ಪಟ್ಟಿಗಳ ಹೋಲಿಕೆ ನಿರ್ಧರಿಸುತ್ತದೆ.
ಸ್ಥಳೀಯ ಸಾಮರ್ಥ್ಯದ ಕೊರತೆ
ಹಳೆಯ ಸಮುದಾಯ ಬಿಲ್ಡ್ಗಳು ಆಧುನಿಕ ಡೀಫಾಲ್ಟ್ಗಳಿಗಿಂತ ಹಿಂದಿನವು, ಮತ್ತು ಡೆಸ್ಕ್ಟಾಪ್ ಅಪ್ಲಿಕೇಶನ್ ಪಕ್ಕದಲ್ಲಿ ಸ್ಥಾಪಿಸಿದ ಆಜ್ಞಾ ಸಾಲಿನ ಪ್ಯಾಕೇಜಿಗಿಂತ ಭಿನ್ನವಾದ ತನ್ನದೇ ಎಂಜಿನ್ ತರಬಹುದು. ಸಂಪರ್ಕವನ್ನು ನಿಜವಾಗಿ ಪ್ರಾರಂಭಿಸಿದ ಕಾರ್ಯನಿರ್ವಾಹಕ ಕಡತದ ಮೇಲೆ ಪರಿಶೀಲನೆ ಮಾಡಿ, ನಂತರ ಹಳೆಯ ಪ್ರೋಗ್ರಾಂಗೆ ಹೊಸ ಅಲ್ಗಾರಿದಮ್ ಕಲಿಸುವ ಬದಲು ಬೆಂಬಲಿತ ಬಿಲ್ಡ್ ಆಯ್ಕೆ ಮಾಡಿ.
openvpn --version openvpn --show-ciphers | grep -i gcm openvpn --show-tls | head -5
ಆ ಪಟ್ಟಿಯಲ್ಲಿ AES-256-GCM ಇಲ್ಲದಿದ್ದರೆ ಯಾವುದೇ ಪ್ರೊಫೈಲ್ ಸಾಲು ಅದನ್ನು ಸೇರಿಸುವುದಿಲ್ಲ. ಪರಿಹಾರ ಹೊಸ ಕ್ಲೈಂಟ್ ಅಥವಾ ಬೇರೆ ಬಿಲ್ಡ್, ಮತ್ತು ಹಳೆಯ ಸಹಭಾಗಿಯ ಮಿತಿಗಳು ಪ್ರತ್ಯೇಕ ವಿನ್ಯಾಸ ಪ್ರಶ್ನೆಯಾಗುತ್ತವೆ.
OpenVPN 3 ಆಧಾರಿತ ಕ್ಲೈಂಟ್ಗಳಲ್ಲಿ ಎಂಜಿನ್ ಮತ್ತು ಸ್ವೀಕೃತ ಸೂಚನೆಗಳು ಸಮುದಾಯದ 2.x ಸಾಲಿನಿಂದ ಭಿನ್ನ, ಆದ್ದರಿಂದ ಅದೇ ಪ್ರೊಫೈಲ್ ಪಠ್ಯ ಸೈಫರ್ ಪಟ್ಟಿಗೆ ಯಾವುದೇ ಸಂಬಂಧವಿಲ್ಲದ ಕಾರಣಗಳಿಂದ ವಿಫಲವಾಗಬಹುದು.
ಮಾತುಕತೆಯ ಕೊರತೆ
ಎರಡೂ ಸಹಭಾಗಿಗಳು ಅಲ್ಗಾರಿದಮ್ ಪಟ್ಟಿ ಮಾಡಿದಾಗ, ಉಳಿದ ಪ್ರಶ್ನೆ ಯಾವ ಪಕ್ಷ ಯಾವ ಪಟ್ಟಿ ನೀಡುತ್ತದೆ ಎಂಬುದು. ಸಮುದಾಯದ OpenVPN ಮಾತುಕತೆ ಸೂಚನೆಯ ಹೆಸರು ಬದಲಿಸಿತು: 2.4 ರಲ್ಲಿ ncp-ciphers 2.5 ರಲ್ಲಿ data-ciphers ಆಯಿತು, ಮತ್ತು 2.6 ರಲ್ಲಿ ಹಳೆಯ cipher ಸಾಲು ಮುಖ್ಯವಾಗಿ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಹಿಂಜರಿಕೆಗೆ ಸೇವೆ ಸಲ್ಲಿಸುತ್ತದೆ, ಮಾತುಕತೆಯ ಗುಂಪನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಅಲ್ಲ.
ಆದ್ದರಿಂದ ಹಳೆಯ cipher ಸಾಲನ್ನು ಮಾತ್ರ ಬದಲಿಸಿದರೆ ಮಾತುಕತೆ ಪಟ್ಟಿ ಮುಟ್ಟದೆ ಉಳಿಯಬಹುದು. ಹಳೆಯ ಸಾಲು ಹಿಂಜರಿಕೆಗೆ ಇನ್ನೂ ಮುಖ್ಯ, ಮತ್ತು ಅದು ಪ್ರತ್ಯೇಕ ಕೆಲಸ. ಎರಡನ್ನೂ ಬೆರೆಸಿದರೆ ಕಾಣುವ ಯಾವುದನ್ನೂ ಬದಲಿಸದ ಸಂಪಾದನೆಗಳಾಗುತ್ತವೆ.
openvpn --version | head -2 grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn
ಎರಡೂ ತುದಿಗಳ ಪಟ್ಟಿಗಳನ್ನು ಮತ್ತು ಸರ್ವರ್ನ ನಿರಾಕರಣೆ ಸಂದೇಶವನ್ನು ಹೋಲಿಸಿ. ಛೇದನ ಖಾಲಿಯಿದ್ದರೆ, ಬೇರೆ ಆವೃತ್ತಿಗೆ ಬರೆದ ಲೇಖನದಿಂದ ಮೌಲ್ಯ ನಕಲಿಸುವ ಬದಲು ಪಟ್ಟಿಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಜೋಡಿಸಿ. ತುಂಬಾ ವಿಶಾಲ ಪಟ್ಟಿ ಪ್ರತಿ ಸಂಪರ್ಕವನ್ನೂ ಮೆಲ್ಲಗೆ ದುರ್ಬಲಗೊಳಿಸುತ್ತದೆ. ತುಂಬಾ ಸಂಕುಚಿತ ಪಟ್ಟಿ ನೀವು ಉಳಿಸಿಕೊಳ್ಳಲು ಬಯಸಿದ ಸಹಭಾಗಿಯನ್ನು ಹೊರಗಿಡುತ್ತದೆ.
ಹೊಂದಾಣಿಕೆಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಇರಿಸಿ
ಒಂದು ಹಳೆಯ ಸಹಭಾಗಿಗೆ ಹಿಂಜರಿಕೆ ವೆಚ್ಚವಿರುವ ನಿರ್ಧಾರ: ಒಂದು ಸಾಧನ ಸಂಪರ್ಕಿಸಲು ಇಡೀ ನಿಯೋಜನೆ ದುರ್ಬಲ ಆಯ್ಕೆಯನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತದೆ. ಅದನ್ನು ಹಾಗೆಯೇ ಬರೆಯಿರಿ, ಮತ್ತು ಅದು ಬೇಕಾದ ಸಹಭಾಗಿಗೆ ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸಿ.
ಎರಡು ಷರತ್ತುಗಳು ಫಲಿತಾಂಶವನ್ನು ನಿರ್ಧರಿಸುತ್ತವೆ. ದೋಷ ಸ್ಥಳೀಯವಾದರೆ ಬಿಲ್ಡ್ ಬದಲಿಸಿ. ದೋಷ ಮಾತುಕತೆಯದ್ದಾದರೆ ಎರಡೂ ತುದಿಗಳಲ್ಲಿ ಪಟ್ಟಿಗಳನ್ನು ಜೋಡಿಸಿ ಮತ್ತು ಯಾವ ಆವೃತ್ತಿಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತೀರಿ ಎಂದು ಬರೆಯಿರಿ.
ನಂತರ ಆವೃತ್ತಿ ಮತ್ತು ಸಾಮರ್ಥ್ಯದ ಔಟ್ಪುಟ್ ಲಗತ್ತಿಸಿ ನಿಖರ ದೋಷವನ್ನು ವರದಿ ಮಾಡಿ. ಈ ಜೋಡಿ ಕಾಣೆಯಾದ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಭಿನ್ನಾಭಿಪ್ರಾಯದಿಂದ ಬೇರ್ಪಡಿಸುತ್ತದೆ, ಮತ್ತು ಮುಂದಿನ ಊಹಾತ್ಮಕ ಸಂಪಾದನೆಗಳ ಸುತ್ತನ್ನು ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು ನಿಲ್ಲಿಸುತ್ತದೆ.