рд╢реБрдн рджреЛрдкрд╣рд░
рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдорд┐рдХрд░реЛрдЯрд┐рдХ рд░рд╛рдЙрдЯрд░ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд┐рдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджреНрджреЗрд╢реНрдп: рд▓рдХреНрд╖реНрдп рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ "рдЪрдмрд╛рдпрд╛" рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд▓реЙрдЧ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рд╛рдзрди: rsyslogd v8 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рдирдпрд╛ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд╢рд╛рдпрдж рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ v7 рдкрд░ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╣рдореЗрдВ рдПрдХ рдбреАрдмреАрдПрдордПрд╕ рдХреА рднреА рдЬрд░реВрд░рдд рд╣реИ, рдореИрдВрдиреЗ рдорд╛рд░реАрджрдм рдХреЛ рдЪреБрдирд╛ред рдбреЗрдЯрд╛рдмреЗрд╕ рд╡реГрджреНрдзрд┐ рд▓реЙрдЧ рдХрд┐рдП рдЧрдП рдирд┐рдпрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдбреНрд░рд╛рдЗрд╡ рдХрд╛ рдЖрдХрд╛рд░ рдЖрдкрдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд╣реИ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 30-40 рдирд┐рдпрдо рд▓реЙрдЧ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬреЛ рдкреНрд░рддрд┐ рджрд┐рди рд▓рдЧрднрдЧ 1200 рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рд╕реВрдЪрдХрд╛рдВрдХ рд╕рд╣рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╣реАрдиреЗ рдХреЗ рджреМрд░рд╛рди, рдпрд╣ рдмрдврд╝рдХрд░ 3.8 рдЬреАрдмреА рд╣реЛ рдЧрдпрд╛ред
рдпрд╛рдВрддреНрд░рд┐рдХреА: рд░реВрдЯрд░ рдпреВрдбреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЙрдЧ рднреЗрдЬрддрд╛ рд╣реИред рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, rsyslog рд╕рд░реНрд╡рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рддрд╛рд░ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ, рдПрдХ SQL рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ DBMS рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред рд╕рдореНрдорд┐рд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП DBMS, рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдлрд╛рдИ рдФрд░ рдкреГрдердХреНрдХрд░рдг рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ rsyslog рдореЗрдВ рдкрд╛рд░реНрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред
RSYSLOG рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрдкрд╛рджрди /etc/rsyslog.conf
рд╡рд╣рд╛рдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
module(load="ommysql") module(load="imudp") input(type="imudp" port="514")
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ 514 рдпреВрдбреАрдкреА рдкреЛрд░реНрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВред
рдорд┐рдХрд░реЛрдЯрд┐рдХ рдХреА рд▓реЙрдЧ рд▓рд╛рдЗрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
20180927155341 BLOCKSMKNETS forward: in:ether6 - LocalTORF out:VLAN55 - RT_INET, src-mac 00:15:17:31:b8:d7, proto TCP (SYN), 192.168.0.234:2457->192.168.6.14:65535, len 60
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдФрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЪрдпрди рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
20180927155341 ether6 VLAN5 192.168.0.234 2457 192.168.6.14 65535 00:15:17:31:b8:d7 TCP SYN forward BLOCKSMKNETS 60
рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ rsyslog рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рддрд░рд╣ рдХреА рд░реЗрдЦрд╛ рдирд╣реАрдВ рдорд┐рд▓реАред рд░реВрдкрд▓реЙрдЧ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ POSIX ERE / BRE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд▓реБрдХрд╣реЗрдб рдпрд╛ рд▓реБрдХрд╣реИрдВрдб рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреЛрд░реНрдЯ рдХреЛ рдкрддреЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЗрд╕рдореЗрдВ рдФрд░ рдмрд╛рд╣рд░ рд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо:ред рдмрд╕ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдХреБрдЫ рд╕реНрдкреЛрд░реНрдЯ рдФрд░ рдбрдкреЛрд░реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЧрд╛рдпрдм рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдерд╛:
20180927155341 in:ether6 out:VLAN5 192.168.0.234:2457 192.168.6.14:65535 00:15:17:31:b8:d7 TCP (SYN) forward BLOCKSMKNETS 60
рдХреИрд╕реЗ rsyslog рдирд┐рдпрдорд┐рдд рдкрдХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░ рдкреНрд░рд▓реЗрдЦрди рд╣реИред
рдЕрдВрддрд┐рдо рд░реВрдк рдореЗрдВ, Mikrotik /etc/rsyslog.d/20-remote.conf рд╕реЗ рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
$template tpl_traflog,"insert into traflog.traffic (datetime, inif, outif, src, dst, smac, proto, flags, chain, logpref, len) values ('%timereported:::date-mysql%', '%msg:R,ERE,0,DFLT,0:in:[a-zA-Z]+[0-9]+|in:<[a-zA-Z]+-[a-zA-Z]+>--end%', '%msg:R,ERE,0,BLANK,0:out:[a-zA-Z]+[0-9]+|out:<[a-zA-Z]+-[a-zA-Z]+>--end%', '%msg:R,ERE,0,DFLT,0:([0-9]+\.){3}[0-9]+[:]?([0-9]+)?--end%', '%msg:R,ERE,0,DFLT,1:([0-9]+\.){3}[0-9]+[:]?([0-9]+)?--end%', '%msg:R,ERE,0,BLANK:([0-f]+:){5}[0-f]+--end%', '%msg:R,ERE,0,BLANK:\b[AX]{3,4}\b--end%', '%msg:R,ERE,0,BLANK:\([AZ]+\)|\(([AZ]+\,){1,3}[AZ]+\)--end%', '%msg:R,ERE,0,DFLT:[ax]+--end%', '%msg:F,32:2%', '%msg:R,ERE,0,DFLT:[0-9]+$--end%' )",SQL if ($fromhost-ip == '192.168.0.230') and ($syslogtag contains "firewall") then {action(type="ommysql" server="localhost" serverport="3306" db="traflog" uid="rsyslogger" pwd="rsyslogger" template="tpl_traflog") stop}
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯ (рдЯреЗрдореНрдкрд▓реЗрдЯ) рдХрд╛ рд╡рд░реНрдгрди DBMS рдореЗрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SQL рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИред
рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╡рд╣ рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрдм рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реЛрдЧреА, рдЕрд░реНрдерд╛рдд, рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбред
рд╕реНрдерд┐рддрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ: рдпрджрд┐ рд▓реЙрдЧ рд╕реНрд░реЛрдд = 192.168.0.230 (
if ($fromhost-ip == '192.168.0.230')
) рдФрд░ рдпрджрд┐ msg рд▓рд╛рдЗрди рдореЗрдВ "рдлрд╝рд╛рдпрд░рд╡реЙрд▓" (рдФрд░ ($ sysloggag рдореЗрдВ "рдлрд╝рд╛рдпрд░рд╡реЙрд▓") рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде ommysql (
then {action(type="ommysql" server="localhost" serverport="3306" db="traflog" uid="rsyslogger" pwd="..."
) рд╣рдо рдЯреЗрдореНрдкрд▓реЗрдЯ tpl_traflog (
template="tpl_traflog")
), рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рд▓рд╛рдЗрди рдХреА рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ
stop}
(
stop}
)ред
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдпрд╣ рдЗрдВрдЯрд░рдлреЗрд╕ рдпрд╛ рд▓реЙрдЧ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдХреБрдЫ рдФрд░ред рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗ, рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ, рдПрдХ рдирдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рджреЛ рдирдИ рд╢рд░реНрддреЗрдВ рдЬреЛрдбрд╝реЗрдВ:
$template tpl_traflog_test,"%timereported:::date-mysql% %msg:R,ERE,0,DFLT,0:in:[a-zA-Z]+[0-9]+|in:<[a-zA-Z]+-[a-zA-Z]+>--end% %msg:R,ERE,0,BLANK,0:out:[a-zA-Z]+[0-9]+|out:<[a-zA-Z]+-[a-zA-Z]+>--end% %msg:R,ERE,0,DFLT,0:([0-9]+\.){3}[0-9]+[:]?([0-9]+)?--end% %msg:R,ERE,0,DFLT,1:([0-9]+\.){3}[0-9]+[:]?([0-9]+)?--end% %msg:R,ERE,0,BLANK:([0-f]+:){5}[0-f]+--end% %msg:R,ERE,0,BLANK:\b[AX]{3,4}\b--end% %msg:R,ERE,0,BLANK:\([AZ]+\)|\(([AZ]+\,){1,3}[AZ]+\)--end% %msg:R,ERE,0,DFLT:[ax]+--end% %msg:F,32:2% %msg:R,ERE,0,DFLT:[0-9]+$--end%\n" if ($fromhost-ip == '192.168.0.230') then {action(type="omfile" file="/var/log/remote/192.168.0.230.log" )} if ($fromhost-ip == '192.168.0.230') then {action(type="omfile" file="/var/log/remote/192.168.0.230.log" template="tpl_traflog_test" ) stop}
рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВред
Tpl_traflog_test рдЯреЗрдореНрдкрд▓реЗрдЯ tpl_traflog рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди SQL INSERT рдХреЗ рдмрд┐рдирд╛ред
рдкрд╣рд▓реА рд╢рд░реНрдд рдлрд╝рд╛рдЗрд▓ /var/log/remote/192.168.0.230.log рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрд╕рд╛рдзрд┐рдд рд▓рд╛рдЗрди% msg% рдЬреЛрдбрд╝рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рджреВрд╕рд░реА рд╕реНрдерд┐рддрд┐ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕реНрдб рд▓рд╛рдЗрди рдЬреЛрдбрд╝рддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛рдмреЗрд╕ рддреИрдпрд╛рд░ рдХрд░реЗрдВред
рд╣рдо рдПрдХ DB рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
рд╣рдо DBMS рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдХрдо рдХрд░ рджреЗрдВрдЧреЗ, рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдорд╛рдирдХ рд╣реИред
рд╣рдо mysql рдХрдВрд╕реЛрд▓ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
рддрд╛рд▓рд┐рдХрд╛ рддреИрдпрд╛рд░ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИред
рдЕрдм рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдЬреЛрдбрд╝реЗрдВ, рдпрд╣ рд╡рд╣ рдХрд░реЗрдЧрд╛ рдЬреЛ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдмрдВрджрд░рдЧрд╛рд╣ рд╕реЗ рдкрддреЗ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╕рд╛рдл рдХрд┐рдпрд╛, рдХреЛрд╖реНрдардХ рдХреЛ рдзреНрд╡рдЬ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛:
REGEXP_REPLACE рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ (рдирд┐рдпрдорд┐рдд рд╕реАрдЬрди) рдХреЗ рдмрд╛рдж рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдмрд╕ рд╡рд╣реА рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкрд╛рддрд╛ рд╣реИред
рдЖрдЗрдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдбрд╛рд▓реЗрдВ, рдХрд┐ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХреИрд╕реЗ рд╣реЛрдЧрд╛:
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ:
select * from tarffic;
рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рд╣реИ, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВред
рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдЬреЛрдбрд╝реЗрдВред рдореИрдВ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, mysql рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬреЙрдЗрдирд┐рдВрдЧ рдлрд╝реАрд▓реНрдбреНрд╕ рд╡рд╛рд▓реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдХреНрд╡реЗрд░реА рдХреЗрд╡рд▓ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ (рдпрд╛ рдХреНрдпрд╛ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ?)ред рдпрджрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдХрд░реЗрдВред
рдореБрдЭреЗ рдЕрдХреНрд╕рд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдпрд╣ рд╕реВрдЪрдХрд╛рдВрдХ рдЬреЛрдбрд╝рд╛:
рд╣реЛ рдЧрдпрд╛ред
рдЕрдм рдЖрдкрдХреЛ рд░рд╛рдЙрдЯрд░ рдкрд░ рднреЗрдЬрдиреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рджреВрд░рд╕реНрде рд▓реЙрдЧ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдЙрд╕ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░реЗрдВ, рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд▓реЙрдЧ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ, 24 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрд╕рд░реНрдЧ рди рдЬреЛрдбрд╝реЗрдВред
рдорд┐рдХрд░реЛрдЯрд┐рдХ рдХрдВрд╕реЛрд▓ рдореЗрдВ, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
/system logging action set 3 remote=192.168.0.94 src-address=192.168.0.230 add name=remote2 remote=192.168.0.19 syslog-facility=local6 target=remote /system logging add action=remote topics=error,account,critical,event,info add action=remote2 topics=firewall /ip firewall filter ... add action=drop chain=input comment="drop ssh brute forcers" dst-port=22,8291 log=yes log-prefix=DROP_SSH_BRUTE protocol=tcp src-address-list=ssh_blacklist ...
рдЬрд╣рд╛рдБ 192.168.0.230 рд░рд╛рдЙрдЯрд░ рдХрд╛ рдкрддрд╛ рд╣реИ, 192.168.0.19 рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ рд╣реИ, рдФрд░ 192.168.0.94 рдПрдХ рдФрд░ рд▓реЙрдЧ рд╕рд░реНрд╡рд░ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдорд┐рдХрд░реЛрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рд▓реЙрдЧ рдкрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рд╣рдореЗрдВ рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░рд╛ рд╕реЗрдЯрдЕрдк рд░рд┐рдореЛрдЯ 2 рд╣реИред
рдЕрдЧрд▓рд╛, рджреЗрдЦреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ:
tail -f /var/log/remote/192.168.0.230.log
рд░рд╛рдЙрдЯрд░ рд╕реЗ рд▓рд╛рдЗрдиреЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓реА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЗ рдирд┐рдпрдо рдХреЛ рдЕрдХреНрд╕рд░ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдХреБрдЫ рдлрд╝реАрд▓реНрдб рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рдЕрдиреБрдХреНрд░рдо рдбреЗрдЯрд╛рдЗрдо, рдЗрдирдЗрдлрд╝, рдЖрдЙрдЯрдлрд╝рд┐рдЯ, src, dst, smac, рдкреНрд░реЛрдЯреЛ, рдлрд╝реНрд▓реИрдЧреНрд╕, рдЪреЗрди, рд▓реЙрдЧрд░рдлрд╝, рд▓реЗрди рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд▓реЙрдЧрд░ рдХреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, DLFT рдХреЗ рд╕рд╛рде BLANK рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реВрдиреНрдпрддрд╛ рдХреЗ рдмрдЬрд╛рдп, рдХреБрдЫ рдкрддреНрд░ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ, рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдВред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдирд┐рдпрдорд┐рдд рд╢реЗрдбреНрдпреВрд▓ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрджрд┐ рд╕рдм рдХреБрдЫ рдЬреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рддреЛ рдкрд░реАрдХреНрд╖рдг рдХреА рд╢рд░реНрддреЛрдВ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВред
рдЖрдкрдХреЛ рдиреАрдЪреЗ /etc/rsyslog.d/ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░ рдЪрд▓рд╛рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ 50-default.conf рдХрд░ рджрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд░рд┐рдореЛрдЯ рд▓реЙрдЧ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд▓реЙрдЧ / рд╡рд░реНрдЬрди / рд▓реЙрдЧ / рдореИрд╕реЗрдЬ рдореЗрдВ рди рдбрд╛рд▓рд╛ рдЬрд╛рдПред
рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВред
рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкреВрд░реНрдг рд╣реЛрдиреЗ рддрдХ рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВред рддрдм рд╣рдо рдЪрдпрди рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рд╢реНрди:рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЖрдХрд╛рд░ рдФрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП: MariaDB [traflog]> select table_schema as "database", round(sum(data_length + index_length)/1024/1024,2) as "size Mb", TABLE_ROWS as "count rows" from information_schema.tables group by table_schema; +
рд▓рдЧрднрдЧ 4GB рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ рдмрдврд╝ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓реЙрдЧ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЧреБрдгреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рд▓реЙрдЧ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛рд▓реЙрдЧ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ, рдХреБрдЫ рдирд┐рдпрдо рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХрд┐рддрдиреЗ рдХреБрд▓ рдЙрдкрд╕рд░реНрдЧ рд╣реИрдВ? рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдирд┐рдпрдореЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ?:
MariaDB [traflog]> select logpref,count(logpref) from traffic group by logpref order by count(logpref) desc; +
ACCEPT_TORF_INET рдкреНрд░рдореБрдЦ рд╣реИ, рдЗрд╕ рдЙрдкрд╕рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдЖрдк рд╣рдорд╛рд░реЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЧрдП рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдкреЛрд░реНрдЯ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╕рдордп рдЖ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреАред рдмрдЧ рдкрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдбреЗрдЯрд╛ рд╣реИред
Smtp рднрд╛рд▓рд╛ рдиреЗрддрд╛рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдЬ рдХрд┐рд╕рдиреЗ smtp рд╕рд░реНрд╡рд░ рдХреЛ рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
MariaDB [traflog]> select src,count(dport) from traffic where logpref='SMTP_DNAT' and datetime > '2018101600000000' group by src order by count(dport) desc limit 10; +
рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдиреЛрдб 191.96.249.92 рдЖрдЬ рд╡рд┐рдЬреЗрддрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗ рдЕрднреА рднреА рдХрд┐рди рдирд┐рдпрдореЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:
MariaDB [traflog]> select src,dport,count(dport),logpref from traffic where src='191.96.249.92' group by logpref order by count(dport) desc; +
рдпрд╣ рдХреЗрд╡рд▓ smtp, ~ 1% рд╣рд┐рдЯ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдпрд╛ рдХреБрдЫ рдХрдЪрд░рд╛ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдореЗрдВ рдорд╛рд╣рд┐рд░ рд╣реИ, рдмрд╛рдХреА рд╕реНрдирд╛рдирд╛рдЧрд╛рд░ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ред
рдЕрдиреБрд░реЛрдз рдореЗрдВ 10 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрд╛, рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╕реВрдЪрдХрд╛рдВрдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЕрдиреБрд░реЛрдз рдХреЛ рд╕реБрдзрд╛рд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдорд╛рдирдХ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреЗрдВрдЪ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
рд╡реЗрдХреНрдЯрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдЖрдк рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!
рд╕рдВрджрд░реНрдн:рд░реБрдкрдПрд▓реЙрдЧ рдкреНрд░рд▓реЗрдЦрдирдордпрд╕реНрдХрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрдорд┐рдХрд░реЛрдЯрд┐рдХ рд▓реЙрдЧрд┐рдВрдЧ рдкреНрд░рд▓реЗрдЦрдирд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП LOR рд╕рдореБрджрд╛рдп рдХреЛ рдзрдиреНрдпрд╡рд╛рдж
редUPD.1рдЭрдВрдбреЗ рдлрд╝реАрд▓реНрдб рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЕрдм рдЖрдк SYN, рдлрд┐рди рдХреЛ рдкрдХрдбрд╝рдХрд░ рдХрдиреЗрдХреНрд╢рди рдЕрд╡рдзрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Rsyslog рдирд┐рдпрдорд┐рдд рдореЗрдВ рдХреБрдЫ рдХреАрдбрд╝реЗ рдлрд┐рдХреНрд╕реНрдб, рд╕рд╛рде рд╣реА mysql рдЯреНрд░рд┐рдЧрд░ред
рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдо рдбрд┐рдлреЙрдиреНрдХ: рдЕрдорд╛рдиреНрдп рдбреНрд░реЙрдкреНрд╕ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рднреА рдЕрдВрддрд┐рдо рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдЧрд┐рд░рд╛ рджреЗрддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рднреА рдиреЛрдбреНрд╕ рдЬреЛ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдХрдИ рдлрд┐рди рднреЗрдЬрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╣реИ?
рдореИрдВрдиреЗ рдПрдХ рдирд┐рдпрдо рдЬреЛрдбрд╝рд╛ рд╣реИ рдХрд┐ рдПрд╕реАрдХреЗ, рдлрд┐рди рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдЯреАрд╕реАрдкреА рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
SQL рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рддрд╣рдд, рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЛ рдЕрдВрддрд┐рдо рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдореЗрдВ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕рдордп рджрд┐рдЦрд╛рддреА рд╣реИ
рдХрдиреЗрдХреНрд╢рди_рд╕реВрдЪреА () DROP PROCEDURE IF EXISTS connections_list; DELIMITER // CREATE PROCEDURE connections_list() BEGIN DECLARE logid BIGINT UNSIGNED; DECLARE done INT DEFAULT FALSE; DECLARE datefin DATETIME; DECLARE datesyn DATETIME; DECLARE conntime TIME; DECLARE connsport INT; DECLARE conndport INT; DECLARE connsrc VARCHAR(21); DECLARE conndst VARCHAR(21); DECLARE cur CURSOR FOR SELECT id,datetime,src,sport,dst,dport FROM conn_syn_fin WHERE flags='SYN'; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE; DROP TABLE IF EXISTS conn_syn_fin; DROP TABLE IF EXISTS connless; CREATE temporary TABLE connless(datestart DATETIME,dateend DATETIME,duration TIME,src VARCHAR(21),sport INT,dst VARCHAR(21),dport INT); CREATE temporary TABLE conn_syn_fin (SELECT * from traffic WHERE datetime > now() - interval 5 minute and src in (select src from traffic where datetime > now() - interval 5 minute and logpref='TCP_FIN' and flags like '%FIN%') and (flags like '%SYN%' or flags like '%FIN%') order by id); OPEN cur; read_loop: LOOP FETCH cur INTO logid,datesyn,connsrc,connsport,conndst,conndport; IF done THEN LEAVE read_loop; END IF; set datefin=(SELECT datetime FROM conn_syn_fin WHERE id>logid and src=connsrc and sport=connsport and flags like '%FIN%' and dst=conndst and dport=conndport limit 1); set conntime=(SELECT timediff(datefin,datesyn)); INSERT INTO connless (datestart,dateend,duration,src,sport,dst,dport) value (datesyn,datefin,conntime,connsrc,connsport,conndst,conndport); END LOOP; CLOSE cur; select * from connless; END; // DELIMITER ;
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рджреЛ рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗред
Con_syn_fin рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ SYN рдФрд░ FIN рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИред
рдХрдиреЗрдХреНрд╢рди
рд░рд╣рд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ, рдЦреБрд▓реЗ рдФрд░ рдкреВрд░реНрдг, рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЦреБрд▓реЗ рдХреА рдЕрд╡рдзрд┐ рд╣реЛрддреА рд╣реИ, рдХреНрд░рдорд╢рдГ, рдирд╣реАрдВред
рдирдореВрдирд╛ рд╕рдордп рд╡рд░реНрддрдорд╛рди рд╕рдордп рд╕реЗ рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВред рдореЗрд░рд╛ рдЕрдиреБрд░реЛрдз рдзреАрдорд╛ рд╣реИред рдзреАрд░реЗ-рдзреАрд░реЗ рдпрд╣ рдХрд░реНрд╕рд░ рдЦреЛрдЬ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 10 рд░рд┐рдХреЙрд░реНрдб рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╣рд░ рддрд░рд╣ рд╕реЗ рдЧрддрд┐ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ src / sport / dst / dport рдХреЗ рд▓рд┐рдП рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдПрдХ рдХреЗ рд╕рдорд╛рди рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд░реНрдЧ рдорд╛рд╕реНрдЯрд░ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдХреЛ рдмреЗрд╣рддрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЙрд▓ рдХрдиреЗрдХреНрд╢рди_рд▓рд┐рд╕реНрдЯ (); MariaDB [traflog]> call connections_list(); +
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛рдПрдБ
con_syn_fin рдФрд░
conless рдмрдиреА рд░рд╣рддреА рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╕рдВрджрд┐рдЧреНрдз рдпрд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреБрд░рд╛рдиреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирдП рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдИ рдЧрд▓рддреА рд▓рдЧреЗ рддреЛ рд▓рд┐рдЦреЗрдВред