рдЕрдЪреНрдЫреЗ рджрд┐рди, рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╢рд╛рд░реАрд░рд┐рдХ рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ, рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ, рдХреНрд▓рд╛рдЙрдб рдкрд░ рдХрд╛рдлреА рдЪрд░реНрдЪрд╛ рд╣реБрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Microsoft Azure рдореЗрдВ ред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдПрдХ рд╕реНрдерд╛рди рд╕реЗ рджреВрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрд╡реЗрджрди рдХреА рд╕рднреА рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЖрд╡реЗрджрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрд╛рд╣рд░реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрднреА-рдХрднреА рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдХреМрди рдЙрд╕рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдПрд╕рдИрдПрдо рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧрд░реАрдмреЛрдВ рдХреЗ рд▓рд┐рдП рдПрд╕рдИрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рддрдереНрдп рдХреА рдмрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╛рдХреНрдп рд╣реИред
рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:
- рд╕рднреА рдорд╢реАрдиреЛрдВ, рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░ Windows рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
- рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕реНрдЯреЗрд╢рди PSQuickGraph рдореЙрдбреНрдпреВрд▓ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рдкрд╛рдЗрд▓ рдФрд░ рд▓реЙрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рд▓рд┐рдВрдХ рдХрд╛ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдВ
рдЕрдкрдиреЗ рд╕рд░рд▓рддрдо рд░реВрдк рдореЗрдВ, рд▓реЙрдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рднрдпрд╛рдирдХ, рдорд╛рдереЗ, рд▓реЗрдХрд┐рди рдЖрдк рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рд▓реЙрдЧ рд░реЗрд╕ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛, рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рджреЛ рдмрд╛рд░ рд╕рдм рдХреБрдЫ рдХреЙрдкреА рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, "рдЕрд╢рд┐рд╖реНрдЯрддрд╛ рдФрд░ рдорд╛рдереЗ рдореЗрдВ" рднреА рд╡рд┐рдЪрд╛рд░ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдПрдВрдЧреЗ
$f = gc "C:\Temp\pfirewall_public.log" $regex = '^(?<datetime>\d{4,4}-\d{2,2}-\d{2,2}\s\d{2}:\d{2}:\d{2})\s(?<action>\w+)\s(?<protocol>\w+)\s(?<srcip>\b(?:\d{1,3}\.){3}\d{1,3}\b)\s(?<dstip>\b(?:\d{1,3}\.){3}\d{1,3}\b)\s(?<srcport>\d{1,5})\s(?<dstport>\d{1,5})\s(?<size>\d+|-)\s(?<tcpflags>\d+|-)\s(?<tcpsyn>\d+|-)\s(?<tcpack>\d+|-)\s(?<tcpwin>\d+|-)\s(?<icmptype>\d+|-)\s(?<icmpcode>\d+|-)\s(?<info>\d+|-)\s(?<path>.+)$' $log = $f | % { $_ -match $regex | Out-Null if ($Matches) { [PSCustomObject]@{ action = $Matches.action srcip = [ipaddress]$Matches.srcip dstport = $Matches.dstport tcpflags = $Matches.tcpflags dstip = [ipaddress]$Matches.dstip info = $Matches.info size = $Matches.size protocol = $Matches.protocol tcpack = $Matches.tcpac srcport = $Matches.srcport tcpsyn = $Matches.tcpsyn datetime = [datetime]$Matches.datetime icmptype = $Matches.icmptype tcpwin = $Matches.tcpwin icmpcode = $Matches.icmpcode path = $Matches.path } } } $f = gc "C:\Temp\pfirewall_public2.log" $log2 = $f | % { $_ -match $regex | Out-Null if ($Matches) { [PSCustomObject]@{ action = $Matches.action srcip = [ipaddress]$Matches.srcip dstport = $Matches.dstport tcpflags = $Matches.tcpflags dstip = [ipaddress]$Matches.dstip info = $Matches.info size = $Matches.size protocol = $Matches.protocol tcpack = $Matches.tcpac srcport = $Matches.srcport tcpsyn = $Matches.tcpsyn datetime = [datetime]$Matches.datetime icmptype = $Matches.icmptype tcpwin = $Matches.tcpwin icmpcode = $Matches.icmpcode path = $Matches.path } } } $l = $log + $log2 $g = new-graph -Type BidirectionalGraph $l | ? {$_.srcip -and $_.dstip} | % { Add-Edge -From $_.srcip -To $_.dstip -Graph $g | out-null } Show-GraphLayout -Graph $g
рджрд░рдЕрд╕рд▓, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдмрд╕ Windows рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд▓реЙрдЧ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рддреЛрдбрд╝рдХрд░ - рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рдПрдХ рд╡рд╕реНрддреБред рднрдЧрд╡рд╛рди рд░рд╛рдо рдХреЗ рд╕рд╛рде рдЙрд╕рдХрд╛ рднрд▓рд╛ рдХрд░реЗрдВ, рдорд░реЗрдВ рдирд╣реАрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд▓реЙрдЧ рд╣реИрдВ, рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╢реАрдиреЛрдВ рд╕реЗред рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдмрд╕ рд╕рдм рдХреБрдЫ рдПрдХ рдмрдбрд╝реЗ рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рдПрдХ рдЦреЛрдЬ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдХреЛрдиреЗ рдФрд░ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЦреИрд░, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк - рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рддреЛ, рд▓рдЧрднрдЧ, рдпрд╣ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ:

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдХрд╛рдо рдЖрдПрдЧрд╛ред