Viktiga aspekter
- Aktivera kryptering för SMB-trafik för att skydda mot obehörig åtkomst och cyberattacker. Använd Transport Layer Security (TLS) för att säkra datatrafiken till din Linux Samba-server.
- Inför strikta åtkomstkontroller och rättigheter till delade resurser genom konfigurationsfilen /etc/samba/smb.conf. Definiera tydliga regler för åtkomst, behörigheter och begränsningar för att garantera att endast behöriga användare kan nå resurser.
- Använd starka och unika lösenord för SMB-användarkonton för att öka säkerheten. Uppdatera regelbundet Linux och Samba för att skydda mot sårbarheter och cyberattacker samt undvika det osäkra SMBv1-protokollet.
- Konfigurera brandväggsregler för att begränsa åtkomst till SMB-portar och överväg nätverkssegmentering för att separera SMB-trafik från opålitliga nätverk. Övervaka SMB-loggar för misstänkt aktivitet och säkerhetsincidenter, begränsa gäståtkomst och anonyma anslutningar.
- Använd värdbaserade begränsningar för att kontrollera åtkomst från specifika värdar och neka andra. Inför ytterligare säkerhetsåtgärder för att förstärka ditt nätverk och skydda dina Linux-servrar.
SMB-protokollet (Server Message Block) är centralt för fil- och skrivardelning i nätverksmiljöer. En standardkonfiguration av Samba kan dock skapa betydande säkerhetsrisker som gör ditt nätverk sårbart för obehörig åtkomst och cyberattacker.
Om du driver en Samba-server är det extra viktigt att vara noggrann med dina konfigurationer. Här följer 10 viktiga steg för att säkerställa att din SMB-server förblir trygg och säker.
1. Aktivera kryptering av SMB-trafik
SMB-trafik är som standard inte krypterad. Du kan verifiera detta genom att analysera nätverkspaket med verktyg som tcpdump eller Wireshark. Det är avgörande att kryptera all trafik för att förhindra att en angripare avlyssnar och analyserar den.
Det rekommenderas starkt att använda Transport Layer Security (TLS) för att kryptera och säkra trafiken till din Linux Samba-server.
2. Inför strikta åtkomstkontroller och behörigheter för delade resurser
Du bör införa strikta åtkomstkontroller och behörigheter för att säkerställa att användare inte kan komma åt obehöriga resurser. Samba använder en central konfigurationsfil, /etc/samba/smb.conf, där du kan definiera regler för åtkomst och behörigheter.
Med hjälp av en specifik syntax kan du definiera de resurser som ska delas, användare/grupper som ska få tillgång till dessa resurser och om resurserna kan bläddras, skrivas till eller läsas från. Här är ett exempel på syntaxen för att deklarera en resurs och införa åtkomstkontroller:
[sambashare] comment= Samba Exempel path = /home/ditt_användarnamn/sambashare browseable = yes writable = yes valid users = @gruppnamn
I ovanstående rader skapar vi en ny delningsplats med en sökväg och begränsar åtkomsten till endast en specifik grupp med ”valid users”. Det finns flera andra sätt att definiera kontroller och åtkomst till en resurs. Du kan lära dig mer i vår detaljerade guide om hur du konfigurerar en nätverksdelad mapp på Linux med Samba.
3. Använd starka och unika lösenord för SMB-användarkonton
Att tillämpa robusta lösenordsregler för SMB-användarkonton är en grundläggande säkerhetsåtgärd. Som systemadministratör bör du skapa eller uppmana användare att skapa starka och unika lösenord för sina konton.
Du kan underlätta processen genom att automatiskt generera starka lösenord med hjälp av verktyg. Alternativt kan du också regelbundet byta lösenord för att minska risken för dataläckor och obehörig åtkomst.
4. Uppdatera regelbundet Linux och Samba
Det enklaste passiva skyddet mot alla typer av cyberattacker är att säkerställa att du kör uppdaterade versioner av kritisk programvara. SMB är ett attraktivt mål för angripare och har exponerats för sårbarheter.
Det har funnits flera allvarliga SMB-sårbarheter tidigare som har lett till fullständigt systemövertagande eller förlust av konfidentiell data. Du måste hålla både ditt operativsystem och viktiga tjänster uppdaterade.
5. Undvik att använda SMBv1-protokollet
SMBv1 är ett osäkert protokoll. Det rekommenderas alltid, oavsett om du använder SMB på Windows eller Linux, att undvika SMBv1 och endast använda SMBv2 eller senare. För att inaktivera SMBv1 lägger du till den här raden i konfigurationsfilen:
min protocol = SMB2
Detta säkerställer att den lägsta protokollnivån som används är SMBv2.
6. Tillämpa brandväggsregler för att begränsa åtkomst till SMB-portar
Konfigurera din nätverksbrandvägg så att endast betrodda källor får åtkomst till SMB-portar, vanligtvis port 139 och 445. Detta hjälper till att förhindra obehörig åtkomst och minskar risken för SMB-baserade attacker från externa hot.
Du bör även överväga att installera en IDS-lösning tillsammans med en dedikerad brandvägg för att få bättre kontroll och loggning av trafik. Är du osäker på vilken brandvägg du ska använda? Du kan hitta en lämplig i listan över de bästa gratis Linux-brandväggarna.
7. Implementera nätverkssegmentering för att isolera SMB-trafik från opålitliga nätverk
Nätverkssegmentering är en metod för att dela upp ett datornätverk i flera undernät, kallade nätverkssegment. Syftet är att förbättra nätverkets säkerhet, prestanda och hanterbarhet.
För att isolera SMB-trafik från opålitliga nätverk kan du skapa ett separat nätverkssegment för SMB-trafik och konfigurera brandväggsregler som endast tillåter SMB-trafik till och från detta segment. Detta ger dig möjlighet att hantera och övervaka SMB-trafik på ett fokuserat sätt.
På Linux kan du använda iptables eller liknande verktyg för att konfigurera brandväggsregler som styr trafikflödet mellan nätverkssegment. Du kan skapa regler för att tillåta SMB-trafik till och från SMB-nätverkssegmentet samtidigt som all annan trafik blockeras. Detta isolerar effektivt SMB-trafik från opålitliga nätverk.
8. Övervaka SMB-loggar för misstänkta aktiviteter och säkerhetsincidenter
Att övervaka SMB-loggar för misstänkta aktiviteter och säkerhetsincidenter är avgörande för att upprätthålla nätverkssäkerheten. SMB-loggar innehåller information om SMB-trafik, inklusive filåtkomst, autentisering och andra händelser. Genom att regelbundet övervaka loggarna kan du identifiera potentiella säkerhetshot och åtgärda dem.
På Linux kan du använda kommandot `journalctl` och skicka resultatet till kommandot `grep` för att visa och analysera SMB-loggar.
journalctl -u smbd.service
Detta visar loggarna för smbd.service-enheten, som hanterar SMB-trafik. Du kan använda alternativet `-f` för att följa loggarna i realtid eller alternativet `-r` för att visa de senaste posterna först.
För att söka i loggarna efter specifika händelser eller mönster, skicka utdata från `journalctl`-kommandot till `grep`. Till exempel, för att söka efter misslyckade autentiseringsförsök, kör:
journalctl -u smbd.service | grep -i "authentication failure"
Detta visar alla loggposter som innehåller texten ”authentication failure”, vilket gör att du snabbt kan identifiera misstänkt aktivitet eller brute-force-försök.
9. Begränsa användningen av gäståtkomst och anonyma anslutningar
Gäståtkomst tillåter användare att ansluta till Samba-servern utan användarnamn eller lösenord, medan anonyma anslutningar tillåter anslutningar utan autentiseringsinformation.
Båda dessa alternativ kan skapa en säkerhetsrisk om de inte hanteras korrekt. Det rekommenderas att inaktivera dem. För att göra det måste du lägga till eller ändra ett par rader i Samba-konfigurationsfilen. Här är vad du behöver lägga till/ändra i den globala delen av filen `smb.conf`:
map to guest = never restrict anonymous = 2
10. Inför värdbaserade begränsningar
Som standard kan en exponerad Samba-server nås av vilken värd som helst (IP-adress) utan begränsningar. Med åtkomst avses upprättande av anslutningen, inte nödvändigtvis åtkomst till resurserna.
För att tillåta åtkomst från specifika värdar och neka andra, kan du använda alternativen `hosts allow` och `hosts deny`. Här är syntaxen för att lägga till i konfigurationsfilen för att tillåta/neka värdar:
hosts allow = 127.0.0.1 192.168.1.0/24 hosts deny = 0.0.0.0/0
Här beordras Samba att neka alla anslutningar utom de från den lokala värden och nätverket 192.168.1.0/24. Detta är en grundläggande metod för att säkra din SSH-server.
Nu vet du hur du säkrar din Samba Linux-server
Linux är utmärkt för att vara värd för servrar. När du hanterar servrar måste du vara försiktig och extra medveten, eftersom Linux-servrar alltid är ett attraktivt mål för hotaktörer.
Det är avgörande att du anstränger dig för att stärka ditt nätverk och skydda dina Linux-servrar. Förutom att konfigurera Samba korrekt finns det ytterligare åtgärder du bör vidta för att säkerställa att din Linux-server är skyddad från attacker.