Instal·leu Plesk a CentOS 7
Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades
ModSecurity és un mòdul de tallafoc d'aplicacions web (WAF) de codi obert que és ideal per protegir Apache, Nginx i IIS de diversos atacs cibernètics que s'orienten a vulnerabilitats potencials en diverses aplicacions web.
En aquest article, instal·larem i configurarem ModSecurity per a Nginx a CentOS 7, Debian 8 i Ubuntu 16.04.
root
.Seguint aquesta guia , actualitzeu el nucli i els paquets del vostre servidor a la darrera versió disponible.
Abans de poder compilar Nginx i ModSecurity amb èxit, cal que instal·leu diversos paquets de programari de la manera següent.
a) A CentOS 7:
yum groupinstall -y "Development Tools"
yum install -y httpd httpd-devel pcre pcre-devel libxml2 libxml2-devel curl curl-devel openssl openssl-devel
shutdown -r now
b) A Debian 8 o Ubuntu 16.04:
apt-get install -y git build-essential libpcre3 libpcre3-dev libssl-dev libtool autoconf apache2-dev libxml2-dev libcurl4-openssl-dev automake pkgconf
A causa de diverses inestabilitats reportades a la branca mestra de ModSecurity per a Nginx, de moment, es recomana oficialment utilitzar la darrera versió de la nginx_refactoring
branca sempre que sigui possible.
Baixeu la nginx_refactoring
branca de ModSecurity per a Nginx:
cd /usr/src
git clone -b nginx_refactoring https://github.com/SpiderLabs/ModSecurity.git
Compilar ModSecurity:
a) A CentOS 7:
cd ModSecurity
sed -i '/AC_PROG_CC/a\AM_PROG_CC_C_O' configure.ac
sed -i '1 i\AUTOMAKE_OPTIONS = subdir-objects' Makefile.am
./autogen.sh
./configure --enable-standalone-module --disable-mlogc
make
Nota: les dues sed
ordres anteriors s'utilitzen per evitar missatges d'advertència quan s'utilitzen versions de fabricació automàtica més recents.
b) A Debian 8 o Ubuntu 16.04:
cd ModSecurity
./autogen.sh
./configure --enable-standalone-module --disable-mlogc
make
Baixeu i desarxiveu la darrera versió estable de Nginx que es troba Nginx 1.10.3
en el moment d'escriure:
cd /usr/src
wget https://nginx.org/download/nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.gz && rm -f nginx-1.10.3.tar.gz
a) A CentOS 7:
Primer, heu de crear un usuari dedicat nginx
i un grup dedicat nginx
per a Nginx:
groupadd -r nginx
useradd -r -g nginx -s /sbin/nologin -M nginx
A continuació, compileu Nginx mentre activeu els mòduls ModSecurity i SSL:
cd nginx-1.10.3/
./configure --user=nginx --group=nginx --add-module=/usr/src/ModSecurity/nginx/modsecurity --with-http_ssl_module
make
make install
Modifiqueu l'usuari predeterminat de Nginx:
sed -i "s/#user nobody;/user nginx nginx;/" /usr/local/nginx/conf/nginx.conf
b) A Debian 8 o Ubuntu 16.04:
En primer lloc, hauríeu d'utilitzar l'usuari existent www-data
i el grup existent www-data
.
A continuació, compileu Nginx mentre activeu els mòduls ModSecurity i SSL:
cd nginx-1.10.3/
./configure --user=www-data --group=www-data --add-module=/usr/src/ModSecurity/nginx/modsecurity --with-http_ssl_module
make
make install
Modifiqueu l'usuari predeterminat de Nginx:
sed -i "s/#user nobody;/user www-data www-data;/" /usr/local/nginx/conf/nginx.conf
Un cop instal·lat Nginx correctament, els fitxers relacionats es trobaran a:
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
podeu provar la instal·lació amb:
/usr/local/nginx/sbin/nginx -t
Si no passa res, la sortida hauria de ser:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Per a la vostra comoditat, podeu configurar un fitxer d'unitat systemd per a Nginx:
cat <<EOF>> /lib/systemd/system/nginx.service
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
KillStop=/usr/local/nginx/sbin/nginx -s stop
KillMode=process
Restart=on-failure
RestartSec=42s
PrivateTmp=true
LimitNOFILE=200000
[Install]
WantedBy=multi-user.target
EOF
Avançant, podeu iniciar/aturar/reiniciar Nginx de la següent manera:
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
vi /usr/local/nginx/conf/nginx.conf
Cerqueu el segment següent dins del http {}
segment:
location / {
root html;
index index.html index.htm;
}
Inseriu les línies següents al location / {}
segment:
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
El resultat final hauria de ser:
location / {
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
root html;
index index.html index.htm;
}
Desa i surt:
:wq!
Nota: La configuració de Nginx anterior és només una configuració de mostra per utilitzar Nginx com a servidor web en lloc d'un servidor intermediari invers. Si utilitzeu Nginx com a servidor intermediari invers, elimineu el #
caràcter de les dues últimes línies i feu-hi les modificacions adequades.
/usr/local/nginx/conf/modsec_includes.conf
:cat <<EOF>> /usr/local/nginx/conf/modsec_includes.conf
include modsecurity.conf
include owasp-modsecurity-crs/crs-setup.conf
include owasp-modsecurity-crs/rules/*.conf
EOF
Nota: La configuració anterior aplicarà totes les regles bàsiques de ModSecurity d'OWASP al owasp-modsecurity-crs/rules/
directori. Si només voleu aplicar regles selectives, hauríeu d'eliminar la include owasp-modsecurity-crs/rules/*.conf
línia i, a continuació, especificar les regles exactes que necessiteu després del pas 4.5.
cp /usr/src/ModSecurity/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
cp /usr/src/ModSecurity/unicode.mapping /usr/local/nginx/conf/
/usr/local/nginx/conf/modsecurity.conf
fitxer:sed -i "s/SecRuleEngine DetectionOnly/SecRuleEngine On/" /usr/local/nginx/conf/modsecurity.conf
cd /usr/local/nginx/conf
git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
cd owasp-modsecurity-crs
mv crs-setup.conf.example crs-setup.conf
cd rules
mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
mv RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
Inicia Nginx:
systemctl start nginx.service
Obriu el port 80 per permetre l'accés exterior:
a) A CentOS 7:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
b) A Debian 8:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
touch /etc/iptables
iptables-save > /etc/iptables
c) A Ubuntu 16.04:
ufw allow OpenSSH
ufw allow 80
ufw default deny
ufw enable
Apunteu el vostre navegador web a:
http://203.0.113.1/?param="><script>alert(1);</script>
Utilitzeu-lo grep
per obtenir missatges d'error de la següent manera:
grep error /usr/local/nginx/logs/error.log
La sortida hauria d'incloure diversos missatges d'error similars a:
2017/02/15 14:07:54 [error] 10776#0: [client 104.20.23.240] ModSecurity: Warning. detected XSS using libinjection. [file "/usr/local/nginx/conf/owasp-modsecurity-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf"] [line "56"] [id "941100"] [rev "2"] [msg "XSS Attack Detected via libinjection"] [data "Matched Data: found within ARGS:param: \x22><script>alert(1);</script>"] [severity "CRITICAL"] [ver "OWASP_CRS/3.0.0"] [maturity "1"] [accuracy "9"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-xss"] [tag "OWASP_CRS/WEB_ATTACK/XSS"] [tag "WASCTC/WASC-8"] [tag "WASCTC/WASC-22"] [tag "OWASP_TOP_10/A3"] [tag "OWASP_AppSensor/IE1"] [tag "CAPEC-242"] [hostname ""] [uri "/index.html"] [unique_id "ATAcAcAkucAchGAcPLAcAcAY"]
Això és. Com veieu, el mòdul ModSecurity ha registrat correctament aquest atac d'acord amb la seva política d'acció predeterminada. Si desitja realitzar més ajustos personalitzats, revisi amb cura i editar /usr/local/nginx/conf/modsecurity.conf
i /usr/local/nginx/conf/owasp-modsecurity-crs/crs-setup.conf
arxius.
Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades
Squid és un popular programa Linux gratuït que us permet crear un servidor intermediari web de reenviament. En aquesta guia, veureu com instal·lar Squid a CentOS per convertir-vos-hi
Introducció Lighttpd és una bifurcació d'Apache destinada a ser molt menys intensiu en recursos. És lleuger, d'aquí el seu nom, i és bastant senzill d'utilitzar. Instal·lant
Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar
Icinga2 és un sistema de supervisió potent i, quan s'utilitza en un model de client mestre, pot substituir la necessitat de controls de monitoratge basats en NRPE. El mestre-client
Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta
Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà
Utilitzeu un sistema diferent? Vanilla Forum és una aplicació de fòrum de codi obert escrita en PHP. És totalment personalitzable, fàcil d'utilitzar i admet externa
Utilitzeu un sistema diferent? Mattermost és una alternativa autoallotjada de codi obert al servei de missatgeria Slack SAAS. En altres paraules, amb Mattermost, ca
Què necessitareu Un Vultr VPS amb almenys 1 GB de RAM. Accés SSH (amb privilegis d'arrel/administrador). Pas 1: instal·lació de BungeeCord Primer de tot
El tauler de control de Plesk inclou una integració molt agradable per Lets Encrypt. Lets Encrypt és un dels únics proveïdors SSL que ofereix certificats complets
Lets Encrypt és una autoritat de certificació dedicada a proporcionar certificats SSL de manera gratuïta. cPanel ha creat una integració perfecta perquè tu i el teu client
Utilitzeu un sistema diferent? Concrete5 és un CMS de codi obert que ofereix moltes característiques distintives i útils per ajudar els editors a produir continguts fàcilment i
Utilitzeu un sistema diferent? Review Board és una eina gratuïta i de codi obert per revisar el codi font, la documentació, les imatges i molts més. És un programari basat en web
En aquesta guia, aprendràs a configurar l'autenticació HTTP per a un servidor web Nginx que s'executa a CentOS 7. Requisits Per començar, necessitareu el
Utilitzeu un sistema diferent? GoAccess és un analitzador de registres web de codi obert. Podeu utilitzar-lo per analitzar els registres en temps real al terminal o
YOURLS (Your Own URL Shortener) és una aplicació d'anàlisi de dades i escurçament d'URL de codi obert. En aquest article, tractarem el procés d'instal·lació
Utilitzeu un sistema diferent? Introducció ArangoDB és una base de dades NoSQL de codi obert amb un model de dades flexible per a documents, gràfics i claus-valors. És
Introducció El directori /etc/ té un paper crític en el funcionament d'un sistema Linux. La raó d'això és perquè gairebé totes les configuracions del sistema
Molts administradors de sistemes gestionen grans quantitats de servidors. Quan s'hagi d'accedir als fitxers a través de diferents servidors, inicieu sessió a cadascun individualment ca
La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.
També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.
Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.
Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.
El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...
A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.
Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.
Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.
En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.
Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació