The Rise of Machines: Real World Applications of AI
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
ModSecurity je modul brány firewall webových aplikací s otevřeným zdrojovým kódem (WAF), který je skvělý pro ochranu Apache, Nginx a IIS před různými kybernetickými útoky, které se zaměřují na potenciální zranitelnosti v různých webových aplikacích.
V tomto článku nainstalujeme a nakonfigurujeme ModSecurity pro Nginx na CentOS 7, Debian 8 a Ubuntu 16.04.
root.Podle této příručky aktualizujte jádro a balíčky vašeho serveru na nejnovější dostupnou verzi.
Než budete moci úspěšně zkompilovat Nginx a ModSecurity, musíte nainstalovat několik softwarových balíčků následovně.
a) Na 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) Na Debianu 8 nebo 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
Vzhledem k několika nestabilitám hlášeným na hlavní větvi ModSecurity pro Nginx se prozatím oficiálně doporučuje používat nejnovější verzi nginx_refactoringvětve, kdykoli je to možné.
Stáhněte si nginx_refactoringvětev ModSecurity pro Nginx:
cd /usr/src
git clone -b nginx_refactoring https://github.com/SpiderLabs/ModSecurity.git
Kompilace ModSecurity:
a) Na 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
Poznámka: dva sedvýše uvedené příkazy se používají k zamezení varovných zpráv při používání novějších verzí automobilů.
b) Na Debianu 8 nebo Ubuntu 16.04:
cd ModSecurity
./autogen.sh
./configure --enable-standalone-module --disable-mlogc
make
Stáhněte a zrušte archivaci nejnovější stabilní verze Nginx, která je Nginx 1.10.3v době psaní:
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) Na CentOS 7:
Nejprve musíte vytvořit vyhrazeného uživatele nginxa vyhrazenou skupinu nginxpro Nginx:
groupadd -r nginx
useradd -r -g nginx -s /sbin/nologin -M nginx
Poté zkompilujte Nginx a zároveň povolte moduly ModSecurity a 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
Upravte výchozího uživatele Nginx:
sed -i "s/#user nobody;/user nginx nginx;/" /usr/local/nginx/conf/nginx.conf
b) Na Debianu 8 nebo Ubuntu 16.04:
Nejprve byste měli použít stávajícího uživatele www-dataa existující skupinu www-data.
Poté zkompilujte Nginx a zároveň povolte moduly ModSecurity a 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
Upravte výchozího uživatele Nginx:
sed -i "s/#user nobody;/user www-data www-data;/" /usr/local/nginx/conf/nginx.conf
Po úspěšné instalaci Nginx budou související soubory umístěny na adrese:
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"
instalaci můžete vyzkoušet pomocí:
/usr/local/nginx/sbin/nginx -t
Pokud se nic nepokazí, výstup by měl být:
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
Pro vaše pohodlí můžete nastavit soubor systemd unit pro 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
Vpřed můžete Nginx spustit/zastavit/restartovat následovně:
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
vi /usr/local/nginx/conf/nginx.conf
Najděte v segmentu následující http {}segment:
location / {
root html;
index index.html index.htm;
}
Do location / {}segmentu vložte následující řádky :
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
Konečný výsledek by měl být:
location / {
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
root html;
index index.html index.htm;
}
Uložit a ukončit:
:wq!
Poznámka: Výše uvedená konfigurace Nginx je pouze ukázková konfigurace pro použití Nginx jako webového serveru, nikoli jako reverzní proxy. Pokud používáte Nginx jako reverzní proxy, odstraňte #znak na posledních dvou řádcích a proveďte v nich příslušné úpravy.
/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
Poznámka: Výše uvedená konfigurace použije všechna základní pravidla OWASP ModSecurity v owasp-modsecurity-crs/rules/adresáři. Pokud chcete použít pouze selektivní pravidla, měli byste include owasp-modsecurity-crs/rules/*.confřádek odstranit a poté po kroku 4.5 zadat přesná pravidla, která potřebujete.
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.confsoubor: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
Spusťte Nginx:
systemctl start nginx.service
Otevřete port 80, abyste umožnili přístup zvenčí:
a) Na CentOS 7:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
b) V Debianu 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) Na Ubuntu 16.04:
ufw allow OpenSSH
ufw allow 80
ufw default deny
ufw enable
Nasměrujte svůj webový prohlížeč na:
http://203.0.113.1/?param="><script>alert(1);</script>
Použijte grepk načtení chybových zpráv následovně:
grep error /usr/local/nginx/logs/error.log
Výstup by měl obsahovat několik chybových zpráv, které jsou podobné:
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"]
A je to. Jak vidíte, modul ModSecurity úspěšně zaprotokoloval tento útok v souladu se svými výchozími zásadami akcí. Chcete-li provést více vlastních nastavení, pečlivě je zkontrolujte a upravte /usr/local/nginx/conf/modsecurity.confa /usr/local/nginx/conf/owasp-modsecurity-crs/crs-setup.confsoubory.
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více