Initial säker serverkonfiguration av Ubuntu 18.04

Introduktion

Genom den här handledningen kommer du att lära dig hur du konfigurerar en grundläggande säkerhetsnivå på en helt ny Vultr VC2 virtuell maskin som kör Ubuntu 18.04.

Förutsättningar

  • Ett Vultr-konto, du kan skapa ett här
  • En ny Ubuntu 18.04 Vultr VM

Skapa och ändra en användare

Det första vi ska göra är att skapa vår nya användare som vi kommer att använda för att logga in på den virtuella datorn:

adduser porthorian

Obs: Det rekommenderas att använda ett unikt användarnamn som är svårt att gissa. De flesta bots kommer som standard att prova root, admin, moderator, och liknande.

Du kommer att bli ombedd att ange ett lösenord här. Det rekommenderas starkt att du använder ett starkt alfanumeriskt lösenord. Därefter följer du anvisningarna på skärmen och när den frågar dig om informationen är korrekt trycker du bara på Y.

När den nya användaren har lagts till kommer vi att behöva ge den användaren sudo-behörigheter så att vi kan utföra kommandon från användaren på uppdrag av rotanvändaren:

usermod -aG sudo porthorian

När du har gett din användare sudo-behörigheter byt till din nya användare:

su - porthorian

Generera och konfigurera en SSH-nyckel

För att generera SSH-nyckeln, följ detta dokument .

När du har skapat din nya SSH-nyckel, kopiera din publika nyckel. Det ska se ut så här:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

Konfigurera din användarkatalog

Navigera till användarens hemkatalog om du inte redan är i den:

cd $HOME

$HOMEär miljövariabeln för dina användares hemkatalog. Detta ställs in automatiskt när den nya användaren skapas.

I vår hemkatalog kommer vi att placera en annan katalog i den. Denna katalog kommer att döljas för andra användare på maskinen, förutom root och användaren som äger katalogen. Skapa den nya katalogen och begränsa dess behörigheter med följande kommandon:

mkdir ~/.ssh
chmod 700 ~/.ssh

Nu ska vi öppna en fil som .sshheter authorized_keys. Detta är den universella filen som OpenSSH letar efter. Du kan ändra namnet på detta i OpenSSH-konfigurationen, /etc/ssh/sshd_config, om behov uppstår.

Använd din favoritredigerare för att skapa filen. Denna handledning kommer att använda nano:

nano ~/.ssh/authorized_keys

Kopiera och klistra in din ssh-nyckel i authorized_keysfilen som vi har öppnat. När den publika nyckeln är inuti kan du spara filen genom att trycka på CTRL+ O.

Se till att rätt filsökväg visas:

/home/porthorian/.ssh/authorized_keys

Om det är rätt sökväg, tryck bara på ENTER, annars gör nödvändiga ändringar för att matcha exemplet ovan. Avsluta sedan filen med CTRL+ X.

Nu ska vi begränsa åtkomsten till filen:

chmod 600 ~/.ssh/authorized_keys

Avsluta vår skapade användare och gå tillbaka till rotanvändaren:

exit

Inaktiverar lösenordsautentisering

Vi kan nu inaktivera lösenordsautentisering till servern, på så sätt kommer inloggning att kräva en ssh-nyckel. Det är viktigt att notera att om du inaktiverar lösenordsautentisering och den offentliga nyckeln inte installerades korrekt kommer du att låsa dig själv från din server. Det rekommenderas att du testar nyckeln först innan du ens loggar ut från din rootanvändare.

Vi är för närvarande inloggade på vår root-användare, så vi kommer att redigera sshd_config:

nano /etc/ssh/sshd_config

Vi kommer att söka efter 3 värden för att se till att OpenSSH är korrekt konfigurerat.

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

Vi kan hitta dessa värden genom att trycka på CTRL+ W.

Värdena bör ställas in på följande:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

Om värdena kommenteras bort, ta bort i #början av raden och se till att värdena för dessa variabler är som visas ovan. När du har ändrat dessa variabler, spara och avsluta editorn med CTRL+ O, ENTERoch slutligen CTRL+ X.

Nu ska vi ladda om sshdmed följande kommando:

systemctl reload sshd

Nu kan vi testa inloggningen. Se till att du inte har loggat ut från din root-session ännu och öppna ett nytt ssh-fönster och anslut med din ssh-nyckel som är länkad till anslutningen.

I PuTTY är detta under Connection-> SSH-> Auth.

Bläddra för att hitta din privata nyckel för autentisering, eftersom du borde ha sparat den när du skapade ssh-nyckeln.

Anslut till din server med den privata nyckeln som autentisering. Du kommer nu att loggas in på din virtuella Vultr VC2-maskin.

Obs: Om du lade till en lösenfras medan du genererade ssh-nyckeln kommer du att bli ombedd att ange en. Detta är helt annorlunda än din faktiska användares lösenord på den virtuella maskinen.

Konfigurera en grundläggande brandvägg

Konfigurera UFW

Först ska vi börja med att installera UFW om det inte redan finns på den virtuella maskinen. Ett bra sätt att kontrollera är med följande kommando:

sudo ufw status

Om UFW är installerat kommer det att mata ut Status:inactive. Om den inte är installerad kommer du att bli instruerad att göra det.

Vi kan installera det med detta kommando:

sudo apt-get install ufw -y

Nu kommer vi att tillåta SSH-port 22i vår brandvägg:

sudo ufw allow 22

Alternativt kan du tillåta OpenSSH:

sudo ufw allow OpenSSH

Ett av kommandona ovan kommer att fungera.

Nu när vi har tillåtit porten genom vår brandvägg kan vi aktivera UFW:

sudo ufw enable

Du kommer att tillfrågas om du är säker på att du vill utföra denna operation. Om du skriver yföljt av ENTERaktiveras brandväggen:

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

Obs: Om du inte tillät OpenSSH eller Port 22 kommer du att låsa dig själv från din virtuella maskin. Se till att en av dessa är tillåten innan du aktiverar UFW.

När brandväggen är aktiverad kommer du fortfarande att vara ansluten till din instans. Vi kommer att dubbelkolla vår brandvägg nu med samma kommando som tidigare:

sudo ufw status

Du kommer att se något som liknar följande utdata:

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

Konfigurera Vultr-brandväggen

För att ytterligare säkra vår server kommer vi att använda vår Vultr-brandvägg. Logga in på ditt konto . När du väl är inloggad kommer du att navigera till brandväggsfliken längst upp på skärmen:

Initial säker serverkonfiguration av Ubuntu 18.04

Nu ska vi lägga till en ny brandväggsgrupp. Detta gör att vi kan specificera vilka portar som till och med kan nå vår UFW-brandvägg, vilket ger oss ett dubbelt lager av säkerhet:

Initial säker serverkonfiguration av Ubuntu 18.04

Vultr kommer nu att fråga dig vad du ska heta din brandvägg med hjälp av fältet "Beskrivning". Se till att du beskriver vad servrarna under denna brandväggsgrupp kommer att göra, för enklare framtida administration. För den här handledningens skull kommer vi att namnge den test. Du kan alltid ändra beskrivningen senare om du vill.

Först måste vi få vår IP-adress. Anledningen till att vi gör detta direkt är att om din IP-adress inte är statisk och ständigt förändras kan du helt enkelt logga in på ditt Vultr-konto och ändra IP-adressen.

Det är också därför vi inte krävde IP-adressen på UFW-brandväggen. Dessutom begränsar det användningen av din virtuella maskins brandvägg från att filtrera bort alla andra portar och låter bara Vultr-brandväggen hantera det. Detta begränsar belastningen av övergripande trafikfiltrering på din instans.

Använd Vultrs nätverksglas för att hitta din IP-adress.

Så nu när vi har vår IP-adress kommer vi att lägga till en IPV4-regel till vår nyskapade brandvägg:

Initial säker serverkonfiguration av Ubuntu 18.04

När du har angett IP-adressen klickar du på +symbolen för att lägga till din IP-adress i brandväggen.

Din brandväggsgrupp kommer att se ut så här:

Initial säker serverkonfiguration av Ubuntu 18.04

Nu när vi har vår IP ordentligt bunden i brandväggsgruppen måste vi länka vår Vultr-instans. På vänster sida ser du en flik som säger "Länkade instanser":

Initial säker serverkonfiguration av Ubuntu 18.04

Väl på sidan kommer du att se en rullgardinsmeny med en lista över dina serverinstanser:

Initial säker serverkonfiguration av Ubuntu 18.04

Klicka på rullgardinsmenyn och välj din instans. Sedan, när du är redo att lägga till instansen i brandväggsgruppen, klicka på +symbolen.

Grattis, du har framgångsrikt säkrat din Vultr VC2 Virtual Machine. Detta ger dig en bra grund för ett mycket grundläggande säkerhetslager utan att behöva oroa dig för att någon försöker brute-force din instans.

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer