Instaloni Plesk në CentOS 7
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
ModSecurity është një modul i firewall-it të aplikacionit në internet me burim të hapur (WAF) i cili është i shkëlqyeshëm për mbrojtjen e Apache, Nginx dhe IIS nga sulmet e ndryshme kibernetike që synojnë dobësitë e mundshme në aplikacione të ndryshme ueb.
Në këtë artikull, ne do të instalojmë dhe konfigurojmë ModSecurity për Nginx në CentOS 7, Debian 8 dhe Ubuntu 16.04.
root
.Duke ndjekur këtë udhëzues , përditësoni kernelin dhe paketat e serverit tuaj në versionin më të fundit të disponueshëm.
Përpara se të përpiloni me sukses Nginx dhe ModSecurity, duhet të instaloni disa paketa softuerësh si më poshtë.
a) Në 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) Në Debian 8 ose 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
Për shkak të disa paqëndrueshmërive të raportuara në degën kryesore të ModSecurity për Nginx, tani për tani, zyrtarisht rekomandohet të përdorni versionin më të fundit të nginx_refactoring
degës sa herë që është e mundur.
Shkarkoni nginx_refactoring
degën e ModSecurity për Nginx:
cd /usr/src
git clone -b nginx_refactoring https://github.com/SpiderLabs/ModSecurity.git
Përpiloni ModSecurity:
a) Në 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
Shënim: dy sed
komandat e mësipërme përdoren për të parandaluar mesazhet paralajmëruese kur përdorni versione më të reja të automake.
b) Në Debian 8 ose Ubuntu 16.04:
cd ModSecurity
./autogen.sh
./configure --enable-standalone-module --disable-mlogc
make
Shkarkoni dhe zharkoni versionin më të fundit të qëndrueshëm të Nginx i cili është Nginx 1.10.3
në kohën e shkrimit:
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) Në CentOS 7:
Së pari, ju duhet të krijoni një përdorues të dedikuar nginx
dhe një grup të dedikuar nginx
për Nginx:
groupadd -r nginx
useradd -r -g nginx -s /sbin/nologin -M nginx
Pastaj përpiloni Nginx ndërsa aktivizoni modulet ModSecurity dhe 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
Ndryshoni përdoruesin e paracaktuar të Nginx:
sed -i "s/#user nobody;/user nginx nginx;/" /usr/local/nginx/conf/nginx.conf
b) Në Debian 8 ose Ubuntu 16.04:
Së pari, duhet të përdorni përdoruesin ekzistues www-data
dhe grupin ekzistues www-data
.
Pastaj përpiloni Nginx ndërsa aktivizoni modulet ModSecurity dhe 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
Ndryshoni përdoruesin e paracaktuar të Nginx:
sed -i "s/#user nobody;/user www-data www-data;/" /usr/local/nginx/conf/nginx.conf
Pas instalimit të suksesshëm të Nginx, skedarët e lidhur do të vendosen në:
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"
mund ta provoni instalimin me:
/usr/local/nginx/sbin/nginx -t
Nëse asgjë nuk shkon keq, dalja duhet të jetë:
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
Për lehtësinë tuaj, mund të konfiguroni një skedar të njësisë së sistemit për 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
Duke ecur përpara, mund të filloni/ndaloni/rinisni Nginx si më poshtë:
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
vi /usr/local/nginx/conf/nginx.conf
Gjeni segmentin e mëposhtëm brenda http {}
segmentit:
location / {
root html;
index index.html index.htm;
}
Futni rreshtat e mëposhtëm në location / {}
segment:
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
Rezultati përfundimtar duhet të jetë:
location / {
ModSecurityEnabled on;
ModSecurityConfig modsec_includes.conf;
#proxy_pass http://localhost:8011;
#proxy_read_timeout 180s;
root html;
index index.html index.htm;
}
Ruani dhe hiqni dorë:
:wq!
Shënim: Konfigurimi Nginx i mësipërm është vetëm një shembull i konfigurimit për përdorimin e Nginx si një server në internet në vend të një përfaqësuesi të kundërt. Nëse po përdorni Nginx si një përfaqësues të kundërt, hiqni #
karakterin në dy rreshtat e fundit dhe bëni modifikimet e duhura në to.
/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
Shënim: Konfigurimi i mësipërm do të zbatojë të gjitha rregullat thelbësore të OWASP ModSecurity në owasp-modsecurity-crs/rules/
drejtori. Nëse dëshironi të aplikoni vetëm rregulla selektive, duhet të hiqni include owasp-modsecurity-crs/rules/*.conf
rreshtin dhe më pas të specifikoni rregullat e sakta që ju nevojiten pas hapit 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
skedarin: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
Filloni Nginx:
systemctl start nginx.service
Hapni portën 80 për të lejuar aksesin e jashtëm:
a) Në CentOS 7:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
b) Në 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) Në Ubuntu 16.04:
ufw allow OpenSSH
ufw allow 80
ufw default deny
ufw enable
Drejtojeni shfletuesin tuaj të internetit në:
http://203.0.113.1/?param="><script>alert(1);</script>
Përdorni grep
për të marrë mesazhe gabimi si më poshtë:
grep error /usr/local/nginx/logs/error.log
Dalja duhet të përfshijë disa mesazhe gabimi të cilat janë të ngjashme me:
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"]
Kjo eshte. Siç e shihni, moduli ModSecurity e ka regjistruar me sukses këtë sulm në përputhje me politikën e tij të paracaktuar të veprimit. Nëse ju doni të bëni më shumë custom settings, ju lutemi të shqyrtojë me kujdes dhe edit /usr/local/nginx/conf/modsecurity.conf
dhe /usr/local/nginx/conf/owasp-modsecurity-crs/crs-setup.conf
fotografi.
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer
Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni
VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni
Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë
Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth
Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata
Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj
Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe
Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar
Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet
YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit
Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte
Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit
Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth
Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou
Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.
Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë