Guide för att skydda en VPS -server med Linux

Innehållsförteckning

A VPS -server (Virtual Private Server), Det är en logisk partition av en hårddisk via en virtuell maskin, en vps ger oss mer kontroll över hanteringen av resurser jämfört med den delade servertjänsten.

En VPS är idealisk för dem som vill använda en server professionellt men till en lägre kostnad än en dedikerad och även för dem som vill börja och göra tester i administrationen av servrar, men inte är säkra på de tekniska aspekterna, VPS server är ett bra alternativ att starta. Den kan användas för att testa verktyg och färdigheter utan att spendera för mycket pengar och riskera en produktionsserver.

Vi kan skapa en VPS enligt instruktionen:

  • Skapa en lokal VPS -server

Eller använd vissa betalningar, det finns många företag som erbjuder VPS -server per månad eller per dag, till exempel DigitalOcean, för att testa konfigurationer i en verklig miljö.

Det viktigaste när vi måste administrera en server är att bestämma vilka säkerhetsåtgärder vi kommer att vidta som är nödvändiga. Även om det finns många säkerhetsåtgärder och verktyg kan de också vara kontraproduktiva eftersom de förbrukar resurser och kanske inte tillåter att vissa applikationer fungerar bra, så vi måste vara medvetna om riskerna, behoven för att kunna bestämma balansen mellan lätthet, serverprestanda och säkerhet.

I denna handledning kommer jag att tillhandahålla en serie rekommenderade konfigurationer för en säker VPS

Åtkomstblockering med brandväggar
Brandväggar fungerar som ett hinder mellan allmän internettrafik och servern. Det är viktigt att granska, filtrera och blockera intern och extern trafik.

Genom en uppsättning regler som konfigureras av administratören använder en server endast specifika nätverksportar för auktoriserade tjänster. Resten av hamnarna har inte använts och måste skyddas säkert bakom en brandvägg för att neka all trafik som är avsedd för dessa platser.

För denna handledning antar vi att vi hanterar en Linux VPS -server för att anta säkerhetsåtgärder. För att fastställa grundläggande brandväggsregler måste vi först spåra vilka portar vi har öppna, för detta använder vi kommandot:

 ifconfig
Vi bestämmer IP:
 nmap -sT -O 192.168.0.11

Detta låter dig veta vilka portar som lyssnar och villkor för användning av tjänster i vissa fall. Att konfigurera reglerna för vår brandvägg väl är en bra grund för säkerheten för servern och nätverket.

Det finns många brandväggar tillgängliga, några är:

  • IPCop -brandvägg
  • ConfigServer Säkerhet och brandvägg

Den mest använda brandväggen är Iptables som redan levereras med Linux, men det har inte ett grafiskt gränssnitt, från terminalfönstret (anslutet via SSH) kan vi använda följande kommandon:

Blockera en given inkommande IP:

 sudo iptables -A INPUT -s 190.160.45.60 -j DROP
Blockera en inkommande IP och en port via Ethernet -nätverksgränssnitt eller trådbundet nätverk:
 iptables -A INPUT -i eth0 -s 190.160.45.60 -destination -port 25 -j DROP
Jag blockerar en inkommande IP men via WiFi:
 iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROP
Om jag tar bort -s IP -parametern och lämnar porten blockerar jag porten för valfri IP

Iptables är verktyget som används för att hantera nätfilter -brandväggen som ingår i Linux -kärnan. Fördelen med Iptables är att den har genomgått mycket djupa säkerhetsrevisioner för att säkerställa att den fungerar och är användbar.

En annan intressant aspekt är att vi kan skapa ett skript eller ett gränssnitt för att definiera reglerna för iptables, även om det redan finns många tillgängliga som kan låta dig konfigurera med uppsättningar regler på ett mycket flexibelt sätt.

Använd SSH säkert för fjärradministration
När vi måste hantera en server som vi inte har lokal åtkomst måste vi göra det på distans. För detta används tjänsten genom ett protokoll som kallas SSH, som står för Secure Shell, vilket gör att servern kan hanteras helt med hjälp av en kommandotolk,

SSH ger möjlighet att skapa och underhålla en trafiktunnel mellan datorn och servern så att en säker anslutning upprättas när tunneln överför data över en krypterad anslutning.

Även om protokollet i sig är väldigt säkert och har analyserats och testats i säkerhet kan vi lägga till några konfigurationsalternativ för att göra det säkrare, t.ex. ändra port eftersom SSH -anslutningsporten som standard är port 22, för detta ansluter vi via SSH och redigerar sedan filen:

 / etc / ssh / sshd_config
Vi ansluter med följande kommando:
 ssh -användare @ ip

Därefter redigerar vi filen och ändrar porten till en annan till vår smak som inte stör någon tjänst, till exempel 9200:

 nano / etc / ssh / sshd_config

Vi spelar in och vi startar om SSH så att den antar den nya konfigurationen, enligt linux distro:

Fedora, Centos

 sbin / service sshd starta om
Debian, Ubuntu
 /etc/init.d/sshd starta om
Då måste vi komma åt igen, vi gör det enligt följande:
 ssh -användare @ ip -p 9200
Sedan blockerar vi port 22 på det här sättet, de kommer inte att kunna skanna oss och försöka göra en brutal kraftattack.
 iptables -A OUTPUT -p tcp --dport 22 -j DROP
Installera en IPS eller intrångsförebyggande system
Ett system för förebyggande av intrång är programvara som låter dig övervaka och kontrollera åtkomst på ett datornät för att skydda resurser eller en server från attacker och intrång. Inbrottsförebyggande teknik är ett viktigt komplement till ett intrångsdetekteringssystem (IDS), medan en IPS fungerar som en brandvägg medan en IDS analyserar vilken typ av trafik som cirkulerar i nätverket, men kontrollerar också innehållet och vad innehållet gör.

Ett exempel är Fail2Ban, det är en applikation som utvecklats under Python för förebyggande av intrång, det är en IPS, som automatiskt fungerar genom att analysera och blockera fjärranslutningar som försöker åtkomst till brute force.

Fail2ban använder inte bara sin egen logg över åtkomstförsök, den använder också loggar från annan programvara, till exempel iptables, som anger reglerna för att kunna använda ett lås.

Du kan använda regler som skapats av administratören eller skapa nya enligt din egen konfiguration, till exempel blockera en IP som inte har kunnat komma åt tre gånger.

Vi kan från ett SSH -fönster eller ladda ner det från dess officiella webbplats, om det kommer i lagren i vår distro installerar vi det.

 apt-get installera fail2ban
Sedan konfigurerar vi den genom att redigera följande fil:
 nano /etc/fail2ban/jail.conf

Här redigerar vi några av de viktigaste parametrarna

  • ignorip: ip som aldrig kommer att blockeras.
  • bantime: tid i sekunder som IP -blocket kommer att pågå.
  • maxretry: maximalt antal misslyckade åtkomstförsök innan de blockeras.

Sedan kan vi skapa filter för olika applikationer som vi kan hitta i katalogen:

 cd /etc/fail2ban/filter.d

Detta intrångsförebyggande system gör att vi kan mildra många attacker och därmed öka den allmänna säkerheten för vår VPS -konfiguration.

Fail2ban är en tjänst som övervakar loggfilerna för att avgöra om en åtkomst är en legitim användare och om inte tillfälligt blockera trafiken från IP -adressen som är associerad med användaren som har för avsikt att komma åt vissa tjänster, vare sig det är ftp, ssh, e -post, webb, etc.

Detta är ett enkelt sätt att automatiskt blockera brute force -metoder, eftersom blockering kommer att orsaka att attacken slutar fungera så länge vi anger. Detta är vanligtvis tillräckligt för att avskräcka ytterligare försök med brutal kraft.

Implementera a intrångsdetekteringssystem eller IDS
Ett intrångsdetekteringssystem, eller IDS, är det obligatoriska komplementet till ett intrångsförhindrande system. Ett IDS upptäcker fil- eller inspelningsmodifieringar genom att köra jämförelser Mot dessa tidigare registrerade stater att veta om filerna har ändrats eller någon konfiguration har ändrats och för att registrera vilken användare som har gjort det.

Det finns många IDS som Snort, som vi såg i självstudien:

  • Hackerförebyggande och säkerhetsverktyg
Surikat såg vi i självstudien:
  • Suricata intruder detection system
Tripwire som vi såg i självstudien:
  • Hårdare säkerhet för servrar och operativsystem.

Dessa verktyg använder en databas med systemfiler och skyddar konfigurationsfiler. Genom att konfigurera regler och undantag definierar du vilka filer som ska skyddas och vad som ska rapporteras, så att när du börjar övervaka systemet kan du granska körningar och eventuella ändringar av de filer som övervakas.

Alla verktyg kan konfigureras för att automatiskt kontrollera med cronjob då och då och till och med implementera e -postaviseringar vid ovanlig aktivitet.

Om vi ​​tar Snort till exempel, installerar vi det från lagren:

 apt-get install snort

Sedan går vi till katalogen där reglerfilerna är:

 cd / etc / snort / rules

Låt oss till exempel titta på filen mysql.regler

 nano mysql.regler
Där vi ser att alla externa eller rotanvändares åtkomst till MySQL -tjänsten ska informeras.

Ett annat exempel är till exempel övervakning av chattprogram både från servern eller från en dator i nätverket eller från en extern dator som använder vår server.

 nano chat.regler 

Vi kan också konfigurera varje reglerfil för att upptäcka nedladdningar från en webbläsare eller åtkomst till en tjänst, ändring av en fil eller en specifik webbsida.

Suricata är modernare än Snort och Tripwire, eftersom det fungerar som en sniffermotor för att analysera inkommande och utgående trafik i ett nätverkssystem. Det är dock resurskrävande att analysera och upptäcka intrång genom att göra dubbelarbete som IDS och IPS.

Det har också plugins för att tilldela regler och analysera många applikationer och program. Suricata fungerar på alla lager i OSI -modellen.

Sök efter virus och skadlig programvara med Linux Malware Detect eller ClamAV
Även om Linux är mindre benägen för dessa typer av attacker, är det inte immun mot skadlig programvara. Verktygen i ett säkerhetssystem i samband med implementeringen av en IPS och en IDS för att upptäcka intrångsförsök kräver programvara som kan söka och upptäcka skadlig kod för att identifiera spår av aktivitet som indikerar att det finns någon farlig programvara installerad i systemservern.

I guiden Linux Malware Detect (LMD) för att säkra Linux förklarades installationen och användningen av det här verktyget för att upptäcka skadlig kod, missa inte det.

Det finns ett antal malware -skannrar tillgängliga för Linux -system som regelbundet kan validera integriteten hos servrar. Linux Malware Detect, även känt som maldet eller LCD, är ett populärt alternativ som kan installeras och konfigureras för att söka efter kända malware -signaturer baserat på dess databas.

Den kan köras manuellt för engångsskanningar och kan också köras via cronjob för att köra regelbundna förebyggande genomsökningar och sökningar, särskilt för att kontrollera e-postmeddelanden och filer som kan laddas upp med ftp till servern. Rapporter om dessa genomsökningar kan skickas via e -post till serveradministratörer.

Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave