Handleiding voor het beschermen van een VPS-server met Linux

Inhoudsopgave

EEN VPS-server (Virtual Private Server),,Het is een logische partitie van een harde schijf via een virtuele machine, een vps geeft ons meer controle over het beheer van resources in vergelijking met de shared server service.

Een VPS is ideaal voor degenen die een server professioneel willen gebruiken maar tegen lagere kosten dan een dedicated server en ook voor degenen die willen starten en testen in het beheer van servers, maar niet zeker zijn van de technische aspecten, de VPS server is een goede optie om te beginnen. Het kan worden gebruikt om tools en vaardigheden te testen zonder al te veel geld uit te geven en een productieserver in gevaar te brengen.

We kunnen een VPS maken zoals te zien is in de tutorial:

  • Maak een lokale VPS-server

Of gebruik wat betalingen, er zijn veel bedrijven die VPS-server per maand of per dag aanbieden, zoals DigitalOcean, om configuraties in een echte omgeving te testen.

Het belangrijkste wanneer we een server moeten beheren, is om te beslissen welke beveiligingsmaatregelen we zullen nemen. Hoewel er veel beveiligingsmaatregelen en -hulpmiddelen zijn, kunnen ze ook contraproductief zijn omdat ze bronnen verbruiken en sommige applicaties mogelijk niet goed laten werken, dus we moeten ons bewust zijn van de risico's, de behoeften om te kunnen beslissen over de balans tussen gemak, serverprestaties en veiligheid.

In deze tutorial geef ik een reeks aanbevolen configuraties voor een veilige VPS

Toegang blokkeren met firewalls
Firewalls fungeren als een barrière tussen het algemene internetverkeer en de server. Het is belangrijk om intern en extern verkeer te beoordelen, te filteren en te blokkeren.

Via een set regels die door de beheerder zijn geconfigureerd, gebruikt een server alleen specifieke netwerkpoorten voor geautoriseerde services. De overige poorten zijn niet gebruikt en moeten veilig achter een firewall worden afgeschermd om al het verkeer dat voor deze plekken bestemd is, tegen te houden.

Voor deze tutorial gaan we ervan uit dat we een Linux VPS-server beheren om beveiligingsmaatregelen te nemen. Om basis firewall regels vast te stellen moeten we eerst bijhouden welke poorten we open hebben staan, hiervoor gebruiken we het commando:

 ifconfig
We bepalen het ip:
 nmap -sT -O 192.168.0.11

Hierdoor weet u welke poorten luisteren en bepaalt u in sommige gevallen het gebruik van services. Het goed configureren van de regels van onze firewall is een goede basis voor de beveiliging van de server en het netwerk.

Er zijn veel firewalls beschikbaar, sommige zijn:

  • IPCop-firewall
  • ConfigServer-beveiliging en firewall

De meest gebruikte firewall is Iptables dat al bij Linux wordt geleverd, maar het heeft geen grafische interface, vanuit het terminalvenster (verbonden via SSH) kunnen we de volgende opdrachten gebruiken:

Blokkeer een bepaald inkomend IP-adres:

 sudo iptables -A INPUT -s 190.160.45.60 -j DROP
Blokkeer een inkomend IP-adres en een poort via ethernet-netwerkinterface of bekabeld netwerk:
 iptables -A INPUT -i eth0 -s 190.160.45.60 --bestemmingspoort 25 -j DROP
Ik blokkeer een inkomend IP maar via wifi:
 iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROP
Als ik de IP-parameter -s verwijder en de poort verlaat, blokkeer ik de poort voor elk IP

Iptables is de tool die wordt gebruikt om de netfilter-firewall te beheren die is opgenomen in de Linux-kernel. Het voordeel van Iptables is dat het zeer diepgaande beveiligingsaudits heeft ondergaan om er zeker van te zijn dat het werkt en nuttig is.

Een ander interessant aspect is dat we een script of een interface kunnen maken om de regels voor iptables te definiëren, hoewel er al veel beschikbaar zijn waarmee je op een zeer flexibele manier met sets regels kunt configureren.

Veilig SSH gebruiken voor beheer op afstand
Wanneer we een server moeten beheren waar we geen lokale toegang toe hebben, moeten we dit op afstand doen. Hiervoor wordt de service gebruikt via een protocol genaamd SSH, wat staat voor Secure Shell, waarmee de server volledig kan worden beheerd door middel van een commando-interpreter,

SSH biedt de mogelijkheid om een ​​verkeerstunnel tussen de computer en de server te maken en te onderhouden, zodat een beveiligde verbinding tot stand wordt gebracht terwijl de tunnel gegevens over een versleutelde verbinding verzendt.

Hoewel het protocol zelf erg veilig is en uitgebreid is geanalyseerd en getest op beveiliging, kunnen we enkele configuratie-opties toevoegen om het veiliger te maken, zoals verander de poort aangezien de SSH-verbindingspoort standaard poort 22 is, hiervoor verbinden we via SSH en bewerken vervolgens het bestand:

 / etc / ssh / sshd_config
We maken verbinding met het volgende commando:
 ssh-gebruiker @ ip

Vervolgens bewerken we het bestand en veranderen we de poort naar een andere naar onze smaak die geen enkele service verstoort, bijvoorbeeld 9200:

 nano / etc / ssh / sshd_config

We nemen op en we herstarten SSH zodat het de nieuwe configuratie overneemt, volgens de linux distro:

Fedora, Centos

 sbin / service sshd opnieuw opstarten
Debian, Ubuntu
 /etc/init.d/sshd herstart
Dan zullen we opnieuw toegang moeten krijgen, we zullen het als volgt doen:
 ssh-gebruiker @ ip -p 9200
Dan blokkeren we poort 22 op deze manier kunnen ze ons niet scannen en een brute force-aanval proberen.
 iptables -A OUTPUT -p tcp --dport 22 -j DROP
Installeer een IPS of inbraakpreventiesysteem
Een inbraakpreventiesysteem is software waarmee u de toegang tot een computernetwerk kunt bewaken en controleren om bronnen of een server te beschermen tegen aanvallen en inbraken. Inbraakpreventietechnologie is een essentiële aanvulling op een inbraakdetectiesysteem (IDS), terwijl een IPS werkt als een firewall, terwijl een IDS analyseert welk type verkeer op het netwerk circuleert, maar ook de inhoud controleert en wat die inhoud doet.

Een voorbeeld is Fail2Ban, het is een applicatie ontwikkeld onder Python voor inbraakpreventie, het is een IPS, die automatisch handelt door externe verbindingen die brute force-toegang proberen te analyseren en te blokkeren.

Fail2ban gebruikt niet alleen zijn eigen log van toegangspogingen, het gebruikt ook logs van andere software zoals iptables, die de regels specificeren om een ​​slot toe te kunnen passen.

U kunt regels gebruiken die door de beheerder zijn gemaakt of nieuwe maken volgens uw eigen configuratie, bijvoorbeeld een IP blokkeren die 3 keer geen toegang heeft gekregen.

We kunnen vanuit een SSH-venster of downloaden van de officiële website, als het in de repositories van onze distro komt, installeren we het.

 apt-get install fail2ban
Vervolgens configureren we het door het volgende bestand te bewerken:
 nano /etc/fail2ban/jail.conf

Hier bewerken we enkele van de belangrijkste parameters

  • negeerip: ip dat nooit zal worden geblokkeerd.
  • bantime: tijd in seconden dat het IP-blok duurt.
  • maxretry: maximum aantal mislukte toegangspogingen voordat het wordt geblokkeerd.

Vervolgens kunnen we filters maken voor verschillende applicaties die we in de directory kunnen vinden:

 cd /etc/fail2ban/filter.d

Met dit inbraakpreventiesysteem kunnen we veel aanvallen afzwakken en zo de algemene veiligheid van onze VPS-configuratie verhogen.

Fail2ban is een service die de logbestanden controleert om te bepalen of een toegang een legitieme gebruiker is en om tijdelijk het verkeer te blokkeren van het IP-adres dat is gekoppeld aan de gebruiker die van plan is toegang te krijgen tot bepaalde services, of het nu ftp, ssh, e-mail, internet, enz.

Dit is een gemakkelijke manier om brute force-methoden automatisch te blokkeren, omdat het blokkeren ervan ervoor zorgt dat de aanval stopt met werken zolang we aangeven. Dit is meestal voldoende om verdere brute force-pogingen te ontmoedigen.

Implementeer een inbraakdetectiesysteem of IDS
Een inbraakdetectiesysteem, of IDS, is de verplichte aanvulling op een inbraakpreventiesysteem. Een IDS detecteert bestands- of recordwijzigingen door vergelijkingen uit te voeren Tegen deze eerder geregistreerde toestanden om te weten of de bestanden zijn gewijzigd of een configuratie is gewijzigd en om vast te leggen welke gebruiker het heeft gedaan.

Er zijn veel IDS zoals Snort, die we in de tutorial hebben gezien:

  • Hackerpreventie- en beveiligingshulpmiddelen
Meerkat die we in de tutorial zagen:
  • Suricata Indringer Detectie Systeem
Tripwire die we in de tutorial zagen:
  • Harde beveiliging van servers en besturingssystemen.

Deze tools gebruiken een database met systeembestanden en beschermen configuratiebestanden. Door regels en uitzonderingen te configureren, definieert u welke bestanden moeten worden beveiligd en wat moet worden gerapporteerd, zodat u, wanneer u het systeem gaat bewaken, de uitvoeringen en eventuele wijzigingen van de bestanden die worden gecontroleerd, kunt bekijken.

Alle tools kunnen worden geconfigureerd om van tijd tot tijd automatisch te controleren met cronjob en zelfs e-mailmeldingen te implementeren in geval van ongebruikelijke activiteit.

Als we bijvoorbeeld Snort nemen, installeren we het vanuit de repositories:

 apt-get install snort

Dan gaan we naar de directory waar de regelbestanden staan:

 cd / etc / snuiven / regels

Laten we bijvoorbeeld eens kijken naar het bestand mysql.rules

 nano mysql.rules
Waar we zien gespecificeerd dat elke externe of root-gebruikerstoegang tot de MySQL-service moet worden geïnformeerd.

Een ander voorbeeld is bijvoorbeeld het monitoren van chatprogramma's zowel vanaf de server als vanaf een computer op het netwerk of vanaf een externe computer die gebruik maakt van onze server.

 nano chat.rules 

We kunnen ook elk regelbestand configureren om downloads van een browser of toegang tot een dienst, wijziging van een bestand of een specifieke webpagina te detecteren.

Suricata is moderner dan Snort en Tripwire, omdat het werkt als een sniffer-engine om het inkomende en uitgaande verkeer van een netwerksysteem te analyseren. Het is echter arbeidsintensief om inbraken te analyseren en te detecteren door dubbel werk te doen als IDS en IPS.

Het heeft ook plug-ins om regels toe te wijzen en veel applicaties en programma's te analyseren. Suricata werkt op alle lagen van het OSI-model.

Controleer op virussen en malware met Linux Malware Detect of ClamAV
Hoewel Linux minder vatbaar is voor dit soort aanvallen, is het niet immuun voor kwaadaardige software. De tools van een beveiligingssysteem in combinatie met de implementatie van een IPS en een IDS om inbraakpogingen te detecteren, vereist software die malware kan zoeken en detecteren om sporen van activiteit te identificeren die erop wijzen dat er gevaarlijke software op de systeemserver is geïnstalleerd.

In de Linux Malware Detect (LMD) tutorial om Linux te beveiligen, werd de installatie en het gebruik van deze tool om malware te detecteren uitgelegd, mis het niet.

Er zijn een aantal malwarescanners beschikbaar voor Linux-systemen die kunnen worden gebruikt om periodiek de integriteit van servers te valideren. Linux Malware Detect, ook bekend als maldet of LCD, is een populaire optie die kan worden geïnstalleerd en geconfigureerd om te scannen op bekende malwarehandtekeningen op basis van de database.

Het kan handmatig worden uitgevoerd voor eenmalige scans en kan ook worden uitgevoerd via cronjob om regelmatig preventieve scans en zoekopdrachten uit te voeren, vooral om e-mails en bestanden te controleren die via ftp naar de server kunnen worden geüpload. Rapporten van deze scans kunnen naar serverbeheerders worden gemaild.

Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave