NGINX рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдХреНрд╖рдг - NAXSI

NAXSI рдХреНрдпрд╛ рд╣реИ?


NAXSI = N GINX A NTI X SS & S QL рдЗрдВрдЬреЗрдХреНрд╢рди
рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдпрд╣ NGINX рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝рд╛рдпрд░рд╡реЙрд▓ (WAF) рд╣реИ рдЬреЛ XSS, SQL рдЗрдВрдЬреЗрдХреНрд╢рди, CSRF, рд╕реНрдерд╛рдиреАрдп рдФрд░ рджреВрд░рд╕реНрде рдлрд╝рд╛рдЗрд▓ рд╕рдорд╛рд╡реЗрд╢рди рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЧрддрд┐ рдФрд░ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реИрдВред рдпрд╣ рдЗрд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ mod_security рдФрд░ Apacheред

NAXSI рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЙрдкрд░реЛрдХреНрдд рд╣рдорд▓реЛрдВ рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрдЪрд╛рд╡ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕реЗ рд╣рд╛рд▓рд╛рдд рд╣реИрдВ рдЬрдм WAF (рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирдХреНрд╕рд╕реА) рдорджрдж рдХрд░реЗрдЧрд╛:



рд╕реНрдерд╛рдкрдирд╛

рдЙрдмрдВрдЯреВ, рдбреЗрдмрд┐рдпрди, Netbsd, Freebsd : рдПрдХ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ ubunt 12.04 рдореЗрдВ рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ
apt-get install nginx-naxsi 


рдЕрдиреНрдп рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо:
рдпрджрд┐ рдкреИрдХреЗрдЬ рдЕрднреА рддрдХ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрд░реЛрддреЛрдВ рд╕реЗ nginx + naxsi рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ:
 wget http://nginx.org/download/nginx-xxxx.tar.gz wget http://naxsi.googlecode.com/files/naxsi-x.xx.tar.gz tar xvzf nginx-xxxx.tar.gz tar xvzf naxsi-x.xx.tar.gz cd nginx-xxxx/ 

(xxxx рдХреЗ рдмрдЬрд╛рдп - рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рд▓реЗрдВ)

рд╣рдо рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ libpcre рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ, https рдХреЗ рд▓рд┐рдП libssl), рдФрд░ рд╕рдВрдХрд▓рди:
 ./configure --add-module=../naxsi-x.xx/naxsi_src/ [    nginx] make make install 


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

NAXSI GET рдЕрдиреБрд░реЛрдз, HTTP рд╣реЗрдбрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдХреАрдЬрд╝) рдФрд░ рдирд┐рдпрдо рд╕реЗрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл POST рдЕрдиреБрд░реЛрдз рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рд╖реЗрдз рдирд┐рдпрдореЛрдВ рдХрд╛ рдореВрд▓ рд╕реЗрдЯ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди "рдЦрддрд░рдирд╛рдХ" рд╡рд░реНрдгреЛрдВ рдФрд░ sql рдХреАрд╡рд░реНрдб рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдирд┐рдпрдореЛрдВ рдХрд╛ рдпрд╣ рд╕реЗрдЯ рдХрд╛рдлреА рдХрдард┐рди рд╣реИ, рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП NAXSI рдХреЗ рдкрд╛рд╕ рд╕рдлреЗрдж рд╕реВрдЪрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рд╖рд┐рджреНрдз рд╡рд░реНрдгреЛрдВ (рдирд┐рдпрдореЛрдВ) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред

рдЕрдиреБрд░реЛрдз рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕рднреА рдирд┐рд╖реЗрдзрд╛рддреНрдордХ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╢реНрд╡реЗрддрд╕реВрдЪреА рд╡рд╛рд▓реЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде, рдФрд░ "рджрдВрдб" рдЕрдВрдХ рдХреА рдЧрдгрдирд╛ рдЫрд╣ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ: $ SQL, $ XSS, $ RFI, $ TRAVERSAL, $ EVADE, $ UPLOADред

рдпрджрд┐ "рджрдВрдб" рдЕрдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд╣рд▓реАрдЬ рдХреЗ рд╕реНрддрд░ рд╕реЗ рдКрдкрд░ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рдЦрддрд░рдирд╛рдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдирд┐рдбрдпреВрд▓ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдПрдХ рдЖрдВрддрд░рд┐рдХ (nginx рдХреЗ рд▓рд┐рдП) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдХреНрд░рд╛рдордХ рдпреВрдЖрд░рдПрд▓ рдХрд╛ рдореВрд▓ рдпреВрдЖрд░рдПрд▓ рдФрд░ рдЖрдИрдкреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рдкрд░, рдЖрдк 403 рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдмрд╕ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдпрд╛ рдЖрдкрдХреЗ NIDS рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рд╣рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬрдорд╛ рдХрд░рддрд╛ рд╣реИред
NAXSI "рд╕реАрдЦрдиреЗ" рдФрд░ "рдореБрдХрд╛рдмрд▓рд╛" рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

рдпреБрджреНрдз рдореЛрдб рдореЗрдВ, рдЙрд▓реНрд▓рдВрдШрди рдХреЗрд╡рд▓ DeniedUrl рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред

NAXSI рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛

рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рдирд┐рдпрдореЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрдЧрдиреЗрдХреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд░рджреНрдж рдХрд░реЗрдВ
 include /etc/nginx/naxsi_core.rules; 


рдЕрдм рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝реЗрдВ (рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдФрд░ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ):
 LearningMode; SecRulesEnabled; DeniedUrl "/RequestDenied"; #include "/etc/nginx/mynaxsi.rules"; ## check rules CheckRule "$SQL >= 8" BLOCK; CheckRule "$RFI >= 8" BLOCK; CheckRule "$TRAVERSAL >= 4" BLOCK; CheckRule "$EVADE >= 4" BLOCK; CheckRule "$XSS >= 8" BLOCK; 


рдЖрдЗрдП рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдХрд┐ рдЗрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ:

рд╢реНрд╡реЗрдд рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╛ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдпрдореЛрдВ рдФрд░ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреИрд╕реЗ рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрдВрдХрдбрд╝реЗ рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рднреА рджреЗрдЦреЗрдВ, рдореИрдВ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред

рдпрджрд┐ рдЖрдк NAXSI рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдХреА рдкрд░ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles