рд╢реБрдн рджреЛрдкрд╣рд░
рдкрд┐рдЫрд▓реЗ
рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рдореИрдВрдиреЗ рдмрд╛рдд рдХреА рдереА рдХрд┐ рдХреИрд╕реЗ, рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд┐рдХрд░реЛрдЯрд┐рдХ рд░рд╛рдЙрдЯрд░ рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдЖрдВрдХрдбрд╝реЛрдВ рдХрд╛ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рд╡рд╛рдкрд╕ рдХрдорд╛рдВрдб рднреЗрдЬрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
рдЙрджреНрджреЗрд╢реНрдп: рдкрд╛рд╕рд╡рд░реНрдб рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рд╣рдорд▓реЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рдХрд░реЛрдЯрд┐рдХ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдореЛрдВ рдХрд╛ рдЧрддрд┐рд╢реАрд▓ рдирд┐рдпрдВрддреНрд░рдгред
рдореАрдиреНрд╕: rsyslogd v8, crond, mariadb DBMS рдФрд░ рдорд┐рдХрд░реЛрдЯрд┐рдХ рд░рд╛рдЙрдЯрд░ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгред
рдпрд╛рдВрддреНрд░рд┐рдХреА: рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ SQL рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдВрдЪрд┐рдд рдФрд░ рдЕрджреНрдпрддрди рдЯреНрд░реИрдлрд╝рд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЖрдИрдкреА рдкрддреЗ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ, рдореБрдХреБрдЯ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХреА рдЧрдИ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рдХреНрд░реЛрдЯрд┐рдХ рдХрдорд╛рдВрдб рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИ рдФрд░, рдПрдХ ssh рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореМрдЬреВрджрд╛ рдЕрд╡рд░реБрджреНрдз рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рдкрддреЗ рдХреА рд╕реВрдЪреА рдХреЛ рдлрд┐рд░ рд╕реЗ рднрд░рддреА рд╣реИред
рдпрд╣ рдЦреБрд▓реЗ рдЯреАрд╕реАрдкреА рдкреЛрд░реНрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛ред рдпреЗ рдорд┐рдХрд░реЛрдЯрд┐рдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрдВрджрд░рдЧрд╛рд╣ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рднреЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╣рд╛рдВ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
- Ssh, telnet, web, winbox рд░реВрдЯрд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓
- рдореЗрд▓ рд╕реЗрд╡рд╛рдПрдБ smtp, pop, imap
- рдХреЛрдИ рднреА рд╡реЗрдм рд╕реЗрд╡рд╛
- рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдордПрд╕ рдЖрд░рдбреАрдкреА, рд╡реАрдПрдирд╕реА, рдЖрджрд┐ред
- рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдХреБрдЫ рдФрд░
рдЬрд╛рдирд╡рд░ рдмрд▓ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ SQL рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдирд╛рд╣рдорд╛рд░реЗ рд╕рдВрдЧрдарди рдореЗрдВ рдЧреИрд░-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд░реНрдорд┐рдирд▓ рд╕рд░реНрд╡рд░ рдмрд╛рд╣рд░ рддрдХ рдЦреБрд▓реЗ рд╣реИрдВред
DNAT рдорд┐рдХрд░реЛрдЯрд┐рдХ рдореЗрдВ рдореИрдВрдиреЗ рдЙрдкрд╕рд░реНрдЧ RDP_DNAT рдЬреЛрдбрд╝рдХрд░ рдЖрд╡рд╢реНрдпрдХ рдирд┐рдпрдореЛрдВ рдХреЗ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ред рдЗрд╕ рдЙрдкрд╕рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рд╣рдо рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗ:
MariaDB [traflog]> select src,dport,count(dport) as ' ' from traffic where datetime>now() - interval 1 day and logpref='RDP_DNAT' group by src having count(dport)>50; +
рдпрд╣ рдЕрдиреБрд░реЛрдз рдЖрдИрдкреА рдкрддреЗ (рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рдорд▓рд╛ рдЖ рд░рд╣рд╛ рд╣реИ) рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, src рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдореВрд╣рди рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЪрдпрди рдХреЗ рд╕рд╛рде, рд╡рд░реНрддрдорд╛рди рдкрд▓, рджрд┐рди рд╕реЗ рдЕрддреАрдд рдореЗрдВ 50 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рдеред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрди рдкрддреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "рдЕрдЪреНрдЫреЗ" рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реИ, рдПрдХ рдЖрдИрдкреА рд╕реЗ рдкреНрд░рддрд┐ рджрд┐рди 5-10 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВред
рдЕрдиреБрд░реЛрдз рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЗрдЬ, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рд▓рдВрдмрд╛ рд╣реИред рдЖрдЧреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрдо рдХреЙрдкреА рдХрд░реЗрдЧрд╛:
MariaDB [traflog]> create or replace view rdp_brute_day as select src, dport, count(dport) from traffic where datetime>now() - interval 1 day and logpref='RDP_DNAT' group by src having count(dport)>50; Query OK, 0 rows affected (0.23 sec)
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
MariaDB [traflog]> select src,count(dport) from rdp_brute_day; +
рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред
рд╣рдо dsa рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рдХрд░реЛрдЯрд┐рдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВLinux рдХрдВрд╕реЛрд▓ рдореЗрдВ, рд╣рдо dsa рдХреБрдВрдЬреА рдЬреЗрдирд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕ рдпреВрдЬрд░ рдХреЗ рддрд╣рдд, рдЬрд┐рд╕рдХреА рдУрд░ рд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЯрд╛рд╕реНрдХ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдпрд╛ рд╣реИ:
root@monix:~
рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рд╣рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА /root/.ssh/id_dsa.pub рдХреЛ рдорд┐рдХрд░реЛрдЯрд┐рдХ рдореЗрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рдмрд┐рд▓реНрд▓реА рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рд▓рд╛рдпрд╛, рдкреЛрдЯреАрди рд╡рд┐рдВрдбреЛ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╛рдЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛, рдЗрд╕реЗ рдмрдЪрд╛рдпрд╛ рдФрд░ рдЗрд╕реЗ рд╡рд┐рдВрдбрдмреЙрдХреНрд╕ рдлрд╛рдЗрд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рдирдмреЙрдХреНрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ред рд╕рд░реНрд╡рд░ рд╕реЗ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░, рдорд┐рдХрд░реЛрдЯрд┐рдХ рдиреЗ рдореБрдЭрд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рднреА рдорд╛рдВрдЧрд╛ред рдЬрдм рдореИрдВрдиреЗ рдмрдирд╛рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдСрдкрд░реЗрд╢рди рдХрд┐рдП, рддреЛ dsa рдХрдиреЗрдХреНрд╢рди рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдЧрднрдЧ рдХрд┐рдпрд╛
рдерд╛ ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ dsa рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рд╛рдЧрдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИ рдФрд░ рд╕рддреНрдпрд╛рдкрди рдЖрджреЗрд╢ рдЪрд▓рд╛ рдЧрдпрд╛:
root@monix:/
рд╕рдм рдареАрдХ рд╣реИред
рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдереА:
mikrotik_cmd_list(){ brute_src_list=$(mysql --skip-column-names traflog -e 'select src from rdp_brute_day') for src in $brute_src_list do echo "ip firewall address-list add address=$src list=rdp_banlist timeout=1d" done } mikrotik_cmd_list | ssh -T rsyslogger@192.168.0.230
рдПрдХ рд╣реА ssh рдХрдиреЗрдХреНрд╢рди рдХреЗ рднреАрддрд░ рд╕рднреА рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдлрдВрдХреНрд╢рди mikrotik_cmd_list () рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ brute_src_list рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ ip рдПрдбреНрд░реЗрд╕ рд╕реЗрд╡ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рдлрд┐рд░ рд▓реВрдк рдореЗрдВ рдпрд╣ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ Mikrotik рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдЬреЗрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЙрдЯрдкреБрдЯ рдХреЛ ssh рдореЗрдВ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд░реВрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб 1 рджрд┐рди рдХреЗ рд▓рд┐рдП ip рдкрддреЗ рдХреЛ rdp_banlist рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧреА, рдЗрд╕ рд╕рдордп рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдореЗрдВ рдПрдХ рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВрдореИрдВ rdp_banlist рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдпрд╛:
рд╡рд┐рдХрд▓реНрдк рдПрдХ: рдЙрдкрд╕рд░реНрдЧ RDP_DNAT рдХреЗ рд╕рд╛рде NAT рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде rdp_banlist рдЬреЛрдбрд╝реЗрдВред
add action=dst-nat chain=dstnat comment="..." dst-address=1.2.3.4 dst-port=12345 log=yes log-prefix=RDP_DNAT protocol=tcp src-address-list=\ !rdp_banlist to-addresses=192.168.200.181 to-ports=3389
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред рдпрд╣реА рд╣реИ, рд╣рдо рд╕рдм рдХреБрдЫ dnat рдХрд░рддреЗ рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ rdp_banlist рдореЗрдВ рдХреНрдпрд╛ рд╣реИред
рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ, рдкреНрд▓рд╕ рдФрд░ рдорд╛рдЗрдирд╕ рд╣реИред
рдкреНрд▓рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рддреБрд░рдВрдд рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдИрдкреА рдЕрдм рдЯреНрд░реИрдлреНрд▓реЙрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдЧрд╛ рдФрд░ рдПрдХ рджрд┐рди рдмрд╛рдж, рдЬрдм рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рдХрд▓реНрдк рджреЛ: rdp_banlist рдХреЛ рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдо рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдЬрд╣рд╛рдВ рд╣рдо рдкрд╣рд▓реЗ рддрд░реАрдХреЗ рд╕реЗ рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдЯреАрд╕реАрдкреА 3389 рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
add action=accept chain=forward comment="..." dst-port=3389 log=yes log-prefix=ACCEPT_RDP protocol=tcp src-address-list=\ !rdp_banlist to-ports=3389
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред рд╣рдо рдЙрд╕ рд╕реВрдЪреА рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдкреНрд▓рд╕ рдФрд░ рдорд╛рдЗрдирд╕ рднреА рд╣реИред
рдкреНрд▓рд╕ред рдЙрдкрд╕рд░реНрдЧ RDP_DNAT рдХреЗ рд╕рд╛рде рд▓реЙрдЧреНрд╕ рдХреЛ рдЯреНрд░реИрдлрд╝реНрд▓реЙрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рд╣рдорд▓реЗ рдХрд╛ рд╕рдВрдХреЗрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдЬрдм рдПрдХ рд╡рд┐рд╢реЗрд╖ рдореЗрдЬрдмрд╛рди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрдВрдз рдХреА рд╕рдордп рд╕реАрдорд╛ рдЬреЛ рдХрд┐ рдХреНрд░реВрд░ рдмрд▓ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЬрд╛рд░реА рд░рдЦрддреА рд╣реИ, рддреЛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЗрд╕реЗ рдЕрдЧрд▓реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдп рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рдлрд┐рд░ рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдз рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ DSTNAT рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдмрдХрд╡рд╛рд╕ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рдЕрд╕реНрдерд╛рдпреА рд╣реЛред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдирд┐рд░реНрдгрдп рдЖрдкрдХрд╛ рд╣реИ, рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдХреЛ рдЪреБрдирд╛: (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ), рдЪреВрдВрдХрд┐ рджреВрд╕рд░рд╛ рдПрдХ рдкрд╣рд▓реЗ рд╕реЗ рдЪрд╛рд▓реВ рдерд╛ рдФрд░ рдореИрдХреЗрдирд┐рдХреНрд╕ рдЕрд▓рдЧ рдереЗ, рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдХреНрд░рдорд┐рдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕реНрдЯреЗрдЬ 2, рд╕реНрдЯреЗрдЬ 2, рд╕реНрдЯреЗрдЬ 3 banlist ... рдареАрдХ рд╣реИ, рдЖрдкрдХреЛ рдмрд╛рдд рдорд┐рд▓ рдЬрд╛рдПрдЧреАред рдПрдХ рдкреБрд░рд╛рдиреА рдФрд░ рдмрд╣реБрдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ "рдЕрдЪреНрдЫреЗ" рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ "рдЦрд░рд╛рдм" рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реНрдЯреЗрдЬ 1 рдХреА рдЧрдгрдирд╛ рдХреА рдереАред
рдЕрдиреБрд╕реВрдЪрд┐рдд рдиреМрдХрд░реА crontabрдпрд╣ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рдХреНрд░реЙрд╕реНрдЯреИрдм рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдмрд╛рдХреА рд╣реИ:
root@monix:/root
рдРрд╕рд╛ рд░рд┐рдХреЙрд░реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд░ рдШрдВрдЯреЗ 12 рдорд┐рдирдЯ рдореЗрдВ рдЪрд▓рд╛ рджреЗрдЧрд╛ред
рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореИрдВрдиреЗ рдЖрдЬ рдЗрд╕ рдпрд╛рдВрддреНрд░рд┐рдХреА рдкрд░ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде, рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреВрд░рдХ рдФрд░ рд╕рд╣реА рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдирдП рд╕рд╛рд▓ рдХреА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдкрд░ рдЖрд░рд╛рдо
рд╕реЗ рд╕реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВ рд╣реВрдВред
рд╢рд╛рдпрдж рдпрд╣реА рд╕рдм рд╣реИред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдФрд░ рдирд╡ рд╡рд░реНрд╖ рдХреА рд╢реБрднрдХрд╛рдордирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рд╕рдВрджрд░реНрдн:
рдордпрд╕реНрдХрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрдорд┐рдХрд░реЛрдЯрд┐рдХ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдкреНрд░рд▓реЗрдЦрдирдбреЗрд╕рд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реА рд╕реНрдорд┐рд░рдиреЛрд╡ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред