DDoS рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рдбрд╝рд╛рдИ рдХрд╛ рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рдПрдкрд┐рд╕реЛрдб

рдПрдХ рдпреБрд╡рдХ рдХреЛ рд╡рд┐рд╖рдпрдЧрдд рд╕рдВрд╕рд╛рдзрди рдкрд░ рд╢рдкрде рд▓реЗрдиреЗ рдХрд╛ рдмрд╣реБрдд рд╢реМрдХ рдерд╛ред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рдПрдХ рдмрд╛рд░ рд╡реЗ рд▓реЗ рдЧрдП, рдФрд░ рдирд┐рд░реНрд╡рд╕реНрддреНрд░ рдирд╣реАрдВ рд╣реБрдПред

рдпреБрд╡рдХ рдирд╛рд░рд╛рдЬ рдерд╛, рдФрд░ рдЙрд╕рдиреЗ рдмрджрд▓рд╛ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдкреИрд╕реЗ рдмрдЪрд╛рдП, рдЗрд╕реЗ рд▓рд┐рдпрд╛ рдФрд░ DDoS рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд░реВрд╕реА рд╕рдВрдШ рдореЗрдВ рдЖрдкрд░рд╛рдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рджрдВрдбрдиреАрдп рдХрд╛рд░реНрдпред

DDoS, рдЬрд┐рд╕рдореЗрдВ рдпреБрд╡рд╛ рд╡реНрдпрдХреНрддрд┐ рд╕рдВрдЪрдп рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдиреЗ рдмреЙрдЯреНрд╕ рдХреА рд╕реЗрдирд╛ рдХреЛ рдЙрд╕реА HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, picky рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдВрддреЛрд╖рдЬрдирдХ рдЦреЛрдЬ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдереЗ рдЬреЛ рдмрд╕ HTTP рд▓реЙрдЧ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗ рдФрд░ рдЙрди рдкрддреЗ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджреЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓реБрдирдкрд╛рд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЗрд╕ рдФрд░ рдЗрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рдеред рдХрд╛рдорд░реЗрдб рдореЗрдЯрдХреЗ рдПрдХ рдЖрдИрдкреА рдХреЛ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдФрд░ рдЖрдкрдХреЗ рд╡рд┐рдирдореНрд░ рдиреМрдХрд░ рдиреЗ рд╢реЗрд╖ рдмрдВрдзрди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

рдЬреЛ (рд╕рдВрднрд╡рддрдГ) рд╣реЗрдорд┐рдВрдЧреНрд╡реЗ рдХреЛ рдореВрд▓ рдореЗрдВ рдкрдврд╝рддреЗ рд╣реИрдВ рд╡реЗ рддреБрд░рдВрдд рдпрд╣рд╛рдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред рд╡рд╣рд╛рдВ рдЖрдк рдХреЛрдб рднреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдмрд╛рдХреА рд╕рднреА рдФрд░ рд╕рд┐рд░реНрдл рдЖрд▓рд╕реА рдХреЗ рд▓рд┐рдП - рдореИрдВ рдпрд╣рд╛рдВ рдЬрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдХреЛрдИ рдЪрд┐рддреНрд░ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдорд╛рдорд▓рд╛ рд╣реИ ...

log2ban



Log2ban рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдмреЙрдЯреНрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдиреБрд░реЛрдз рдЧреБрдгреЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдИрдкреА рдкрддреЗ рдФрд░ URL: "1.2.3.4/login.php") рд╕реЗ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрдм рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддреА рд╣реИ, рддреЛ рдбрд┐рдЯреЗрдХреНрд╢рди рдЯрд╛рдЗрдо рд╡рд┐рдВрдбреЛ рдХреЗ рднреАрддрд░, рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдХреЛ рдПрдХ рдмрд╛рд╣рд░реА рдХрдорд╛рдВрдб (BAN_IP_COMMAND) рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдкреИрдХреЗрдЯ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ "рдмреНрд▓реЙрдХрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ" рджреЗрдЦреЗрдВ)ред

Log2ban рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд╕рд░реНрд╡рд░ рд▓реЙрдЧ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд▓реЙрдЧ рдЖрд░реНрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ ipset рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд▓рдЧреНрди рд╣реИрдВ)ред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд▓реЙрдЧ рдкрдврд╝рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдкреВрдВрдЫ-рдПрдл" рдпрд╛ рдПрдХ рд╕рдорд╛рди рдХрдорд╛рдВрдб, рдЬреИрд╕рд╛ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрджреЗрд╢ EOF рднреЗрдЬрддрд╛ рд╣реИ, рддреЛ log2ban рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдХрдорд╛рдВрдб рдорд╛рдирдХ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рд▓реЙрдЧ 2рдмрд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓рдЯрдХ рдЬрд╛рдПрдЧреАред

рд╕рдорд╛рдпреЛрдЬрди


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Apache / Nginx рд▓реЙрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рдЪрд░ ACCESS_LOG_RECORD_FORMAT рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдЦреЛрдЬ рдирд┐рдпрдореЛрдВ рдХреЛ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреИрд░рд╛рдореАрдЯрд░ TOLERANCE_MARGIN (рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╣рд┐рдЯ рдХреА рд╕рдВрдЦреНрдпрд╛) рд╣реИред рджреВрд╕рд░рд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг WINDOW_SIZE (рд╕реНрд▓реЙрдЯреНрд╕ рдореЗрдВ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░) рдФрд░ SLOT_INTERVAL рд╣реИрдВред (рд╕реЗрдХрдВрдб рдореЗрдВ рд╕реНрд▓реЙрдЯ рдХрд╛ рдЖрдХрд╛рд░) рдПрдХ рдЫреЛрдЯрд╛ рдЕрдВрддрд░рд╛рд▓ рдФрд░ рдмрдврд╝реЗ рд╣реБрдП рдЖрдХрд╛рд░ рдХрд╛ рдЕрд░реНрде рд╣реИ рдмреЗрд╣рддрд░ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ (рдФрд░ рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди)ред

рдЖрдИрдбреА рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, create_server_hit_id рдлрд╝рдВрдХреНрд╢рди рдмрджрд▓реЗрдВред

рд▓реЙрдЧ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рд▓рдВрдШрди рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдХрд┐рдк рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реВрдЪреА рдЕрд╡рд░реБрджреНрдз рдХрд░рдирд╛


рд╕реВрдЪреА рд▓реЙрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рд▓реЙрдЧ рдХреЛ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЪрд▓рд╛рдПрдВ

python log2ban.py print (banned | allbanned)

рд╕рдВрдЧреНрд░рд╣рд┐рдд IP рдкрддреЛрдВ рдХреЛ stdout рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред "рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд" рдХреЗрд╡рд▓ рдирдП рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ (рдЖрдЦрд┐рд░реА рдкреНрд░рд┐рдВрдЯ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ), рдЬрдмрдХрд┐ "рдСрдмреЗрдВрдбреЗрдб" рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЖрдИрдкреА рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛, рдЪрд╛рд╣реЗ рд╡рд╣ рдкрд╣рд▓реЗ рдореБрджреНрд░рд┐рдд рд╣реЛ рдпрд╛ рди рд╣реЛред

рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж, IP рдкрддреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

python log2ban.py print (unbanned)

рдпрд╣ рдХрдорд╛рдВрдб рд╡рд░реНрддрдорд╛рди рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ IP рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ - DAYS_UNBAN рдЕрд╡рдзрд┐ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛ рджреЗрдЧрд╛ред

рдЙрддреНрдкрд╛рджрдХрддрд╛


log2ban рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рддреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд╡реЗрд░реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддреЗ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕реНрдерд┐рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдЬреИрд╕реЗ рдЪрд┐рддреНрд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╢реИрд▓реА рдкрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЖрдЧреЗ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рд░рд▓ рд▓реЙрдЧ рдкреНрд░рд╛рд░реВрдк (CSV) рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗрд▓реЙрдЧ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдПрдХреАрдХрд░рдг



рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбреЗрдмрд┐рдпрди рдирд┐рдЪреЛрдбрд╝ 6.0 рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд┐рдд рд╣реИ, рдЕрдиреНрдп рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред

Ipset рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant prepare
sudo module-assistant auto-install xtables-addons-source
depmod -a


рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
ipset -L


рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЧреИрд░-рдЦрд╛рд▓реА рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреНрд░реБрдЯрд┐рдпреЛрдВ 'рдореЙрдбреНрдпреВрд▓ ip_set рдирд╣реАрдВ рдорд┐рд▓рд╛', рддреЛ ipset рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП Googleред рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ ip_set рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

MongoDB, рдкрд╛рдпрдерди рдФрд░ рдкреАрдЖрдИрдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:


sudo apt-get install mongodb python-pip


рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

sudo pip install apachelog pexpect pymongo


Log2ban рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ:

git clone git://github.com/unicodefreak/log2ban.git


Log2ban.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред

ECHO_LOG_COMMAND = "tail -f /var/log/nginx/access.log"


/Etc/logrotate.d/nginx рдкрд░ рдирд┐рдореНрди рдкрд╛рда рдЬреЛрдбрд╝реЗрдВ:

/var/log/nginx/*log {
daily
rotate 10
missingok
notifempty
compress
sharedscripts
postrotate
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
/etc/init.d/log2ban stop
/etc/init.d/log2ban start
endscript
}


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

sudo mkdir /opt/log2ban
sudo cp log2ban/log2ban.py /opt/log2ban/
sudo cp log2ban/ipset-control.sh /opt/log2ban/
sudo cp log2ban/init-scripts/log2ban-debian.sh /etc/init.d/log2ban
sudo chmod +x /etc/init.d/log2ban
sudo chmod +x /opt/log2ban/ipset-control.sh


MongoDB рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
sudo /etc/init.d/mongodb start


Log2ban рдЪрд▓рд╛рдПрдБ

sudo /etc/init.d/log2ban start


рд░реВрдЯ рдХреНрд░реЛрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд░ 5 рдорд┐рдирдЯ рдореЗрдВ рдкрддреЗ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
*/5 * * * * /opt/log2ban/ipset_control.sh update


рдЗрд╕реЗ рдХреБрдЫ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рджреЗрдВред рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЖрдИрдкреА рдЕрд╡рд░реБрджреНрдз рд╣реИ:
sudo ipset -L


рдпрджрд┐ рд╕реВрдЪреА рд╕рддреНрдп рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ, рддреЛ рдЕрдВрддрд┐рдо рдЪрд░рдг рд░рд╣рддрд╛ рд╣реИ - iptables рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

-A INPUT -m set --match-set autoban src -j DROP

/etc/firewall.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

sudo /etc/init.d/networking restart


рд╕рдм рдХреБрдЫ, рдЖрдк рд╢реИрдВрдкреЗрди рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ ... рдФрд░ рдЕрдиреНрдп рдкреЗрдп рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдПред

Source: https://habr.com/ru/post/In134331/


All Articles