рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдПрд╕рдПрд╕рдПрдЪ / рдЖрд░рдбреАрдкреА / рдЕрдиреНрдпрдерд╛ - рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЖрд░рдЯреАрдПрдлрдПрдо / рд╕реНрдкрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ, рдкреНрд░рд┐рдп, рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рдЙрдкрдХрд░рдг рд╕реЗ рд╡реАрдкреАрдПрди рдФрд░ рдЕрдиреНрдп рдШрдВрдЯрд┐рдпрд╛рдБ рдФрд░ рд╕реАрдЯреА рдмрдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдФрд░ рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдпрд╛рдо рди рдХрд░реЗред
рдЖрдк рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЦрдЯрдЦрдЯрд╛рдпрд╛ , рд╕реАрдзреЗ рд╣рд╛рде рдФрд░ 5 рдорд┐рдирдЯ рдХрд╛ рдХрд╛рдоред
"рд╕рдм рдХреБрдЫ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╣реИ," рдмреЗрд╢рдХ ( рд╣реИрдмреЗ рдкрд░ рднреА), рд▓реЗрдХрд┐рди рдЬрдм рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдпрд╣ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ...
рд╣рдо рдлреЗрдбреЛрд░рд╛ / рд╕реЗрдВрдЯреЛрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред
рдкреНрд░реЗрд░рдгрд╛ рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд╢реБрд░реБрдЖрддреА рдФрд░ рдмрд╛рдпрд╕рди рджреЛрдиреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА, рд▓реЗрдХрд┐рди рдХрдоред
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
рдЖрдк рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдВрджрд░ (/etc/knockd.conf) рдХрддрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RDP рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ; рдЕрдкрдиреЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо рджреЗрдВ:
[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:
рд╕рдм рдХреБрдЫ рдордВрд╕реВрдмреЛрдВ рдореЗрдВ рднреА рд╣реИ (рд▓реЗрдХрд┐рди рдпрд╣ рдЧрд▓рдд рд╣реИ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЦрдЯрдЦрдЯрд╛рдирд╛ рдПрдХ рдХреЙрдорд░реЗрдб рд╣реИ, рдЬреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрдВрдЬреВрд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
- рд╕рдВрд╕реНрдХрд░рдг
рдлреЗрдбреЛрд░рд╛ / рд╕реЗрдВрдЯреЛрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ, рдЖрдЬ рдХреЗ рд▓рд┐рдП рдЪрд░рдо рджрд╕реНрддрдХ 0.63 рд╣реИред UDP рдХреМрди рдЪрд╛рд╣рддрд╛ рд╣реИ - 0.70 рдкреИрдХреЗрдЯ рджреЗрдЦреЗрдВред - рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлреЗрдбреЛрд░рд╛ / CentOS рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдпрд╣ рд░реЗрдЦрд╛ рдЧрд╛рдпрдм рд╣реИ ред рд╣рд╛рде рд╕реЗ рдЬреЛрдбрд╝реЗрдВ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред - рдордзреНрдпрд╛рдВрддрд░
рдпрд╣рд╛рдБ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЪреБрдирдирд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд┐рдХ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдФрд░ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХрд╛ рдмреЙрдЯ-рд╕реНрдХреИрдирд░ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ (рдФрд░ 146% рдЗрд╕реЗ рд╕реНрдХреИрди рдХрд░реЗрдЧрд╛)ред - рд╕реНрдЯрд╛рд░реНрдЯ / рд╕реНрдЯреЙрдк / рдХрдорд╛рдВрдбред
рдпрджрд┐ рдХрдорд╛рдВрдб рдПрдХ рд╣реИ - рддреЛ рдХрдорд╛рдВрдб, рдпрджрд┐ рджреЛ - рддреЛ start_command + stop_commandред
рдпрджрд┐ рдЖрдк рдХреЛрдИ рдЧрд▓рддреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦрдЯрдЦрдЯрд╛рддреЗ рд░рд╣реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред - рдЖрджреНрдп
рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдпреВрдбреАрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдореИрдВрдиреЗ 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 рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд┐рдпрдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдЗрд╕ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╣рд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░ рдХреЛ рдЦреЛрд▓рдирд╛ рд╣реИред
Iptables рдореЗрдВ рди рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╣рд╛рдВ рдкрд╣рд▓реЗ рдХреБрдЫ рдбрд╛рд▓рдирд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд▓реЛрдЧ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ) рд╣рдо рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдВрдЧреЗ:
- рд╕реЗрдВрдЯреЛрд╕ / рдлреЗрдбреЛрд░рд╛ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╣рд▓рд╛ рдирд┐рдпрдо ("рдЬреЛ рдирд┐рд╖рд┐рджреНрдз рдирд╣реАрдВ рд╣реИ - рдЕрдиреБрдорддрд┐ рд╣реИ") рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
- рдФрд░ рдЕрдВрддрд┐рдо рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рдкрд░рд┐рдгрд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
*filter :INPUT DROP [0:0] ... #-A INPUT -j REJECT --reject-with icmp-host-prohibited
рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, DROP рдХреЗ рдмрдЬрд╛рдп REJECT рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди DROP рдХреЗ рд╕рд╛рде, рдмреЙрдЯреНрд╕ рдХреЛ рдЕрдзрд┐рдХ рдордЬрд╝рд╛ рдЖрдПрдЧрд╛ред
3. рдЧреНрд░рд╛рд╣рдХ
рдЗрд╕ рдЬрдЧрд╣ рдореЗрдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк (рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ), рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдХрд┐рд╕реА рднреА рд╕рдореБрджреНрд░ рддрдЯ рд╕реЗ, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рднреА рдЙрдкрдХрд░рдг рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрдИ рдЧреНрд░рд╛рд╣рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рд╣реИ "рд╕рдм рдХреБрдЫ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╣реИ"ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдФрд░ рдЕрдм рдореЗрд░реА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрд▓рд╛рдЗрдВрдЯ рдЪреБрдирддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдкреИрдХреЗрдЯ рдХреЗ рдмреАрдЪ рджреЗрд░реА рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдВ, рд╕рдореБрджреНрд░ рддрдЯ рдФрд░ рд╕рдореБрджреНрд░ рддрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдФрд░ 100 рдореЗрдЧрд╛рдмрд┐рдЯреНрд╕ рдХрднреА рднреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЯ рдЗрд╕ рд╕реНрдерд╛рди рд╕реЗ рд╕рд╣реА рд╕рдордп рдкрд░ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдЖрддреЗ рд╣реИрдВред
рдФрд░ рд╣рд╛рдБ - рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рджреЗрд░реА рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯрд╛рдЗрдордЖрдЙрдЯ - рдмреЙрдЯреНрд╕ рдкрд░ рд╣рдорд▓рд╛ рдХрд░реЗрдВрдЧреЗ, рдереЛрдбрд╝рд╛ - рд╕рд╛ рдЧреНрд░рд╛рд╣рдХ рд╕рдордп рдкрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдмрд╣реБрдд рджреЗрд░реА рд╣реЛ рд░рд╣реА рд╣реИ - рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдордп рдкрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрд╛ рдмреЗрд╡рдХреВрдлреЛрдВ рдХрд╛ рд╕рдВрдШрд░реНрд╖ рд╣реЛрдЧрд╛ ("рд░реЗрдХ" рджреЗрдЦреЗрдВ), рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ - рдкреИрдХреЗрдЯ рдЗрдВрдЯрд░рдиреЗрдЯ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВрдЧреЗред
рдЯрд╛рдЗрдордЖрдЙрдЯ = 5 рдПрд╕ рдХреЗ рд╕рд╛рде, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрд░реА = 100. 500 рдореА
рд╡рд┐рдВрдбреЛрдЬ
рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ, рд▓реЗрдХрд┐рди Google рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджрд╕реНрддрдХ-рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рдлреА nontrivial рд╣реИред рдРрд╕рд╛ рд╕реАрдПрд▓рдЖрдИ рджреЗрд░реА, рдЯреАрд╕реАрдкреА - рдФрд░ рдмрд┐рдирд╛ рдзрдиреБрд╖ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдБ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ ред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдореЗрд░рд╛ Google рдПрдХ рдХреЗрдХ рдирд╣реАрдВ рд╣реИред
рд▓рд┐рдирдХреНрд╕
рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ:
dnf install knock -y knock -d <delay> <dst_ip> 11111 22222 33333
MacOS
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдкреЛрд░реНрдЯ рдХреЛ рд╣реЛрдордмреНрд░реЗ рд╕реЗ рд░рдЦрд╛ рдЬрд╛рдП:
brew install knock
рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдбреНрд░рд╛ рдХрд░реЗрдВ рд╢рд░реАрд░ рд╢рд░реНрдЯ рдлрд╛рд░реНрдо рдХреЗ рдХрдорд╛рдВрдбрд░:
#!bin/sh knock -d <delay> <dst_ip> 11111 22222 33333
рдЖрдИрдУрдПрд╕
рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдиреЙрдХрдСрдирдбреА (рд╕реНрдЯреЛрд░ рд╕реЗ рдореБрдХреНрдд) рд╣реИред
рдПрдВрдбреНрд░реЙрдпрдб
"рдиреЙрдХ рдСрди рдкреЛрд░реНрдЯреНрд╕"ред рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рд┐рд░реНрдл рдХрд╛рдоред рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛рдлреА рдЙрддреНрддрд░рджрд╛рдпреА рд╣реИрдВред
Habr рдкрд░ рдкреБрдирд╢реНрдЪ рдорд╛рд░реНрдХреЗрдб, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рднрдЧрд╡рд╛рди рдЙрд╕реЗ рдХрд┐рд╕реА рджрд┐рди рдЖрд╢реАрд░реНрд╡рд╛рдж рджреЗрддреЗ рд╣реИрдВ ...
UPD1 : рдПрдХ рдЕрдЪреНрдЫреЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж , рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдорд┐рд▓рд╛ред
UPD2 : рдПрдХ рдФрд░ рдЕрдЪреНрдЫреЗ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдпрд╛рдж рдХрд┐рдпрд╛ рдХрд┐ рдирдП рдирд┐рдпрдореЛрдВ рдХреЛ iptables рдХреЗ рдЕрдВрдд рдореЗрдВ рд░рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди - рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред