ModSecurity och OWASP på CentOS 6 och Apache 2

ModSecurity och OWASP på CentOS 6 och Apache 2

ModSecurity är en brandvägg för webbapplikationslager designad för att fungera med IIS, Apache2 och Nginx. Det är gratis programvara med öppen källkod som släpps under Apache-licensen 2.0. ModSecurity hjälper till att säkra din webbserver genom att övervaka och analysera din webbplatstrafik. Den gör detta i realtid för att upptäcka och blockera attacker från de flesta kända exploateringar med reguljära uttryck. På egen hand ger ModSecurity begränsat skydd och förlitar sig på regeluppsättningar för att maximera skyddet.

Open Web Application Security Project (OWASP) Core Rule Set (CRS) är en uppsättning generiska attackdetekteringsregler som ger en grundläggande skyddsnivå för alla webbapplikationer. Regeluppsättningen är gratis, öppen källkod och för närvarande sponsrad av Spider Labs.

OWASP CRS tillhandahåller:

  • HTTP-skydd - upptäcker överträdelser av HTTP-protokollet och en lokalt definierad användningspolicy.
  • Uppslagningar på svarta listan i realtid - använder tredje parts IP-rykte.
  • HTTP Denial of Service Protection - försvar mot HTTP-översvämningar och långsamma HTTP DoS-attacker.
  • Common Web Attacks Protection - upptäcker vanliga webbapplikationssäkerhetsattacker.
  • Automatiseringsdetektering - Upptäcker botar, sökrobotar, skannrar och annan skadlig aktivitet på ytan.
  • Integration med AV-skanning för filuppladdningar - upptäcker skadliga filer som laddats upp via webbapplikationen.
  • Spåra känsliga data - Spårar kreditkortsanvändning och blockerar läckage.
  • Trojanskydd - Upptäcker trojanska hästar.
  • Identifiering av applikationsdefekter - varningar om applikationsfelkonfigurationer.
  • Felupptäckt och gömt - Dölja felmeddelanden som skickas av servern.

Installation

Den här guiden visar hur du installerar ModSecurity och OWASP regeluppsättning på CentOS 6 som kör Apache 2.

Först måste du se till att ditt system är uppdaterat.

 yum -y update

Om du inte har installerat Apache 2, installera det nu.

 yum -y install httpd

Du måste nu installera vissa beroenden för att ModSecurity ska fungera. Beroende på din serverkonfiguration kan vissa eller alla dessa paket redan vara installerade. Yum kommer att installera de paket du inte har och informera dig om något av paketen redan är installerat.

 yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel

Byt katalog och ladda ner källkoden från ModSecuity-webbplatsen. Den nuvarande stabila versionen är 2.8.

 cd /opt/
 wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz

Extrahera paketet och byt till dess katalog.

 tar xzfv modsecurity-2.8.0.tar.gz 
 cd modsecurity-2.8.0

Konfigurera och kompilera källkoden.

 ./configure
 make
 make install

Kopiera standardkonfigurationen för ModSecurity och unicode-mappningsfilen till Apache-katalogen.

 cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
 cp unicode.mapping /etc/httpd/conf.d/

Konfigurera Apache för att använda ModSecurity. Det finns 2 sätt att göra detta på.

 echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf

... eller använd en textredigerare som nano:

 nano /etc/httpd/conf/httpd.conf

Längst ner i den filen, på en separat rad lägg till detta:

 LoadModule security2_module modules/mod_security2.so

Du kan nu starta Apache och konfigurera den att starta vid uppstart.

 service httpd start
 chkconfig httpd on

Om du hade Apache installerad innan du använder den här guiden behöver du bara starta om den.

 service httpd restart

Du kan nu ladda ner OWASPs kärnregeluppsättning.

 cd /etc/httpd
 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

Konfigurera nu OWASP-regeluppsättningen.

 cd modsecurity-crs
 cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf

Därefter måste du lägga till regeluppsättningen till Apache-konfigurationen. Återigen kan vi göra detta på två sätt.

 echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
 echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf

... eller med en textredigerare:

 nano /etc/httpd/conf/httpd.conf

Längst ner i filen på separata rader lägg till detta:

 Include modsecurity-crs/modsecurity_crs_10_config.conf
 Include modsecurity-crs/base_rules/*.conf

Starta nu om Apache.

 service httpd restart

Ta slutligen bort installationsfilerna.

 yum erase /opt/modsecurity-2.8.0
 yum erase /opt/modsecurity-2.8.0.tar.gz

Använder ModSecurity

Som standard körs ModSecurity i endast detekteringsläge, vilket innebär att det loggar alla regelbrott men inte vidtar några åtgärder. Detta rekommenderas för nya installationer så att du kan se händelserna som genereras i Apache-felloggen. Efter att ha granskat loggen kan du bestämma om någon modifiering av regeluppsättningen eller inaktivering av regeln (se nedan) ska göras innan du går till skyddsläge.

Så här visar du Apache-felloggen:

 cat /var/log/httpd/error_log

ModSecurity-raden i Apache-felloggen är uppdelad i nio element. Varje element ger information om varför händelsen utlöstes.

  • Den första delen berättar vilken regelfil som utlöste denna händelse.
  • Den andra delen berättar vilken rad i regelfilen regeln börjar på.
  • Det tredje elementet berättar vilken regel som utlöstes.
  • Det fjärde elementet talar om revideringen av regeln.
  • Det femte elementet innehåller speciella data för felsökningsändamål.
  • Det sjätte elementet definierar loggningsallvarligheten för denna händelse.
  • Det sjunde avsnittet beskriver vilken åtgärd som inträffade och i vilken fas den inträffade.

Observera att vissa element kan saknas beroende på konfigurationen av din server.

För att ändra ModSecurity till skyddsläge, öppna conf-filen i en textredigerare:

 nano /etc/httpd/conf.d/modsecurity.conf

... och ändra:

 SecRuleEngine DetectionOnly

till:

 SecRuleEngine On

Om du stöter på några block när ModSecurity körs, måste du identifiera regeln i HTTP-felloggen. Kommandot "tail" låter dig titta på loggarna i realtid:

 tail -f /var/log/httpd/error_log

Upprepa åtgärden som orsakade blockeringen medan du tittar på loggen.

Ändra en regeluppsättning/inaktivera ett regel-ID

Att ändra en regeluppsättning ligger utanför den här handledningens omfattning.

För att inaktivera en specifik regel, identifierar du regel-id:t som finns i det tredje elementet (till exempel [id=200000]) och inaktiverar det sedan i Apache-konfigurationsfilen:

 nano /etc/httpd/conf/httpd.conf

... genom att lägga till följande längst ner i filen med regel-id:

<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>

Om du upptäcker att ModSecurity blockerar alla åtgärder på din(a) webbplats(er), är "Core Rule Set" förmodligen i "Self-Contained"-läge. Du måste ändra detta till "Collaborative Detection", som endast upptäcker och blockerar avvikelser. Samtidigt kan du titta på "Self-Contained" alternativen och ändra dem om du vill göra det.

 nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf

Ändra "detektion" till "Self-Contained".

Du kan också konfigurera ModSecurity för att tillåta din IP genom webbapplikationens brandvägg (WAF) utan att logga:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off

... eller med loggning:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly

Installera Plesk på CentOS 7

Installera Plesk på CentOS 7

Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera

Konfigurera statiskt nätverk och IPv6 på CentOS 7

Konfigurera statiskt nätverk och IPv6 på CentOS 7

VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Vanilla Forum på CentOS 7

Hur man installerar Vanilla Forum på CentOS 7

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Mattermost 4.1 på CentOS 7

Hur man installerar Mattermost 4.1 på CentOS 7

Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn

Låt oss kryptera på Plesk

Låt oss kryptera på Plesk

Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt

Låter kryptera på cPanel

Låter kryptera på cPanel

Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient

Hur man installerar Concrete5 på CentOS 7

Hur man installerar Concrete5 på CentOS 7

Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och

Hur man installerar Review Board på CentOS 7

Hur man installerar Review Board på CentOS 7

Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara

Ställ in HTTP-autentisering med Nginx på CentOS 7

Ställ in HTTP-autentisering med Nginx på CentOS 7

I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du

Hur man installerar YOURLS på CentOS 7

Hur man installerar YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är

Använda Etckeeper för versionskontroll av /etc

Använda Etckeeper för versionskontroll av /etc

Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca

Konfigurera en Half Life 2-server på CentOS 6

Konfigurera en Half Life 2-server på CentOS 6

Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer