ಎರಡು OpenVPN ಪ್ಯಾಕೆಟ್ ಮಾರ್ಗಗಳಿಗೆ Shorewall ವಲಯಗಳು
ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ OpenVPN ಸಾಗಣೆಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಆದ ಕ್ಲೈಂಟ್ ಸಂಚಾರದಿಂದ ಬೇರ್ಪಡಿಸಿ, ಸುರಂಗಕ್ಕೆ ತನ್ನದೇ ವಲಯ ನೀಡಿ ಮತ್ತು ಕ್ಲೈಂಟ್ಗೆ ಬೇಕಾದ ಒಂದೇ ಸೇವೆಗೆ ಅನುಮತಿ ನೀಡಿ.
ಎರಡು ಪ್ಯಾಕೆಟ್ ಹರಿವುಗಳು OpenVPN ಅನ್ನು ಕೊನೆಗೊಳಿಸುವ Shorewall ಗೇಟ್ವೇ ಮೂಲಕ ಹಾದುಹೋಗುತ್ತವೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದೇ ಎನ್ಕ್ರಿಪ್ಟ್ ಆಗಿದೆ. ಮೊದಲನೆಯದು ಇಂಟರ್ನೆಟ್ ಕಡೆಗಿನ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿರುವ VPN ಶ್ರೋತೃವಿಗೆ ಕ್ಲೈಂಟ್ನ ಸಾಗಣೆ. ಎರಡನೆಯದು ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ನಿಂದ ಹೊರಬರುವ ಡೀಕ್ರಿಪ್ಟ್ ಆದ ವಿನಂತಿ, ಅದು ಕಚೇರಿ ಸರ್ವರ್ ಅಥವಾ ಗೇಟ್ವೇಯಲ್ಲಿನ ಸೇವೆಯ ಕಡೆಗೆ ಹೋಗುತ್ತದೆ. ನೀತಿ ಸಂಪಾದಿಸುವ ಮೊದಲು ಎರಡನ್ನೂ ನಕ್ಷೆ ಮಾಡಿ, ಏಕೆಂದರೆ ಮೊದಲನೆಯದನ್ನು ಪೂರೈಸುವ ನಿಯಮ ಎರಡನೆಯದಕ್ಕೆ ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ.
ನೀತಿ ಸಂಪಾದಿಸುವ ಮೊದಲು ಎರಡು ಹರಿವುಗಳನ್ನು ಬರೆಯಿರಿ
ಹರಿವುಗಳನ್ನು ಮೂಲ, ಗಮ್ಯ, ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಪೋರ್ಟ್ಗಳಿರುವ ಸಾಲುಗಳಾಗಿ ಬರೆಯಿರಿ. ಹೊರ ಮಾರ್ಗದಲ್ಲಿ ಮೂಲ ಕ್ಲೈಂಟ್ನ ಸಾರ್ವಜನಿಕ ವಿಳಾಸ ಮತ್ತು ಗಮ್ಯ ಗೇಟ್ವೇಯ ಕೇಳುವ ಪೋರ್ಟ್; Shorewall ಅದನ್ನು ಇಂಟರ್ನೆಟ್ನಿಂದ ಫೈರ್ವಾಲ್ಗೆ ಹೋಗುವ ಸಂಚಾರವೆಂದು ಪರಿಗಣಿಸುತ್ತದೆ. ಒಳ ಮಾರ್ಗದಲ್ಲಿ ಮೂಲ ಸುರಂಗದ ವಿಳಾಸ ಶ್ರೇಣಿ ಮತ್ತು ಗಮ್ಯ ಅನುಮೋದಿತ ಸೇವೆ. ಒಬ್ಬ ನಿರ್ವಾಹಕರು ಎರಡನ್ನೂ ನಿರ್ವಹಿಸಿದರೂ ಎರಡು ಸಾಲುಗಳ ಮಾಲೀಕರು ಬೇರೆ ಬೇರೆ.
| Flow | Zone relationship | What to constrain |
|---|---|---|
| Encrypted OpenVPN transport | Internet to the firewall host | The listener's actual protocol and port |
| Decrypted request to a LAN service | VPN clients to the LAN zone | One approved server and service |
| Decrypted request to the gateway | VPN clients to the firewall host | Only the local services required |
| Request to another VPN client | VPN clients to VPN clients | Denied unless deliberately required |
ವಿನಂತಿಯು ಗೇಟ್ವೇಯ ಮೇಲೆಯೇ ಕೊನೆಗೊಂಡಾಗ ಮಾತ್ರ ಸಾಲು ಸೇರಿಸಿ, ಉದಾಹರಣೆಗೆ ರೆಸಾಲ್ವರ್ ಅಥವಾ ನಿರ್ವಹಣಾ ಪ್ರವೇಶಕ್ಕೆ. ಹೋಸ್ಟ್ನಲ್ಲಿನ ಸೇವೆ ಫಾರ್ವರ್ಡ್ ಆದ ಮಾರ್ಗವನ್ನಲ್ಲ, ಹೋಸ್ಟ್-ಇನ್ಪುಟ್ ನೀತಿಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ಈ ಎರಡನ್ನೂ ಬೆರೆಸುವುದರಿಂದಲೇ ಸಂಕುಚಿತ ಸುರಂಗ ನಿಯಮವು ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ.
ಸುರಂಗ ವಲಯ ಮತ್ತು ಇಂಟರ್ಫೇಸ್ ವ್ಯಾಪ್ತಿ ನಿಗದಿಪಡಿಸಿ
ರೋಡ್-ವಾರಿಯರ್ ವಲಯವನ್ನು /etc/shorewall/zones ನಲ್ಲಿ ಘೋಷಿಸಲಾಗುತ್ತದೆ, ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು /etc/shorewall/interfaces ನಲ್ಲಿ ಜೋಡಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಹೊರ ಸಂಪರ್ಕವನ್ನು /etc/shorewall/tunnels ನಲ್ಲಿ ವಿವರಿಸಲಾಗುತ್ತದೆ. ಸ್ಥಾಪಿತ ಆವೃತ್ತಿಯ ವಾಕ್ಯರಚನೆಗೆ ಹೊಂದಿಸಿಕೊಳ್ಳಿ, ಏಕೆಂದರೆ ಕಾಲಮ್ ಕ್ರಮ ಮತ್ತು ಆಯ್ಕೆ ಹೆಸರುಗಳು ಪ್ರಮುಖ ಆವೃತ್ತಿಗಳ ನಡುವೆ ಬದಲಾಗಿವೆ. ಮಾರ್ಗದರ್ಶಿಯ ಉದಾಹರಣೆ ಪೋರ್ಟ್, ಡೇಮನ್ ನಿಜವಾಗಿ ಕೇಳುವ ಪೋರ್ಟ್ಗಿಂತ ಬೇರೆ ಪೋರ್ಟ್ಗೆ ಅನುಮತಿ ನೀಡುವ ಕಾರಣವಲ್ಲ. ಸಂಖ್ಯೆಗಳು ಹೊಂದಿಕೆಯಾಗುವುದರಿಂದ ಮಾತ್ರ TCP ಮತ್ತು UDP ಪರಸ್ಪರ ಬದಲಾಯಿಸಬಹುದಾದವಲ್ಲ.
ಮಾರ್ಗದರ್ಶಿ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು tun+ ನಿಂದ ಗುಂಪು ಮಾಡುತ್ತದೆ. ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸುರಂಗಗಳಿರುವ ಹೋಸ್ಟ್ನಲ್ಲಿ ಆ ವೈಲ್ಡ್ಕಾರ್ಡ್ ಬೇರೆ ವಿಶ್ವಾಸ ಮಟ್ಟದ ಎರಡನೇ VPN ಅನ್ನು ಅದೇ ವಲಯದಲ್ಲಿ ಇರಿಸಬಹುದು. ವ್ಯಾಪ್ತಿಯನ್ನು ನಿಜವಾಗಿ ಇರುವ ಇಂಟರ್ಫೇಸ್ಗಳ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸಿ, ಮತ್ತು ಇಂಟರ್ಫೇಸ್ ಹೆಸರುಗಳನ್ನು ಕೈಯಿಂದ ಸಂಪಾದಿಸುವ ಬದಲು ನಾಮಕರಣವನ್ನು ಸಂಪರ್ಕ ನಿರ್ವಾಹಕದ ಜೀವನಚಕ್ರದ ಅಡಿಯಲ್ಲಿ ಇರಿಸಿ.
ಐತಿಹಾಸಿಕ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿ ಬಹಳ ಹಳೆಯ OpenVPN ಸಂರಚನಾ ಮಾದರಿಗಳಿವೆ, ಮತ್ತು ಅದರ ಕ್ರಿಪ್ಟೋ ಸಲಹೆಯನ್ನು ಪ್ರಸ್ತುತ ನಿಯೋಜನೆಗೆ ನಕಲಿಸಬಾರದು. ಬದಲಾಗಿ ವಲಯ ಮತ್ತು ಹರಿವಿನ ಮಾದರಿಯನ್ನು ಎರವಲು ಪಡೆಯಿರಿ. ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಆಧಾರವನ್ನು ಗೇಟ್ವೇಯ ನಿರ್ವಹಿತ OpenVPN ನೀತಿಯಿಂದ ತೆಗೆದುಕೊಳ್ಳಿ.
ನೀವು ವರ್ಗೀಕರಿಸಿದ ಮಾರ್ಗಕ್ಕೆ ಮಾತ್ರ ಅನುಮತಿ ನೀಡಿ
VPN ವಲಯದಿಂದ LAN ಗೆ ವಿಶಾಲ ಸ್ವೀಕೃತಿ ಆರಂಭಿಕ ರೇಖಾಚಿತ್ರ, ಪೂರ್ಣ ನೀತಿಯಲ್ಲ. ಅನುಮತಿಸಿದ ಕ್ಲೈಂಟ್ ಮೂಲ, ನೈಜ ಸೇವಾ ವಿಳಾಸ, ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಪೋರ್ಟ್ ಬರೆಯಿರಿ. ನಂತರ ಅದರ ಮೇಲಿನ ನಿಯಮಗಳನ್ನು ಮತ್ತು ವಲಯದ ಡೀಫಾಲ್ಟ್ ಓದಿ, ಏಕೆಂದರೆ ಸಂಕುಚಿತ ಸೇರಿಸುವಿಕೆ ಈಗಾಗಲೇ ಹೊಂದಿಕೆಯಾಗುವ ವಿಶಾಲ ಅನುಮತಿಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ. ಗೇಟ್ವೇ ಹೋಸ್ಟ್ನ ಕಡೆಗಿನ ಸಂಚಾರ ಅದರ ಮೂಲಕ ಫಾರ್ವರ್ಡ್ ಆಗುವ ಸಂಚಾರದಿಂದ ಪ್ರತ್ಯೇಕ ಸಂಬಂಧ.
ಕ್ಲೈಂಟ್-ಇಂದ-ಕ್ಲೈಂಟ್ ಸಂಚಾರಕ್ಕೆ ತನ್ನದೇ ನಿರ್ಧಾರ ಬೇಕು. OpenVPN ನ client-to-client ಮತ್ತು Shorewall ನ routeback ಎರಡೂ ಕ್ಲೈಂಟ್ಗಳು ಪರಸ್ಪರ ತಲುಪಬಹುದೇ ಎಂಬುದನ್ನು ಪ್ರಭಾವಿಸುತ್ತವೆ, ಮತ್ತು ಒಂದು LAN ಅಪ್ಲಿಕೇಶನ್ ಕೆಲಸ ಮಾಡಲೆಂದೇ ಯಾವುದನ್ನೂ ಸಕ್ರಿಯಗೊಳಿಸಬಾರದು. ಪರೀಕ್ಷಿಸುವ ಮೊದಲು ಪ್ರತ್ಯೇಕತೆ ಎಲ್ಲಿ ಜಾರಿಯಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ.
ಪ್ರತ್ಯುತ್ತರ ಮಾರ್ಗವನ್ನು ಅದೇ ಯೋಜನೆಯಲ್ಲಿ ಇರಿಸಿ. ಸೇವೆ ಅಥವಾ ಅದರ ರೌಟರ್ ಸಂಚಾರವನ್ನು ಸುರಂಗ ಶ್ರೇಣಿಗೆ ಹೇಗೆ ಹಿಂತಿರುಗಿಸುವುದೆಂದು ತಿಳಿದಿರಬೇಕು, ಇಲ್ಲವೇ ವಿನ್ಯಾಸವು ಮೂಲವನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಮತ್ತು ಉದ್ದೇಶಿತ ವ್ಯಾಪ್ತಿಯೊಳಗೆ ಭಾಷಾಂತರಿಸಬೇಕು.
ಪರಿಶೀಲಿಸಿ, ನಂತರ ಎರಡೂ ಮಾರ್ಗಗಳನ್ನು ಸಾಬೀತುಪಡಿಸಿ
ಏನನ್ನೂ ಮರುಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಸಂರಚನೆಯನ್ನು ಪರಿಶೀಲಿಸಿ, ಮತ್ತು ಹೊಸ ನೀತಿ ತಪ್ಪಾಗಿದ್ದರೆ ಎಂಬ ಕಾರಣಕ್ಕೆ ಸ್ವತಂತ್ರ ನಿರ್ವಹಣಾ ಅಧಿವೇಶನವನ್ನು ತೆರೆದಿಡಿ.
shorewall check
ಸ್ವಚ್ಛ ಪರಿಶೀಲನೆಯ ನಂತರ ಸಂರಚನೆಯನ್ನು ಅನ್ವಯಿಸಿ ಮತ್ತು Shorewall ಏನನ್ನು ಲೋಡ್ ಮಾಡಿತೆಂದು ಮತ್ತೆ ಓದಿ. ಈ ಓದುವಿಕೆಗಳು ಚಾಲನೆಯಲ್ಲಿರುವ ನೀತಿಯನ್ನು ವಿವರಿಸುತ್ತವೆ, ಫೈಲ್ ಹೇಳುತ್ತದೆ ಎಂದು ತೋರುವುದನ್ನಲ್ಲ.
shorewall show zones
ip route get 192.168.10.20
ಅದೇ ಕ್ಲೈಂಟ್ನಿಂದ ಹೊಸದಾಗಿ ಅನುಮತಿಸಿದ ವಿನಂತಿ ಮತ್ತು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ನಿರಾಕರಿಸಿದ ವಿನಂತಿ ಎರಡನ್ನೂ ಪರೀಕ್ಷಿಸಿ. ಯಶಸ್ವಿ OpenVPN ಹ್ಯಾಂಡ್ಶೇಕ್ ಹೊರ ವಿನಿಮಯವನ್ನು ಮಾತ್ರ ಸಾಬೀತುಪಡಿಸುತ್ತದೆ; ಅನುಮತಿಸಿದ ಸೇವೆ ಮತ್ತು ನಿರಾಕರಿಸಿದ ಸಂಪನ್ಮೂಲ ನೀವು ಉದ್ದೇಶಿಸಿದ ಒಳ ನೀತಿಯನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತವೆ. ನಂತರ ಕ್ಲೈಂಟ್ ಅನ್ನು ಮತ್ತೆ ಸಂಪರ್ಕಿಸಿ ಪುನರಾವರ್ತಿಸಿ, ಏಕೆಂದರೆ ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ನ ಹೆಸರು ಮತ್ತು ವಿಳಾಸ ಅಧಿವೇಶನಗಳ ನಡುವೆ ಬದಲಾಗಬಹುದು. ಫಲಿತಾಂಶ ಭಿನ್ನವಾಗಿದ್ದರೆ ನಿಯಮವನ್ನು ವಿಸ್ತರಿಸುವ ಬದಲು ವಲಯದ ವ್ಯಾಪ್ತಿಯನ್ನು ಸರಿಪಡಿಸಿ.