Behöver din molnserver en brandvägg?

0
147
Shutterstock/Anatolir

En brandvägg är ett nätverksverktyg som körs på din server och hindrar utomstående från att använda vissa portar. Detta gör det till ett användbart säkerhetsverktyg för att blockera angripare från att komma åt processer som de inte borde. Behöver din server en?

Öppna bara de portar du behöver, brandvägg resten

Tjänsterna du kör på din server ansluter till omvärlden via portar. Varje port har ett nummer och tjänsten lyssnar efter anslutningar på det portnumret. Detta är inte alltid en säkerhetsrisk, eftersom du ofta måste ha portar öppna för att användarna ska kunna komma åt din tjänst.

Portarna 80 och 443 är standardportarna för HTTP och HTTPS. Om du kör en webbserver måste denna vara öppen. Port 22 kommer sannolikt att vara öppen på alla nya Linux-installationer, eftersom det är standard SSH-porten. Du kan stänga den här porten, men du måste flytta SSH till en annan port (vilket är en bra idé ändå).

Utan en brandvägg på plats kommer alla tjänster som startar en anslutning att tillåtas åtkomst till alla portar som standard. Det är bäst att ha dina regler definierade för att förhindra att detta händer och för att säkerställa att inget oväntat körs på ditt system. Det är precis vad en brandvägg definierar reglerna för hur processer på din server kan prata med omvärlden.

För att kontrollera vilka portar som för närvarande är öppna på ditt system kan du köra:

sudo netstat -plnt

Eller, om du vill ha mer koncis utdata:

sudo netstat -plnt | grep “LYSNA” | awk '{print $4 “t” $7}' Annons

Dessa kommandon kommer att lista ut varje öppen port, tillsammans med vilken process som använder den porten. Netstat visar bara PID och filnamn för processen, så om du behöver hela sökvägen måste du skicka PID till ps-kommandot. Om du behöver skanna portar utan att komma åt servern kan du använda klientsidans verktyg nmap.

Allt annat som inte specifikt används för att vara värd för en tjänst bör stängas med en brandvägg.

Om allt som körs på ditt system ska vara öppet kanske du inte behöver en brandvägg. Men utan en sådan kan alla oanvända portar lätt öppnas av en ny process som du installerar. Du måste se till att alla nya tjänster inte behöver låsas.

Kör inte din Tjänster på offentliga IP-adresser i första hand

En brandvägg är ett utmärkt säkerhetsverktyg, men vissa tjänster bör inte vara tillgängliga för hela världen. Om en port måste vara öppen är den tjänsten sårbar för brute force-attacker och andra otäcka problem. Men du kan förhindra att detta händer genom att låsa anslutningar till ditt virtuella privata moln.

Databaser är det främsta exemplet på detta. En databas som MySQL måste ha en öppen port för administrativa anslutningar. Men om det enda som pratar med databasen är din webbserver (och du, när du utför underhåll), bör du hålla MySQL privat och bara tillåta den att prata med webbservern. Om du behöver komma åt den kan du SSH till webbservern och komma åt resten av nätverket därifrån.

Hur man konfigurerar en brandvägg< /h2>

Om du använder en hanterad värdtjänst som Amazon Web Services eller Digital Ocean, kan din leverantör ha en brandvägg som du kan hantera från ett webbgränssnitt. Om detta är ett alternativ bör du konfigurera din brandvägg på detta sätt.

Annons

I synnerhet AWS tvingar dig att använda deras brandvägg, som hanteras med säkerhetsgrupper. Alla portar är stängda som standard (med undantag för port 22), så du måste öppna dem manuellt från deras gränssnitt. Du kan redigera säkerhetsgrupperna för alla körande instanser från EC2 Management Console och ändra reglerna för inkommande.

AWS låter dig ange källan för regeln, så att du till exempel kan låsa SSH till endast din personliga IP-adress, eller göra anslutningen mellan din databasserver och webbserver privat.

RELATERAT: Nybörjarguiden till iptables, Linux-brandväggen

Om du använder andra leverantörer som Linode eller vanlig värd, måste du konfigurera brandväggen själv. För detta är den enklaste metoden att använda iptables-verktyget.

Om du kör en Windows-server måste du konfigurera den passande namnet Windows-brandväggen, vilket du kan göra från Windows Management Console eller genom att använda netsh.