{= include("docs.util"); start_docs_page(docs.technical_manual.page_titles.newsletters); =}
![]() |
Sawmill Newsletter Feburary 15, 2009 |
#Software: Microsoft Internet Information Services 6.0 #Version: 1.0 #Date: 2009-02-05 04:59:59 #Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status 04:59:59 12.34.56.78 [4007]USER Administrator 331 0 04:59:59 12.34.56.78 [4007]PASS - 530 1326 04:59:59 12.34.56.78 [4007]USER Administrator 331 0 04:59:59 12.34.56.78 [4007]PASS - 530 1326 05:00:01 12.34.56.78 [4007]USER Administrator 331 0 05:00:01 12.34.56.78 [4007]PASS - 530 1326 05:00:01 12.34.56.78 [4007]USER Administrator 331 0 05:00:02 12.34.56.78 [4007]PASS - 530 1326 05:00:02 12.34.56.78 [4007]USER Administrator 331 0 05:00:02 12.34.56.78 [4007]PASS - 530 1326 05:00:03 12.34.56.78 [4007]USER Administrator 331 0 05:00:03 12.34.56.78 [4007]PASS - 530 1326 05:00:03 12.34.56.78 [4007]USER Administrator 331 0 05:00:03 12.34.56.78 [4007]PASS - 530 1326 |
# Only consider PASS lines as intrusions if (cs_method eq "PASS") then ( # Make sure the nodes we're going to use have been initialized v.password_attempt_times = ""; v.intrusion_reported_for_ip = ""; # Get the timestamp of the previous password attempt for the current user int last_password_attempt_for_this_user = @'v.password_attempt_times'{username}; # If the current timestamp matches the timestamp of the previous attempt, then this is an intrusion attempt if (date_time == last_password_attempt_for_this_user) then ( # If we've already reported this IP, don't do it again. if (!'v.intrusion_reported_for_ip'?{c_ip}) then ( # send email to admin@yourplace.com, from admin@yourplace.com, with a simple description in the subject, # and a longer description in the body. send_email("admin@yourplace.com", "admin@yourplace.com", "Subject: Password scan attempt on " . username . " from " . c_ip . "\r\n" . "To: admin@yourplace.com\r\n" . "\r\n" . "Sawmill has detected a password scan attempt on user " . username . " from IP address " . c_ip . ". There were multiple attempts to log in as " . username . " at " . date_time . ".", "smtp.yourplace.com"); # Remember that we have reported this IP @'v.intrusion_reported_for_ip'{c_ip} = true; ); # if intrusion not yet reported ); # if timestamp is the same # Remember the timestamp of this password attempt, for this username @'v.password_attempt_times'{username} = date_time; ); # if PASS |