SSH/RDP/ಇತರ ಮೂಲಕ ಪ್ರಪಂಚದ ಎಲ್ಲಿಂದಲಾದರೂ ತಮ್ಮ ಸರ್ವರ್ಗಳಿಗೆ ಪ್ರವೇಶದೊಂದಿಗೆ, ತಮ್ಮ ಪ್ರೀತಿಪಾತ್ರರನ್ನು ಒದಗಿಸಬೇಕಾದವರಿಗೆ, ಒಂದು ಸಣ್ಣ RTFM/spur.
ಕೈಯಲ್ಲಿರುವ ಯಾವುದೇ ಸಾಧನದಿಂದ ನಾವು VPN ಮತ್ತು ಇತರ ಬೆಲ್ಗಳು ಮತ್ತು ಸೀಟಿಗಳಿಲ್ಲದೆಯೇ ಮಾಡಬೇಕಾಗಿದೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ನೀವು ಸರ್ವರ್ನೊಂದಿಗೆ ಹೆಚ್ಚು ವ್ಯಾಯಾಮ ಮಾಡಬೇಕಾಗಿಲ್ಲ.
ಇದಕ್ಕಾಗಿ ನಿಮಗೆ ಬೇಕಾಗಿರುವುದು
"ಎಲ್ಲವೂ ಇಂಟರ್ನೆಟ್ನಲ್ಲಿದೆ," ಸಹಜವಾಗಿ (ಸಹ
ನಾವು Fedora/CentOS ಅನ್ನು ಉದಾಹರಣೆಯಾಗಿ ಬಳಸಲು ಅಭ್ಯಾಸ ಮಾಡುತ್ತೇವೆ, ಆದರೆ ಅದು ಅಪ್ರಸ್ತುತವಾಗುತ್ತದೆ.
ಈ ವಿಷಯದಲ್ಲಿ ಆರಂಭಿಕರಿಗಾಗಿ ಮತ್ತು ತಜ್ಞರಿಗೆ ಸ್ಪರ್ ಸೂಕ್ತವಾಗಿದೆ, ಆದ್ದರಿಂದ ಕಾಮೆಂಟ್ಗಳು ಇರುತ್ತವೆ, ಆದರೆ ಅವು ಚಿಕ್ಕದಾಗಿರುತ್ತವೆ.
1. ಸರ್ವರ್
-
ನಾಕ್-ಸರ್ವರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ:
yum/dnf install knock-server
-
ಇದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ (ಉದಾಹರಣೆಗೆ ssh ನಲ್ಲಿ) - /etc/knockd.conf:
[options] UseSyslog interface = enp1s0f0 [SSHopen] sequence = 33333,22222,11111 seq_timeout = 5 tcpflags = syn start_command = iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT cmd_timeout = 3600 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT [SSHclose] sequence = 11111,22222,33333 seq_timeout = 5 tcpflags = syn command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
"ಆರಂಭಿಕ" ಭಾಗವನ್ನು 1 ಗಂಟೆಯ ನಂತರ ಸ್ವಯಂ ಮುಚ್ಚಲು ಹೊಂದಿಸಲಾಗಿದೆ. ನಿನಗೆ ತಿಳಿಯದೇ ಇದ್ದೀತು...
-
/etc/sysconfig/iptables:
... -A INPUT -p tcp -m state --state NEW -m tcp --dport 11111 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22222 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 33333 -j ACCEPT ...
-
ಮುಂದೆ:
service iptables restart service knockd start
-
ಒಳಗೆ ತಿರುಗುತ್ತಿರುವ ವರ್ಚುವಲ್ ವಿಂಡೋಸ್ ಸರ್ವರ್ಗೆ ನೀವು RDP ಅನ್ನು ಸೇರಿಸಬಹುದು (/etc/knockd.conf; ನಿಮ್ಮ ರುಚಿಗೆ ತಕ್ಕಂತೆ ಇಂಟರ್ಫೇಸ್ ಹೆಸರನ್ನು ಬದಲಿಸಿ):
[RDPopen] sequence = 44444,33333,22222 seq_timeout = 5 tcpflags = syn start_command = iptables -t nat -A PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 cmd_timeout = 3600 stop_command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 [RDPclose] sequence = 22222,33333,44444 seq_timeout = 5 tcpflags = syn command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2
ಕಮಾಂಡ್ನೊಂದಿಗೆ ಸರ್ವರ್ನಲ್ಲಿ ಕ್ಲೈಂಟ್ನಿಂದ ನಮ್ಮ ಎಲ್ಲಾ ಒದೆತಗಳನ್ನು ನಾವು ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತೇವೆ
iptables -S
.
2. ಕುಂಟೆಗಳಿಗೆ ಮಾರ್ಗದರ್ಶಿ
knockd.conf:
ಮನವು ಎಲ್ಲವನ್ನೂ ಒಳಗೊಂಡಿದೆ (ಆದರೆ ಇದು ನಿಖರವಾಗಿಲ್ಲ), ಆದರೆ ನಾಕ್ಡ್ ಸಂದೇಶಗಳೊಂದಿಗೆ ಸಾಕಷ್ಟು ಜಿಪುಣನಾದ ಸ್ನೇಹಿತ, ಆದ್ದರಿಂದ ನೀವು ತುಂಬಾ ಜಾಗರೂಕರಾಗಿರಬೇಕು.
- ಆವೃತ್ತಿ
Fedora/CentOS ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ, ಇಂದಿನ ಇತ್ತೀಚಿನ ನಾಕ್ಡ್ 0.63 ಆಗಿದೆ. ಯಾರಿಗೆ UDP ಬೇಕು - 0.70 ಪ್ಯಾಕೆಟ್ಗಳಿಗಾಗಿ ನೋಡಿ. - ಇಂಟರ್ಫೇಸ್
ಡೀಫಾಲ್ಟ್ Fedora/CentOS ಸಂರಚನೆಯಲ್ಲಿ ಈ ಸಾಲು ಯಾವುದೇ. ನಿಮ್ಮ ಕೈಗಳಿಂದ ಸೇರಿಸಿ, ಇಲ್ಲದಿದ್ದರೆ ಅದು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. - ಸಮಯ ಮೀರಿದೆ
ಇಲ್ಲಿ ನೀವು ನಿಮ್ಮ ರುಚಿಗೆ ಅನುಗುಣವಾಗಿ ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಕ್ಲೈಂಟ್ ಎಲ್ಲಾ ಕಿಕ್ಗಳಿಗೆ ಸಾಕಷ್ಟು ಸಮಯವನ್ನು ಹೊಂದಿರುವುದು ಅವಶ್ಯಕ - ಮತ್ತು ಪೋರ್ಟ್ ಸ್ಕ್ಯಾನರ್ ಬೋಟ್ ಒಡೆಯುತ್ತದೆ (ಮತ್ತು 146% ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ). - ಪ್ರಾರಂಭ/ನಿಲ್ಲಿಸು/ಆಜ್ಞೆ.
ಒಂದು ಆಜ್ಞೆ ಇದ್ದರೆ, ನಂತರ ಕಮಾಂಡ್, ಎರಡು ಇದ್ದರೆ, ನಂತರ start_command+stop_command.
ನೀವು ತಪ್ಪು ಮಾಡಿದರೆ, ನಾಕ್ಡ್ ಮೌನವಾಗಿ ಉಳಿಯುತ್ತದೆ, ಆದರೆ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. - ಪ್ರೊಟೊ
ಸೈದ್ಧಾಂತಿಕವಾಗಿ, UDP ಅನ್ನು ಬಳಸಬಹುದು. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ನಾನು tcp ಮತ್ತು udp ಅನ್ನು ಮಿಶ್ರಣ ಮಾಡಿದ್ದೇನೆ ಮತ್ತು ಬಾಲಿಯ ಕಡಲತೀರದ ಕ್ಲೈಂಟ್ ಐದನೇ ಬಾರಿಗೆ ಮಾತ್ರ ಗೇಟ್ ತೆರೆಯಲು ಸಾಧ್ಯವಾಯಿತು. ಏಕೆಂದರೆ ಅಗತ್ಯವಿದ್ದಾಗ TCP ಬಂದಿತು, ಆದರೆ UDP ಒಂದು ಸತ್ಯವಲ್ಲ. ಆದರೆ ಇದು ಮತ್ತೊಮ್ಮೆ ರುಚಿಯ ವಿಷಯವಾಗಿದೆ. - ಅನುಕ್ರಮ
ಸೀಕ್ವೆನ್ಸ್ಗಳು ಛೇದಿಸಬಾರದು ಎಂಬುದು ಸೂಚ್ಯವಾದ ಕುಂಟೆ... ಇದನ್ನು ಹೇಗೆ ಹೇಳಲಿ...
ಉದಾಹರಣೆಗೆ, ಇದು:
open: 11111,22222,33333
close: 22222,11111,33333
ಕಿಕ್ 11111 ಮೂಲಕ ತೆರೆದ 22222 ನಲ್ಲಿ ಮುಂದಿನ ಕಿಕ್ಗಾಗಿ ಕಾಯುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ (22222) ಕಿಕ್ನ ನಂತರ ಅದು ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ನಿಕಟ ಮತ್ತು ಎಲ್ಲವೂ ಮುರಿಯುತ್ತವೆ. ಇದು ಗ್ರಾಹಕರ ವಿಳಂಬವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಅಂತಹ ವಿಷಯಗಳು ©.
iptables
/etc/sysconfig/iptables ನಲ್ಲಿ ಇದ್ದರೆ ಇದು:
*nat
:PREROUTING ACCEPT [0:0]
ಇದು ನಿಜವಾಗಿಯೂ ನಮಗೆ ತೊಂದರೆ ಕೊಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಇಲ್ಲಿದೆ:
*filter
:INPUT ACCEPT [0:0]
...
-A INPUT -j REJECT --reject-with icmp-host-prohibited
ಇದು ಹಸ್ತಕ್ಷೇಪ ಮಾಡುತ್ತದೆ.
INPUT ಸರಪಳಿಯ ಅಂತ್ಯಕ್ಕೆ ನಾಕ್ಡ್ ನಿಯಮಗಳನ್ನು ಸೇರಿಸುವುದರಿಂದ, ನಾವು ತಿರಸ್ಕರಿಸುತ್ತೇವೆ.
ಮತ್ತು ಈ ತಿರಸ್ಕಾರವನ್ನು ಆಫ್ ಮಾಡುವುದು ಎಂದರೆ ಕಾರನ್ನು ಎಲ್ಲಾ ಗಾಳಿಗಳಿಗೆ ತೆರೆಯುವುದು.
ಐಪ್ಟೇಬಲ್ಸ್ನಲ್ಲಿ ಕಳೆದುಹೋಗದಿರಲು ಯಾವುದನ್ನು ಮೊದಲು ಸೇರಿಸಬೇಕು (ಈ ರೀತಿ
- ಪೂರ್ವನಿಯೋಜಿತ CentOS/Fedora ನಲ್ಲಿ ಮೊದಲನೆಯದು ನಿಯಮವನ್ನು ("ನಿಷೇಧಿಸಲಾಗದ್ದನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ") ವಿರುದ್ಧವಾಗಿ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ,
- ಮತ್ತು ನಾವು ಕೊನೆಯ ನಿಯಮವನ್ನು ತೆಗೆದುಹಾಕುತ್ತೇವೆ.
ಫಲಿತಾಂಶವು ಹೀಗಿರಬೇಕು:
*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibited
ನೀವು ಸಹಜವಾಗಿ, DROP ಬದಲಿಗೆ ತಿರಸ್ಕರಿಸಬಹುದು, ಆದರೆ DROP ಜೀವನವು ಬಾಟ್ಗಳಿಗೆ ಹೆಚ್ಚು ಮೋಜಿನದಾಗಿರುತ್ತದೆ.
3. ಗ್ರಾಹಕ
ಈ ಸ್ಥಳವು ಅತ್ಯಂತ ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ (ನನ್ನ ದೃಷ್ಟಿಕೋನದಿಂದ), ಏಕೆಂದರೆ ನೀವು ಯಾವುದೇ ಬೀಚ್ನಿಂದ ಮಾತ್ರವಲ್ಲದೆ ಯಾವುದೇ ಸಾಧನದಿಂದಲೂ ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
ತಾತ್ವಿಕವಾಗಿ, ಹಲವಾರು ಗ್ರಾಹಕರನ್ನು ಪಟ್ಟಿಮಾಡಲಾಗಿದೆ
ಕ್ಲೈಂಟ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ, ಪ್ಯಾಕೆಟ್ಗಳ ನಡುವಿನ ವಿಳಂಬ ಆಯ್ಕೆಯನ್ನು ಅದು ಬೆಂಬಲಿಸುತ್ತದೆ ಎಂದು ನೀವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು. ಹೌದು, ಕಡಲತೀರಗಳ ನಡುವೆ ವ್ಯತ್ಯಾಸಗಳಿವೆ ಮತ್ತು 100 ಮೆಗಾಬಿಟ್ಗಳು ನಿರ್ದಿಷ್ಟ ಸ್ಥಳದಿಂದ ಸರಿಯಾದ ಸಮಯದಲ್ಲಿ ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಪ್ಯಾಕೆಟ್ಗಳು ಬರುತ್ತವೆ ಎಂದು ಎಂದಿಗೂ ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ.
ಮತ್ತು ಹೌದು, ಕ್ಲೈಂಟ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ, ನೀವು ವಿಳಂಬವನ್ನು ನೀವೇ ಆರಿಸಬೇಕಾಗುತ್ತದೆ. ತುಂಬಾ ಸಮಯ ಮೀರಿದೆ - ಬಾಟ್ಗಳು ದಾಳಿ ಮಾಡುತ್ತವೆ, ತುಂಬಾ ಕಡಿಮೆ - ಕ್ಲೈಂಟ್ಗೆ ಸಮಯ ಇರುವುದಿಲ್ಲ. ತುಂಬಾ ವಿಳಂಬ - ಕ್ಲೈಂಟ್ ಸಮಯಕ್ಕೆ ಅದನ್ನು ಮಾಡುವುದಿಲ್ಲ ಅಥವಾ ಮೂರ್ಖರ ಘರ್ಷಣೆ ಇರುತ್ತದೆ ("ರೇಕ್ಗಳು" ನೋಡಿ), ತುಂಬಾ ಕಡಿಮೆ - ಪ್ಯಾಕೆಟ್ಗಳು ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ ಕಳೆದುಹೋಗುತ್ತವೆ.
ಸಮಯ ಮೀರುವುದರೊಂದಿಗೆ=5s, ವಿಳಂಬ=100..500ms ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಆಯ್ಕೆಯಾಗಿದೆ
ವಿಂಡೋಸ್
ಇದು ಎಷ್ಟೇ ತಮಾಷೆಯೆನಿಸಿದರೂ, ಈ ಪ್ಲ್ಯಾಟ್ಫಾರ್ಮ್ಗಾಗಿ Google ಸ್ಪಷ್ಟವಾದ ನಾಕ್ ಕ್ಲೈಂಟ್ಗೆ ಇದು ಕ್ಷುಲ್ಲಕವಲ್ಲ. CLI ವಿಳಂಬ, TCP - ಮತ್ತು ಬಿಲ್ಲುಗಳಿಲ್ಲದೆ ಬೆಂಬಲಿಸುತ್ತದೆ.
ಪರ್ಯಾಯವಾಗಿ, ನೀವು ಪ್ರಯತ್ನಿಸಬಹುದು
ಲಿನಕ್ಸ್
ಇಲ್ಲಿ ಎಲ್ಲವೂ ಸರಳವಾಗಿದೆ:
dnf install knock -y
knock -d <delay> <dst_ip> 11111 22222 33333
ಮ್ಯಾಕೋಸ್
ಹೋಮ್ಬ್ರೂನಿಂದ ಪೋರ್ಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು ಸುಲಭವಾದ ಮಾರ್ಗವಾಗಿದೆ:
brew install knock
ಮತ್ತು ಆಜ್ಞೆಗಳಿಗೆ ಅಗತ್ಯವಾದ ಬ್ಯಾಚ್ ಫೈಲ್ಗಳನ್ನು ಸೆಳೆಯಿರಿ:
#!bin/sh
knock -d <delay> <dst_ip> 11111 22222 33333
ಐಒಎಸ್
ಕೆಲಸ ಮಾಡುವ ಆಯ್ಕೆಯು KnockOnD ಆಗಿದೆ (ಉಚಿತ, ಅಂಗಡಿಯಿಂದ).
ಆಂಡ್ರಾಯ್ಡ್
"ನಾಕ್ ಆನ್ ಪೋರ್ಟ್ಸ್" ಜಾಹೀರಾತು ಅಲ್ಲ, ಆದರೆ ಅದು ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಮತ್ತು ಅಭಿವರ್ಧಕರು ಸಾಕಷ್ಟು ಸ್ಪಂದಿಸುತ್ತಾರೆ.
ಹಬ್ರೆ ಮೇಲೆ PS ಮಾರ್ಕ್ಡೌನ್, ಖಂಡಿತವಾಗಿಯೂ, ದೇವರು ಅವನನ್ನು ಒಂದು ದಿನ ಆಶೀರ್ವದಿಸಲಿ...
ಯುಪಿಡಿ 1: ಇವರಿಗೆ ಧನ್ಯವಾದಗಳು
ಯುಪಿಡಿ 2: ಮತ್ತೊಂದು
ಮೂಲ: www.habr.com