рд▓рд┐рдирдХреНрд╕ рд╕реБрдЭрд╛рд╡ рд░ рдЪрд╛рд▓рд╣рд░реВ: рд╕рд░реНрднрд░, рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН

SSH/RDP/рдЕрдиреНрдп, рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ RTFM/spur рдорд╛рд░реНрдлрдд рд╕рдВрд╕рд╛рд░рдХреЛ рдХреБрдиреИ рдкрдирд┐ рдард╛рдЙрдБрдмрд╛рдЯ рдЖрдлреНрдиреЛ рд╕рд░реНрднрд░рдорд╛ рдкрд╣реБрдБрдЪрдХреЛ рд╕рд╛рде рдЖрдлреВрд▓рд╛рдИ, рдЖрдлреНрдирд╛ рдкреНрд░рд┐рдпрдЬрдирд╣рд░реВрд▓рд╛рдИ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ред

рд╣рд╛рдореАрд▓реЗ рд╣рд╛рддрдорд╛ рд░рд╣реЗрдХреЛ рдХреБрдиреИ рдкрдирд┐ рдЙрдкрдХрд░рдгрдмрд╛рдЯ VPN рд░ рдЕрдиреНрдп рдШрдгреНрдЯреА рд░ рд╕рд┐рдЯреНрдЯреА рдмрд┐рдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд░ рддреНрдпрд╕реЛрднрдП рддрдкрд╛рдИрд▓реЗ рд╕рд░реНрднрд░рд╕рдБрдЧ рдзреЗрд░реИ рд╡реНрдпрд╛рдпрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрджреИрдиред

рддрдкрд╛рдИрд▓рд╛рдИ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рдЫ рдареЛрдХреНрдХрд┐рдпреЛ, рд╕реАрдзрд╛ рд╣рд╛рдд рд░ рдХрд╛рдо рдХреЛ 5 рдорд┐рдиреЗрдЯред

"рд╕рдмреИ рдХреБрд░рд╛ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдЫ," рдЕрд╡рд╢реНрдп рдкрдирд┐ (рдорд╛ рдкрдирд┐ рд╣рд╛рдмреНрд░реЗ), рддрд░ рдЬрдм рдпреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд╛рдЧреА рдЖрдЙрдБрджрдЫ, рдпреЛ рдЬрд╣рд╛рдБ рд╕реБрд░реБ рд╣реБрдиреНрдЫ ...

рд╣рд╛рдореА рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ 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:

рдорд╛рдирд╛рдорд╛ рдкрдирд┐ рд╕рдмреИ рдХреБрд░рд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫ (рддрд░ рдпреЛ рдЧрд▓рдд рдЫ), рддрд░ knockd рдПрдХ рд╕рд╛рдереА рд╣реЛ рдЬреЛ рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рд╕рд╛рде рдзреЗрд░реИ рдХрдВрдЬреВрд╕ рдЫ, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдЗрдБ рдзреЗрд░реИ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреБ рдЖрд╡рд╢реНрдпрдХ рдЫред

  • рд╕рдВрд╕реНрдХрд░рдг
    Fedora/CentOS рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛, рдЖрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдкрдЫрд┐рд▓реНрд▓реЛ knockd 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

рдпрд╕рд▓реЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдЧрд░реНрдЫред

knockd рд▓реЗ INPUT рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рдирд┐рдпрдорд╣рд░реВ рдердкреЗрдХреЛ рд╣реБрдирд╛рд▓реЗ, рд╣рд╛рдореА рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреЗрдЫреМрдВред

рд░ рдпреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдмрдиреНрдж рдЧрд░реНрдиреБ рднрдиреЗрдХреЛ рд╕рдмреИ рд╣рд╛рд╡рд╛рд╣рд░реВрдорд╛ рдХрд╛рд░ рдЦреЛрд▓реНрдиреБ рд╣реЛред

iptables рдорд╛ рд╣рд░рд╛рдЙрди рдХреЛ рд▓рд╛рдЧреА рдкрд╣рд┐рд▓реЗ рдХреЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА (рдпрд╕ рдЬрд╕реНрддреИ рдорд╛рдиреНрдЫреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдиреБрд╣реЛрд╕реН) рдпрд╕рд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН:

  • рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд CentOS/Fedora рдорд╛ рдкрд╣рд┐рд▓реЛ рдирд┐рдпрдо ("рдХреЗ рдирд┐рд╖реЗрдз рдЧрд░рд┐рдПрдХреЛ рдЫреИрди рдЕрдиреБрдорддрд┐ рдЫ") рд╡рд┐рдкрд░рд┐рдд рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдЧрд░рд┐рдиреЗрдЫ,
  • рд░ рд╣рд╛рдореА рдЕрдиреНрддрд┐рдо рдирд┐рдпрдо рд╣рдЯрд╛рдЙрдБрдЫреМрдВред

рдкрд░рд┐рдгрд╛рдо рд╣реБрдиреБрдкрд░реНрдЫ:

*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibited

рддрдкрд╛рдИрд▓реЗ рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, DROP рдХреЛ рд╕рдЯреНрдЯрд╛ REJECT рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ DROP рдХреЛ рд╕рд╛рде рдЬреАрд╡рди рдмрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдЭ рд░рдорд╛рдЗрд▓реЛ рд╣реБрдиреЗрдЫред

3. рдЧреНрд░рд╛рд╣рдХ

рдпреЛ рдард╛рдЙрдБ рд╕рдмреИрднрдиреНрджрд╛ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдЫ (рдореЗрд░реЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ), рдХрд┐рдирдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рд╕рдореБрджреНрд░ рддрдЯрдмрд╛рдЯ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рдХреБрдиреИ рдкрдирд┐ рдЙрдкрдХрд░рдгрдмрд╛рдЯ рдкрдирд┐ рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдзреЗрд░реИ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВ рд╕реВрдЪреАрдмрджреНрдз рдЫрдиреН рд╕рд╛рдЗрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛, рддрд░ рдпреЛ рдПрдЙрдЯреИ рд╢реНрд░реГрдВрдЦрд▓рд╛рдмрд╛рдЯ рд╣реЛ "рд╕рдмреИ рдХреБрд░рд╛ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдЫред" рддреНрдпрд╕рдХрд╛рд░рдг, рдо рдпрд╣рд╛рдБ рд░ рдЕрд╣рд┐рд▓реЗ рдореЗрд░реЛ рдФрдВрд▓рд╛рдХреЛ рдЫреЗрдЙрдорд╛ рдХреЗ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рднрдиреЗрд░ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрдиреЗрдЫреБред

рдЧреНрд░рд╛рд╣рдХ рдЫрдиреМрдЯ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдмреАрдЪрдХреЛ рдврд┐рд▓рд╛рдЗ рд╡рд┐рдХрд▓реНрдкрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ рднрдиреЗрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд╣реЛ, рддреНрдпрд╣рд╛рдБ рд╕рдореБрджреНрд░ рддрдЯрд╣рд░реВ рд░ 100 рдореЗрдЧрд╛рдмрд┐рдЯрд╣рд░реВ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдЫрдиреН рдХрд┐ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рджрд┐рдЗрдПрдХреЛ рд╕реНрдерд╛рдирдмрд╛рдЯ рд╕рд╣реА рд╕рдордпрдорд╛ рд╕рд╣реА рдХреНрд░рдордорд╛ рдЖрдЗрдкреБрдЧреНрдЫрдиреН рднрдиреЗрд░ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЧрд░реНрджреИрдиред

рд░ рд╣реЛ, рдЧреНрд░рд╛рд╣рдХ рд╕реЗрдЯрдЕрдк рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдврд┐рд▓рд╛рдЗ рдЖрдлреИ рдЪрдпрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдзреЗрд░реИ рдЯрд╛рдЗрдордЖрдЙрдЯ - рдмрдЯреНрд╕рд▓реЗ рдЖрдХреНрд░рдордг рдЧрд░реНрдиреЗрдЫ, рдзреЗрд░реИ рдереЛрд░реИ - рдЧреНрд░рд╛рд╣рдХрд╕рдБрдЧ рд╕рдордп рд╣реБрдиреЗрдЫреИрдиред рдзреЗрд░реИ рдврд┐рд▓рд╛рдЗ - рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рдордпрдорд╛ рдмрдирд╛рдЙрдБрджреИрди рд╡рд╛ рддреНрдпрд╣рд╛рдБ рдореВрд░реНрдЦрд╣рд░реВрдХреЛ рджреНрд╡рдиреНрджреНрд╡ рд╣реБрдиреЗрдЫ ("рд░реЗрдХрд╣рд░реВ" рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН), рдзреЗрд░реИ рдереЛрд░реИ - рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рд╣рд░рд╛рдЙрдиреЗрдЫрдиреНред

рдЯрд╛рдЗрдордЖрдЙрдЯ = 5 рд╕реЗрдХреЗрдиреНрдбрдХреЛ рд╕рд╛рде, рдврд┐рд▓рд╛рдЗ = 100..500ms рдПрдХ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╡рд┐рдХрд▓реНрдк рд╣реЛ

Windows

рдпреЛ рдЬрддрд┐рд╕реБрдХреИ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд▓рд╛рдЧреЗ рдкрдирд┐, рдпреЛ рдЧреБрдЧрд▓рдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдкрд╖реНрдЯ рдирдХ рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХрджрдореИ рддреБрдЪреНрдЫ рдЫреИрдиред рдпрд╕реНрддреЛ рдХрд┐ CLI рд▓реЗ рдврд┐рд▓рд╛рдЗ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, TCP - рд░ рдзрдиреБ рдмрд┐рдирд╛ред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпреЛ рдиреИ рд╣реЛред рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдореЗрд░реЛ 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

рдЖрдИрдУрдПрд╕

рдХрд╛рдо рдЧрд░реНрдиреЗ рд╡рд┐рдХрд▓реНрдк KnockOnD (рдирд┐:рд╢реБрд▓реНрдХ, рд╕реНрдЯреЛрд░рдмрд╛рдЯ) рд╣реЛред

Android

"рдкреЛрд░реНрдЯрд╣рд░реВрдорд╛ рджрд╕реНрддрдХ" рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╣реЛрдЗрди, рддрд░ рдпрд╕рд▓реЗ рдХрд╛рдо рдЧрд░реНрдЫред рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдзреЗрд░реИ рдЙрддреНрддрд░рджрд╛рдпреА рдЫрдиреНред

рд╣рд╛рдмреНрд░реЗрдорд╛ PS рдорд╛рд░реНрдХрдбрд╛рдЙрди, рдЕрд╡рд╢реНрдп рдкрдирд┐, рднрдЧрд╡рд╛рдирд▓реЗ рдЙрдирд▓рд╛рдИ рдХреБрдиреИ рджрд┐рди рдЖрд╢рд┐рд╖реН рджрд┐рдиреБрд╣реБрдиреНрдЫ ...

UPD1: рдзрдиреНрдпрд╡рд╛рдж рд░рд╛рдореНрд░реЛ рдорд╛рдиреНрдЫреЗ рдХреЛ рд▓рд╛рдЧреА рднреЗрдЯрд┐рдпреЛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЧреНрд░рд╛рд╣рдХ рд╡рд┐рдиреНрдбреЛрдЬ рдЕрдиреНрддрд░реНрдЧрддред
UPD2: рдЕрд░реНрдХреЛ рд░рд╛рдореНрд░реЛ рдорд╛рдиреНрдЫреЗ рдорд▓рд╛рдИ рдпрд╛рдж рджрд┐рд▓рд╛рдпреЛ рдХрд┐ iptables рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рдирдпрд╛рдБ рдирд┐рдпрдорд╣рд░реВ рд░рд╛рдЦреНрдиреБ рд╕рдзреИрдВ рдЙрдкрдпреЛрдЧреА рд╣реБрдБрджреИрдиред рддрд░ - рдпреЛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди