Det finns många anledningar att ställa in en hemserver. Du kan använda den som en mediaserver, en filserver eller till och med en lokal reservserver. I grund och botten är alla dina filer som inte behöver vara online bra kandidater för en hemserver. Att installera en Linux-driven hemserver är relativt enkelt, särskilt i dessa dagar. Som sagt, att hålla den servern säker är en helt annan historia. Säkerhet kan vara lika knepigt, eftersom det är viktigt.
Installera bara det du absolut behöver
Ett av de enklaste sätten att hålla din hemserver säker är att hålla säkerheten i åtanke från början. Detta börjar med installationen. Är du osäker på om du behöver en applikation eller tjänst? Installera inte det. Du kan alltid installera det senare.
Om du har installerat Linux några gånger är det ännu enklare. Istället för att hålla fast vid standardvärdena, använd de lägen som ger dig mest kontroll över installationen. Ibland kallas dessa ”expertläge” eller något liknande.
Att noggrant hålla reda på installationsalternativ kan spara tid att inaktivera tjänster av säkerhetsskäl senare.
Konfigurera sudo
Innan du går vidare till andra steg måste du konfigurera sudo
. Varför? Eftersom när vi är klara här loggar du in på din server via SSH och du kan inte logga in som root-konto. För att göra ytterligare ändringar i ditt system måste du använda sudo
.
Kontrollera först om du redan kan använda sudo
. Från ditt användarkonto, kör följande med ditt användarnamn istället för USERNAME:
sudo -lU USERNAME
Om du ser ett meddelande om att ditt användarnamn kan köra “(ALL) ALL” eller något liknande är du redo att gå vidare.
Kör nu som root-konto på din server för att redigera filen “/ etc / sudoers”. Om du föredrar en annan redaktör, använd den istället för nano.
EDITOR=nano visudo
Redigera filen så att den innehåller följande, med ditt användarnamn istället för USERNAME:
USERNAME ALL=(ALL) ALL
Konfigurera SSH
Du kanske redan har SSH aktiverat på din hemserver. Du gör det troligtvis, eftersom det här är typiskt hur du interagerar med en server.
Kontrollera först att OpenSSH är installerat. Om du använder en annan distribution kommer ditt kommando att variera, men paketnamnet bör vara ganska konsekvent. På Ubuntu kör du följande:
sudo apt install openssh-server
Att använda nyckelbaserad autentisering är mycket säkrare än lösenordsautentisering, så vi ställer in SSH så att det fungerar. För att göra detta, se till att du arbetar med en klient som du planerar att ansluta till servern med, inte själva servern. Först vill du se till att du inte redan har några SSH-nycklar:
ls ~/.ssh/
Om du ser “id_rsa” och “id_rsa.pub” bland de angivna filnamnen har du redan SSH-nycklar. Hoppa över nästa steg.
ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"
Nu kopierar du SSH-nyckeln till din server:
ssh-copy-id USERNAME@SERVER
För en hemserver kan du troligen använda en IP-adress för din server istället för ett namn. Om du inte vet ditt servernamn, använd din IP-adress istället för SERVER ovan.
Nu redigerar vi dina SSH-inställningar för att säkra dem mer. Logga in på din server från klienten som du skapade nycklarna på. Detta gör att du kan logga in igen efter det här steget. Kör följande och ersätt nano
med den redaktör du väljer.
sudo nano /etc/ssh/sshd_config
Redigera filen och med följande inställningar. Dessa kommer att finnas på olika platser i filen. Se till att det inte finns några dubbletter, eftersom endast den första instansen av en inställning kommer att följas.
ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no PermitRootLogin no
Nu måste du starta om SSH-servern med något av följande kommandon.
På Ubuntu, kör:
sudo systemctl restart ssh
Konfigurera en brandvägg
Beroende på vilka tjänster du kör och hur mycket din server ansluter till Internet kanske du vill köra en brandvägg. Det finns några alternativ för detta, men den beprövade metoden på Linux är iptables.
Att ställa in iptables ligger utanför denna artikel, men oroa dig inte. Vi har en komplett guide för att konfigurera iptables på din maskin.
Ett annat enklare sätt att skapa en brandvägg är att använda ufw
. Du kan installera det med kommandot:
sudo apt install ufw
Som standard blockerar den alla portar. För att aktivera online- och ssh-åtkomst, kör följande ufw-kommandon för att öppna portarna 80, 443 och 22:
sudo ufw allow 80 sudo ufw allow 443 sudo ufw allow 22
Och slutligen, aktivera ufw-tjänsten:
sudo ufw enable
Hålla sig uppdaterad
Servrar kan vara lätta att glömma bort om de bara fungerar, men det kan vara farligt. Se till att hålla din programvara uppdaterad. Du kan använda obevakade uppgraderingar, men dessa kan vara oförutsägbara. Det säkraste sättet är att schemalägga ett regelbundet veckovis eller månatligt serverunderhållsavtal för att se till att allt är upp till snus.
Vart ska man åka härifrån?
Nu har du en bra start för att hålla din server skyddad från externa hot. Vad händer om du behöver komma åt din server hemifrån? Varje dörr du öppnar kan eventuellt användas av en angripare, och varje öppen port ökar din sårbarhet.
Ett av de enklaste sätten att komma åt ditt hemnätverk utifrån är att använda en VPN, som ligger utanför tillämpningsområdet för den här artikeln, men oroa dig inte, vi har täckt dig. Ta en titt på vår lista över de bästa säkra VPN-tjänsterna som finns tillgängliga för en uppfattning om vad dina alternativ är.