ESP ಎಂಬುದು IP ಪ್ರೋಟೋಕಾಲ್ 50, TCP ಪೋರ್ಟ್ 50 ಅಲ್ಲ: ಏನನ್ನು ಅನುಮತಿಸಬೇಕು
ಪ್ರೋಟೋಕಾಲ್ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳು ಬೇರೆ ಬೇರೆ ಹೆಸರಿನ ಜಾಗಗಳು. TCP ಪೋರ್ಟ್ 50 ಗಾಗಿ ನಿಯಮ ಏನನ್ನೂ ಅನುಮತಿಸುವುದಿಲ್ಲ, ಮತ್ತು NAT ಟ್ರಾವರ್ಸಲ್ ESP ಅನ್ನು UDP 4500 ಗೆ ಸರಿಸುತ್ತದೆ.
ಫೈರ್ವಾಲ್ ಫಾರ್ಮ್ಗಳು TCP ಪೋರ್ಟ್ ಕೇಳುತ್ತವೆ, ಮತ್ತು ಸ್ಪಷ್ಟ ನಮೂದು 50. ಆ ನಮೂದು ಏನನ್ನೂ ಅನುಮತಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ESP ಎಂಬುದು IP ಪ್ರೋಟೋಕಾಲ್ ಸಂಖ್ಯೆ 50 ಮತ್ತು ಪ್ರೋಟೋಕಾಲ್ ಸಂಖ್ಯೆಗಳು ಪೋರ್ಟ್ಗಳಲ್ಲ. ಎರಡೂ ಹೆಸರಿನ ಜಾಗಗಳು ಕೇವಲ ಸಣ್ಣ ಪೂರ್ಣಾಂಕಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ, ಬೇರೆ ಏನನ್ನೂ ಅಲ್ಲ, ಮತ್ತು IKE ಮುಗಿದು ಸಂರಕ್ಷಿತ ಸಂಚಾರ ಎಂದೂ ಬಾರದವರೆಗೆ ದೋಷ ಕಾಣದೆ ಉಳಿಯುತ್ತದೆ.
ಸಣ್ಣ ಸಂಖ್ಯೆಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುವ ಎರಡು ಹೆಸರಿನ ಜಾಗಗಳು
IP ಹೆಡರ್ ಮುಂದೆ ಏನು ಬರುತ್ತದೆ ಎಂಬುದನ್ನು ಹೆಸರಿಸುವ ಪ್ರೋಟೋಕಾಲ್ ಕ್ಷೇತ್ರವನ್ನು ಹೊಂದಿರುತ್ತದೆ: TCP ಗೆ 6, UDP ಗೆ 17, ICMP ಗೆ 1, ESP ಗೆ 50, AH ಗೆ 51. TCP ಅಥವಾ UDP ಹೆಡರ್ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಅವು ಗಮ್ಯಸ್ಥಾನದ ಹೋಸ್ಟ್ನಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತವೆ. ಪ್ರೋಟೋಕಾಲ್ 50 ಮತ್ತು TCP ಪೋರ್ಟ್ 50 ಸಂಬಂಧವಿಲ್ಲದ ಮೌಲ್ಯಗಳು, ಆದರೆ ಸಂವಾದ ಪೆಟ್ಟಿಗೆ ಅವನ್ನು ಪರಸ್ಪರ ಬದಲಾಯಿಸಬಹುದಾದಂತೆ ತೋರಿಸಬಹುದು.
ಅದಕ್ಕಾಗಿಯೇ ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡಿಂಗ್ ನಿಯಮ ಸ್ಥಳೀಯ ESP ಅನ್ನು ವ್ಯಕ್ತಪಡಿಸಲಾರದು. ಫಾರ್ವರ್ಡ್ ಮಾಡಲು ESP ಗಮ್ಯಸ್ಥಾನ ಪೋರ್ಟ್ ಇಲ್ಲ, ಮತ್ತು ಪೋರ್ಟ್ ನಿಯಮಗಳನ್ನು ಮಾತ್ರ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಸಾಧನಕ್ಕೆ ಆ ಪ್ಯಾಕೆಟ್ಗಾಗಿ ಯಾವುದೇ ಶಬ್ದಕೋಶವೇ ಇಲ್ಲ. ಸರಿಯಾದ ನಿಯಮ ಬದಲಿಗೆ IP ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಹೆಸರಿಸುತ್ತದೆ. ಯಾವುದೇ ಪೋರ್ಟ್ ಸಂವಾದ ಆ ಪ್ಯಾಕೆಟ್ಗೆ ತಪ್ಪು ಸಾಧನ.
ಗೊಂದಲಕ್ಕೆ ಇನ್ನೊಂದು ಅರ್ಧವೂ ಇದೆ. ಪ್ಯಾಕೆಟ್ ಎನ್ಕ್ರಿಪ್ಟ್ ಆಗಿರುವಾಗ, ಅದರೊಳಗಿನ ಎಲ್ಲವೂ ಅಪಾರದರ್ಶಕವಾಗಿರುತ್ತದೆ, ಮೂಲ ಸಂಪರ್ಕದ TCP ಹೆಡರ್ ಸೇರಿದಂತೆ. ಆ ಪ್ಯಾಕೆಟ್ನಲ್ಲಿ ಪೋರ್ಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಫೈರ್ವಾಲ್ ಹೊರಗಿನ ಹೆಡರ್ ಅನ್ನು ನೋಡುತ್ತಿದೆ, ಸ್ಥಳೀಯ ಸಂದರ್ಭದಲ್ಲಿ ಅಲ್ಲಿ ಪರಿಶೀಲಿಸಲು ಪೋರ್ಟ್ಗಳೇ ಇಲ್ಲ.
ಸ್ಥಳೀಯ ESP, ನಂತರ ಸುತ್ತುವರಿದ ಪರ್ಯಾಯ
ಸ್ಥಳೀಯ ESP ನೇರವಾಗಿ IP ಪ್ರೋಟೋಕಾಲ್ ಆಗಿ ಸಾಗಿಸಲ್ಪಡುತ್ತದೆ, ಇದು ಸಮಾನವಾಗಿ ಸಮರ್ಥ ಮತ್ತು ಅಸೌಕರ್ಯಕರ. ಹೆಚ್ಚುವರಿ ಹೆಡರ್ ಇಲ್ಲದ ಕಾರಣ ಸಮರ್ಥ, ಮತ್ತು ವಿಳಾಸ ಹಾಗೂ ಪೋರ್ಟ್ ಭಾಷಾಂತರ ಮಾಡುವ ಯಾವುದೇ ಸಾಧನ ಅದನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲಾರದ ಕಾರಣ ಅಸೌಕರ್ಯಕರ. NAT ಟ್ರಾವರ್ಸಲ್ ಇದನ್ನೇ ಪರಿಹರಿಸಲು ಇದೆ: ESP ಪ್ಯಾಕೆಟ್ ಅನ್ನು UDP ಒಳಗೆ ಸುತ್ತಿ, ಭಾಷಾಂತರಕನಿಗೆ ಮತ್ತೆ ಬರೆಯಲು ಪೋರ್ಟ್ಗಳು ಸಿಗುವಂತೆ ಮಾಡುತ್ತದೆ.
| Form on the wire | How it is identified | What the firewall must permit |
|---|---|---|
| IKE negotiation | UDP with a destination port | UDP 500, and 4500 once traversal is detected |
| Native ESP | IP protocol 50 in the outer header | The protocol itself, with no port to name |
| ESP inside UDP | UDP 4500 carrying an ESP payload | The UDP port pair, which translation devices can track |
ಎರಡೂ ರೂಪಗಳು ಒಂದೇ ಡೇಟಾ ಚಾನೆಲ್ನ ಪರ್ಯಾಯ ನಿಯೋಜನೆಗಳು, ಒಂದರ ಪದರಗಳಲ್ಲ. ಸ್ಥಳೀಯ ESP ಗೆ ಅನುಮತಿ ನೀಡುವುದು ಸುತ್ತುವರಿದ ರೂಪಕ್ಕೆ ಅನುಮತಿ ನೀಡುವುದಿಲ್ಲ, ಮತ್ತು UDP 4500 ಗೆ ಅನುಮತಿ ನೀಡುವುದು ಸ್ಥಳೀಯ ಸಂಚಾರಕ್ಕೆ ಅನುಮತಿ ನೀಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ನಿಯಮ ಸಮೂಹ ನಿಯೋಜನೆಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು, ಆಕಸ್ಮಿಕವಾಗಿ ಎರಡನ್ನೂ ಆವರಿಸಬಾರದು.
ಇಲ್ಲಿ ಪತ್ತೆಯೂ ಮುಖ್ಯ. ತುದಿ ಬಿಂದುಗಳು ಮಾತುಕತೆಯ ಸಮಯದಲ್ಲಿ ರೂಪಗಳ ನಡುವೆ ನಿರ್ಧರಿಸುತ್ತವೆ, ಮತ್ತು ಬದಲಾವಣೆ ಸಾಮಾನ್ಯವಾಗಿ ಅವುಗಳ ನಡುವೆ NAT ಪತ್ತೆಯಾದಾಗ ಸಂಭವಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಸುರಂಗ ಸ್ಥಾಪನೆಯ ನಂತರ ಬದಲಾಗುವ ಮಾರ್ಗ ಸಂಚಾರವನ್ನು ನಿಮ್ಮ ನಿಯಮಗಳು ಎಂದೂ ಆವರಿಸದ ಹೆಸರಿನ ಜಾಗಕ್ಕೆ ಸರಿಸಬಹುದು.
ಸಂಪರ್ಕವು ನಿಜವಾಗಿ ಯಾವ ರೂಪವನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ಓದಿ
ಫೈರ್ವಾಲ್ನಿಂದ ಊಹಿಸುವ ಬದಲು ತುದಿ ಬಿಂದುವನ್ನು ಕೇಳಿ. Linux ನಲ್ಲಿ ಸ್ಥಿತಿ ನಮೂದು ಸಂಘವು UDP ಸುತ್ತುವರಿಕೆ ಬಳಸುತ್ತಿದೆಯೇ ಮತ್ತು ಯಾವ ಪೋರ್ಟ್ಗಳು ಒಳಗೊಂಡಿವೆ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ. ಪ್ಯಾಕೆಟ್ ಸೆರೆಹಿಡಿಯುವಿಕೆ ಅದೇ ಪ್ರಶ್ನೆಗೆ ತಂತಿಯಿಂದ ಉತ್ತರಿಸುತ್ತದೆ, ಮತ್ತು ಎರಡೂ ನಿಯಮ ಸಮೂಹ ಓದಿ ನಿರೀಕ್ಷಿಸುವುದಕ್ಕಿಂತ ವೇಗವಾಗಿವೆ.
ip xfrm state | grep -A3 encap
tcpdump -ni any 'ip proto 50 or udp port 4500'
ಮೊದಲ ಆಜ್ಞೆ NAT ಟ್ರಾವರ್ಸಲ್ ಬಳಕೆಯಲ್ಲಿರುವಾಗ ಸುತ್ತುವರಿಕೆಯ ಪ್ರಕಾರವನ್ನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಇಲ್ಲದಿದ್ದಾಗ ಏನನ್ನೂ ತೋರಿಸುವುದಿಲ್ಲ. ಎರಡನೆಯದು ಎರಡೂ ರೂಪಗಳಲ್ಲಿ ಯಾವುದು ನಿಜವಾಗಿ ಇಂಟರ್ಫೇಸ್ ದಾಟುತ್ತಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಇದು ಕಾಗದದ ಮೇಲೆ ಸರಿಯಾಗಿ ಕಾಣುವ ಸಂರಚನೆಯ ಬಗ್ಗೆ ಚರ್ಚೆಗಳನ್ನು ಮುಗಿಸುತ್ತದೆ.
ವಿರೋಧಿ ಸಾಕ್ಷ್ಯ ಅದೇ ಹಂತಕ್ಕೆ ಸೇರುತ್ತದೆ. ಶೂನ್ಯ ಹೊಂದಾಣಿಕೆ ವರದಿ ಮಾಡುವ ನಿಯಮ ಪ್ಯಾಕೆಟ್ ಎಂದೂ ಅದನ್ನು ತಲುಪಿಲ್ಲ ಎಂದು ಹೇಳುತ್ತದೆ, ಮತ್ತು ಅದು ಫೈರ್ವಾಲ್ ಅಲ್ಲ, ರೂಟಿಂಗ್ ಅಥವಾ ಆಯ್ಕೆದಾರರ ಪ್ರಶ್ನೆ.
ನಂತರ ನಿಯಂತ್ರಣ ಚಾನೆಲ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ದೃಢೀಕರಿಸಿ. IKE ತನ್ನದೇ ಆದ ಪೋರ್ಟ್ಗಳು ಮತ್ತು ತನ್ನದೇ ಆದ ಲಾಗ್ಗಳನ್ನು ಹೊಂದಿದೆ, ಮತ್ತು ಡೇಟಾ ಇಲ್ಲದೆ ಪೂರ್ಣಗೊಂಡ ಮಾತುಕತೆ ಈ ಲೇಖನ ಹೇಳುವ ವಿಭಜನೆಯೇ ಆಗಿದೆ.
ನಿಯಮವನ್ನು ಸರಿಯಾದ ಹೆಸರಿನ ಜಾಗದಲ್ಲಿ ಬರೆಯಿರಿ
ಪ್ರೋಟೋಕಾಲ್ ನಿಯಮ ಮತ್ತು ಪೋರ್ಟ್ ನಿಯಮ ಬೇರೆ ಬೇರೆ ಸೂಚನೆಗಳು, ಆದ್ದರಿಂದ ಸಾಧನವು ನೀವು ಉದ್ದೇಶಿಸಿದ್ದನ್ನು ವ್ಯಕ್ತಪಡಿಸಬೇಕು. nftables ನಲ್ಲಿ ಪ್ರೋಟೋಕಾಲ್ ಹೊಂದಾಣಿಕೆ ಸ್ಪಷ್ಟವಾಗಿದೆ, ಮತ್ತು ಸುತ್ತುವರಿದ ಪರ್ಯಾಯಕ್ಕೆ ತನ್ನದೇ ಆದ UDP ನಿಯಮ ಸಿಗುತ್ತದೆ. ಎರಡೂ ನಿಯಮಗಳನ್ನು ಪಕ್ಕಪಕ್ಕದಲ್ಲಿ ಇರಿಸಿ, ಪರಿಶೀಲನೆಯಲ್ಲಿ ಜೋಡಿ ಕಾಣುವಂತೆ.
nft add rule inet filter input ip protocol esp accept
nft add rule inet filter input udp dport { 500, 4500 } accept
ತಪ್ಪು ನಿರ್ಣಯವನ್ನು ಸರಿದೂಗಿಸಲು ಯಾವುದೇ ನಿಯಮವನ್ನು ವಿಸ್ತರಿಸುವ ಪ್ರಲೋಭನೆಗೆ ಒಳಗಾಗಬೇಡಿ. ಪ್ರತಿ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ESP ಪ್ರೋಟೋಕಾಲ್ಗೆ ಎಲ್ಲವನ್ನೂ ಅನುಮತಿಸುವುದು, ಅಥವಾ ಎಲ್ಲಿಂದ ಎಲ್ಲಿಗೂ UDP ಅನುಮತಿ, ಲಕ್ಷಣವನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ ಮತ್ತು ನೀವು ಹೊಂದಿಸಲು ಪ್ರಯತ್ನಿಸಿದ ನಿಯಂತ್ರಣವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ರೂಪ ತಿಳಿದ ನಂತರ ಸಂಕುಚಿತ ಬೆಂಬಲಿತ ಹರಿವು ಬಹುತೇಕ ಯಾವಾಗಲೂ ಸಾಕು.
ಕೊನೆಯದಾಗಿ, ಸುರಂಗ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರೂ ಅಪ್ಲಿಕೇಶನ್ ಮಾಡದಿದ್ದಾಗ ಪದರಗಳನ್ನು ನೇರವಾಗಿ ಇರಿಸಿ. ಗೇಟ್ವೇ ತಲುಪುವ ಪ್ಯಾಕೆಟ್ಗಳಿಗೆ ಇನ್ನೂ ಫಾರ್ವರ್ಡಿಂಗ್, ಹಿಂತಿರುಗುವ ಮಾರ್ಗ ಮತ್ತು ಅವನ್ನು ಒಪ್ಪುವ ನೀತಿ ಬೇಕು, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ESP ನಿಯಮದಿಂದ ವ್ಯಕ್ತವಾಗುವುದಿಲ್ಲ. ಕಾಣೆಯಾದ ಪೋರ್ಟ್ ನಿರ್ದಿಷ್ಟ ವೈಫಲ್ಯವನ್ನು ವಿವರಿಸುತ್ತದೆ, ಪ್ರತಿ IPsec ವೈಫಲ್ಯವನ್ನಲ್ಲ. ನಿಯಮ ಸರಿಪಡಿಸುವಿಕೆ ಮತ್ತು ರೂಟಿಂಗ್ ಪರಿಶೀಲನೆಯನ್ನು ಎರಡು ಪ್ರತ್ಯೇಕ ತೀರ್ಮಾನಗಳಾಗಿ ಇರಿಸಿ.
ನೀವು ಗಮನಿಸಿದ ರೂಪ, ಸೇರಿಸಿದ ಪ್ರೋಟೋಕಾಲ್ ನಿಯಮ ಮತ್ತು ನಂತರ ಕಂಡ ಕೌಂಟರ್ ಅನ್ನು ದಾಖಲಿಸಿ. ಮೂರು ಸಾಲುಗಳು, ಮತ್ತು ಮುಂದಿನ ವ್ಯಕ್ತಿ ಅರ್ಧ ದಿನದ ಬದಲು ಒಂದು ನಿಮಿಷದಲ್ಲಿ ಹೆಸರಿನ ಜಾಗದ ತಪ್ಪನ್ನು ರೂಟಿಂಗ್ ತಪ್ಪಿನಿಂದ ಬೇರ್ಪಡಿಸಬಹುದು.