Kaip įdiegti „Microweber“ „CentOS 7“.
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
ModSecurity yra atvirojo kodo žiniatinklio programų ugniasienės (WAF) modulis, puikiai tinkantis apsaugoti Apache, Nginx ir IIS nuo įvairių kibernetinių atakų, nukreiptų į galimus įvairių žiniatinklio programų pažeidžiamumus.
Šiame straipsnyje mes įdiegsime ir sukonfigūruosime „ModSecurity“, skirtą „Nginx“, „CentOS 7“, „Debian 8“ ir „Ubuntu 16.04“.
root
.Vadovaudamiesi šiuo vadovu atnaujinkite savo serverio branduolį ir paketus į naujausią galimą versiją.
Kad galėtumėte sėkmingai kompiliuoti Nginx ir ModSecurity, turite įdiegti kelis programinės įrangos paketus, kaip nurodyta toliau.
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) „Debian 8“ arba „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
Dėl kelių nestabilumo, apie kurį pranešta „ModSecurity for Nginx“ pagrindinėje šakoje, kol kas oficialiai rekomenduojama naudoti naujausią nginx_refactoring
šakos versiją, kai tik įmanoma.
Atsisiųskite „ nginx_refactoring
Nginx“ skirtą „ModSecurity“ filialą:
cd /usr/src
git clone -b nginx_refactoring https://github.com/SpiderLabs/ModSecurity.git
Sukompiliuokite „ModSecurity“:
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
Pastaba: dvi sed
aukščiau pateiktos komandos naudojamos siekiant išvengti įspėjimo pranešimų, kai naudojamos naujesnės versijos.
b) „Debian 8“ arba „Ubuntu 16.04“:
cd ModSecurity
./autogen.sh
./configure --enable-standalone-module --disable-mlogc
make
Atsisiųskite ir išarchyvuokite naujausią stabilų „Nginx“ leidimą, kuris yra Nginx 1.10.3
rašymo metu:
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) „CentOS 7“:
Pirmiausia turite sukurti skirtą Nginx vartotoją nginx
ir grupę nginx
:
groupadd -r nginx
useradd -r -g nginx -s /sbin/nologin -M nginx
Tada sukompiliuokite Nginx įjungdami ModSecurity ir SSL modulius:
cd nginx-1.10.3/
./configure --user=nginx --group=nginx --add-module=/usr/src/ModSecurity/nginx/modsecurity --with-http_ssl_module
make
make install
Pakeiskite numatytąjį Nginx vartotoją:
sed -i "s/#user nobody;/user nginx nginx;/" /usr/local/nginx/conf/nginx.conf
b) „Debian 8“ arba „Ubuntu 16.04“:
Pirmiausia turėtumėte naudoti esamą vartotoją www-data
ir esamą grupę www-data
.
Tada sukompiliuokite Nginx įjungdami ModSecurity ir SSL modulius:
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
Pakeiskite numatytąjį Nginx vartotoją:
sed -i "s/#user nobody;/user www-data www-data;/" /usr/local/nginx/conf/nginx.conf
Sėkmingai įdiegus „Nginx“, susiję failai bus rasti adresu:
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"
diegimą galite išbandyti naudodami:
/usr/local/nginx/sbin/nginx -t
Jei nieko negerai, išvestis turėtų būti:
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
Patogumui galite nustatyti Nginx sistemos vieneto failą:
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
Eidami į priekį, galite paleisti / sustabdyti / iš naujo paleisti „Nginx“ taip:
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
vi /usr/local/nginx/conf/nginx.conf
Segmente raskite šį http {}
segmentą:
location / {
root html;
index index.html index.htm;
}
Į location / {}
segmentą įterpkite šias eilutes :
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
Galutinis rezultatas turėtų būti:
location / {
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
root html;
index index.html index.htm;
}
Išsaugoti ir išeiti:
:wq!
Pastaba: Aukščiau pateikta Nginx konfigūracija yra tik pavyzdinė konfigūracija, skirta naudoti Nginx kaip žiniatinklio serverį, o ne atvirkštinį tarpinį serverį. Jei naudojate Nginx kaip atvirkštinį tarpinį serverį, pašalinkite #
simbolį paskutinėse dviejose eilutėse ir atlikite atitinkamus jų pakeitimus.
/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
Pastaba: Aukščiau pateikta konfigūracija taikys visas OWASP ModSecurity pagrindines taisykles owasp-modsecurity-crs/rules/
kataloge. Jei norite taikyti tik pasirinktines taisykles, pašalinkite include owasp-modsecurity-crs/rules/*.conf
eilutę ir nurodykite tikslias taisykles, kurių jums reikia po 4.5 veiksmo.
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
failą: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
Paleiskite Nginx:
systemctl start nginx.service
Atidarykite 80 prievadą, kad galėtumėte pasiekti išorinę prieigą:
a) „CentOS 7“:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
b) „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) Ubuntu 16.04:
ufw allow OpenSSH
ufw allow 80
ufw default deny
ufw enable
Nukreipkite savo žiniatinklio naršyklę į:
http://203.0.113.1/?param="><script>alert(1);</script>
Norėdami grep
gauti klaidų pranešimus, naudokite taip:
grep error /usr/local/nginx/logs/error.log
Išvestyje turėtų būti keli klaidų pranešimai, panašūs į:
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"]
Viskas. Kaip matote, ModSecurity modulis sėkmingai užregistravo šią ataką pagal numatytąją veiksmų politiką. Jei norite atlikti daugiau tinkintų nustatymų, atidžiai peržiūrėkite ir redaguokite /usr/local/nginx/conf/modsecurity.conf
bei /usr/local/nginx/conf/owasp-modsecurity-crs/crs-setup.conf
failus.
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Ko jums reikia Vultr VPS su mažiausiai 1 GB RAM. SSH prieiga (su root / administratoriaus teisėmis). 1 veiksmas: „BungeeCord“ diegimas Pirmiausia
Naudojate kitą sistemą? „Apache OpenMeetings“ yra atvirojo kodo žiniatinklio konferencijų programa. Jis parašytas Java kalba ir palaiko kelis duomenų bazių serverius. aš
Naudojate kitą sistemą? Jekyll yra gera „WordPress“ alternatyva. Tam nereikia jokių duomenų bazių ir jis veikia daugeliui pažįstama kalba
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Elasticsearch yra populiarus atvirojo kodo viso teksto paieškos ir analizės variklis. Dėl savo universalumo, mastelio ir paprasto naudojimo Elasticsearch yra platus
Naudojate kitą sistemą? Automad yra atvirojo kodo failais pagrįsta turinio valdymo sistema (TVS) ir šablonų variklis, parašytas PHP. „Automad“ šaltinio kodas i
Naudojate kitą sistemą? osTicket yra atvirojo kodo klientų aptarnavimo bilietų pardavimo sistema. „osTicket“ šaltinio kodas viešai priglobtas „Github“. Šioje pamokoje
Naudojate kitą sistemą? Open Web Analytics (OWA) yra atvirojo kodo žiniatinklio analizės programa, kurią galima naudoti norint stebėti ir analizuoti, kaip žmonės naudojasi jūsų svetaine.
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Naudojate kitą sistemą? CMS Made Simple 2.2 yra lanksti ir išplečiama, nemokama ir atvirojo kodo turinio valdymo sistema (TVS), sumaniai sukurta
Neos yra naujoviška atvirojo kodo turinio valdymo sistema, puikiai tinkanti kuriant ir redaguojant internetinį turinį. Turint omenyje autorius ir redaktorius, Neo
Naudojate kitą sistemą? Ghost yra atvirojo kodo tinklaraščių platforma, kuri populiarėja tarp kūrėjų ir paprastų vartotojų nuo 201 m.
Kartais turėsite padidinti serverio reagavimą, kad išvengtumėte atminties problemų. Išnyksta atminties problemos, kai a
Labai saugus FTP demonas arba tiesiog vsFTPd yra lengva programinė įranga, kurią galima pritaikyti. Šioje pamokoje mes užsitikrinsime jau
Naudojate kitą sistemą? Zammad yra atviro kodo pagalbos tarnyba / bilietų pardavimo sistema, skirta klientų aptarnavimo komandoms. Su Zammad, klientų aptarnavimo tarnyba
Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas elektroninio verslo svetainėms kurti ir internetiniam turiniui tvarkyti, parašyta PHP kalba. Thelia šaltinio kodas i
Naudojate kitą sistemą? Backdrop CMS 1.8.0 yra paprasta ir lanksti, mobiliesiems pritaikyta nemokama ir atvirojo kodo turinio valdymo sistema (TVS), kuri leidžia mums
Naudojate kitą sistemą? Pagekit yra atvirojo kodo TVS, parašyta PHP. Pagekit šaltinio kodas yra viešai priglobtas GitHub. Šis vadovas parodys, kaip t
Ar jūsų „Linux“ serverį pasiekia keli vartotojai? Jei taip, apsvarstykite galimybę pridėti SSH prisijungimo pranešimą, kai kas nors prisijungia. Toliau pateikti pavyzdžiai siunčia el. laišką
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį