Innledende sikker serverkonfigurasjon av Ubuntu 18.04

Introduksjon

Gjennom denne opplæringen vil du lære hvordan du konfigurerer et grunnleggende sikkerhetsnivå på en helt ny Vultr VC2 virtuell maskin som kjører Ubuntu 18.04.

Forutsetninger

  • En Vultr-konto, du kan opprette en her
  • En ny Ubuntu 18.04 Vultr VM

Opprett og endre en bruker

Det første vi skal gjøre er å opprette vår nye bruker som vi skal bruke til å logge på VM:en:

adduser porthorian

Merk: Det anbefales å bruke et unikt brukernavn som vil være vanskelig å gjette. De fleste roboter vil som standard prøve root, admin, moderator, og lignende.

Du vil bli bedt om et passord her. Det anbefales på det sterkeste at du bruker et sterkt alfanumerisk passord. Deretter følger du instruksjonene på skjermen, og når den spør deg om informasjonen er riktig, trykker du bare på Y.

Når den nye brukeren er lagt til, må vi gi den brukeren sudo-tillatelser slik at vi kan utføre kommandoer fra brukeren på vegne av root-brukeren:

usermod -aG sudo porthorian

Når du har gitt brukeren sudo-tillatelser, bytt til den nye brukeren:

su - porthorian

Generer og konfigurer en SSH-nøkkel

For å generere SSH-nøkkelen, følg dette dokumentet .

Når du har generert den nye SSH-nøkkelen, kopierer du den offentlige nøkkelen. Det skal se slik ut:

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

Konfigurer brukerkatalogen din

Naviger til brukerens hjemmekatalog hvis du ikke allerede er i den:

cd $HOME

$HOMEer miljøvariabelen for brukernes hjemmekatalog. Dette settes automatisk når den nye brukeren opprettes.

Mens vi er i hjemmekatalogen vår, skal vi plassere en annen katalog i den. Denne katalogen vil være skjult for andre brukere på maskinen, bortsett fra root og brukeren som eier katalogen. Opprett den nye katalogen og begrens dens tillatelser med følgende kommandoer:

mkdir ~/.ssh
chmod 700 ~/.ssh

Nå skal vi åpne en fil i .sshkalt authorized_keys. Dette er den universelle filen som OpenSSH ser etter. Du kan endre navnet på denne i OpenSSH-konfigurasjonen, /etc/ssh/sshd_config, hvis behovet oppstår.

Bruk favorittredigeringsprogrammet for å lage filen. Denne opplæringen vil bruke nano:

nano ~/.ssh/authorized_keys

Kopier og lim inn ssh-nøkkelen din i authorized_keysfilen vi har åpnet. Når den offentlige nøkkelen er inne, kan du lagre filen ved å trykke CTRL+ O.

Sørg for at den riktige filbanen vises:

/home/porthorian/.ssh/authorized_keys

Hvis det er riktig filbane, trykker du bare på ENTER, ellers gjør du nødvendige endringer for å matche eksemplet ovenfor. Avslutt deretter filen med CTRL+ X.

Nå skal vi begrense tilgangen til filen:

chmod 600 ~/.ssh/authorized_keys

Gå ut av den opprettede brukeren og gå tilbake til rotbrukeren:

exit

Deaktiverer passordautentisering

Vi kan nå deaktivere passordautentisering til serveren, på den måten vil innlogging kreve en ssh-nøkkel. Det er viktig å merke seg at hvis du deaktiverer passordautentisering og den offentlige nøkkelen ikke ble installert riktig, vil du låse deg ute fra serveren din. Det anbefales at du tester nøkkelen først før du logger ut av root-brukeren.

Vi er for øyeblikket logget på root-brukeren vår, så vi skal redigere sshd_config:

nano /etc/ssh/sshd_config

Vi skal søke etter 3 verdier for å sikre at OpenSSH er riktig konfigurert.

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

Vi kan finne disse verdiene ved å trykke CTRL+ W.

Verdiene bør settes til følgende:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

Hvis verdiene er kommentert ut, fjerner du #på begynnelsen av linjen og kontrollerer at verdiene til disse variablene er som vist ovenfor. Når du har endret disse variablene, lagre og avslutte din editor, med CTRL+ O, ENTERog til slutt CTRL+ X.

Nå skal vi laste inn på nytt sshdmed følgende kommando:

systemctl reload sshd

Nå kan vi teste påloggingen. Pass på at du ikke har logget ut av rotøkten din ennå, og åpne et nytt ssh-vindu og koble til med ssh-nøkkelen din som er koblet til tilkoblingen.

I PuTTY er dette under Connection-> SSH-> Auth.

Bla gjennom for å finne din private nøkkel for autentisering, siden du burde ha lagret den når du opprettet ssh-nøkkelen.

Koble til serveren din med den private nøkkelen som autentisering. Du vil nå være logget på din Vultr VC2 virtuelle maskin.

Merk: Hvis du la til en passordfrase mens du genererte ssh-nøkkelen, blir du bedt om en. Dette er helt forskjellig fra ditt faktiske brukerpassord på den virtuelle maskinen.

Sett opp en grunnleggende brannmur

Konfigurer UFW

Først skal vi starte med å installere UFW hvis det ikke allerede er på den virtuelle maskinen. En god måte å sjekke er med følgende kommando:

sudo ufw status

Hvis UFW er installert, vil den sende ut Status:inactive. Hvis den ikke er installert, vil du bli bedt om å gjøre det.

Vi kan installere det med denne kommandoen:

sudo apt-get install ufw -y

Nå skal vi tillate SSH-port 22i brannmuren vår:

sudo ufw allow 22

Alternativt kan du tillate OpenSSH:

sudo ufw allow OpenSSH

En av kommandoene ovenfor vil fungere.

Nå som vi har tillatt porten gjennom brannmuren vår, kan vi aktivere UFW:

sudo ufw enable

Du vil bli spurt om du er sikker på at du vil utføre denne operasjonen. Å skrive yetterfulgt av ENTERvil aktivere brannmuren:

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

Merk: Hvis du ikke tillot OpenSSH eller Port 22, vil du låse deg ute fra din virtuelle maskin. Sørg for at en av disse er tillatt før du aktiverer UFW.

Når brannmuren er aktivert, vil du fortsatt være koblet til instansen din. Vi skal dobbeltsjekke brannmuren vår nå med samme kommando som før:

sudo ufw status

Du vil se noe som ligner på følgende utgang:

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

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

Konfigurering av Vultr-brannmuren

For ytterligere å sikre serveren vår kommer vi til å bruke vår Vultr-brannmur. Logg inn på kontoen din . Når du er logget på vil du navigere til brannmurfanen øverst på skjermen:

Innledende sikker serverkonfigurasjon av Ubuntu 18.04

Nå skal vi legge til en ny brannmurgruppe. Dette vil tillate oss å spesifisere hvilke porter som til og med kan nå UFW-brannmuren vår, og gir oss et dobbelt lag med sikkerhet:

Innledende sikker serverkonfigurasjon av Ubuntu 18.04

Vultr vil nå spørre deg hva du skal kalle brannmuren din ved å bruke "Beskrivelse"-feltet. Sørg for at du beskriver hva serverne under denne brannmurgruppen skal gjøre, for enklere fremtidig administrasjon. For denne veiledningens skyld skal vi gi den et navn test. Du kan alltid endre beskrivelsen senere hvis du ønsker det.

Først må vi få IP-adressen vår. Grunnen til at vi gjør dette direkte er at hvis IP-adressen din ikke er statisk og stadig endres, kan du ganske enkelt logge inn på Vultr-kontoen din og endre IP-adressen.

Det er også derfor vi ikke krevde IP-adressen på UFW-brannmuren. I tillegg begrenser det bruken av den virtuelle maskinens brannmur fra å filtrere ut alle de andre portene og lar Vultr-brannmuren håndtere det. Dette begrenser belastningen av generell trafikkfiltrering på forekomsten din.

Bruk Vultrs nettverksglass for å finne IP-adressen din.

Så nå som vi har IP-adressen vår, skal vi legge til en IPV4-regel til vår nyopprettede brannmur:

Innledende sikker serverkonfigurasjon av Ubuntu 18.04

Når du har skrevet inn IP-adressen, klikker du på +symbolet for å legge til IP-adressen din i brannmuren.

Brannmurgruppen din vil se slik ut:

Innledende sikker serverkonfigurasjon av Ubuntu 18.04

Nå som vi har IP-adressen vår riktig bundet i brannmurgruppen, må vi koble til Vultr-instansen vår. På venstre side vil du se en fane som sier "Linked Instances":

Innledende sikker serverkonfigurasjon av Ubuntu 18.04

En gang på siden vil du se en rullegardin med en liste over serverforekomstene dine:

Innledende sikker serverkonfigurasjon av Ubuntu 18.04

Klikk på rullegardinmenyen og velg din forekomst. Deretter, når du er klar til å legge til forekomsten i brannmurgruppen, klikker du på +symbolet.

Gratulerer, du har sikret din Vultr VC2 Virtual Machine. Dette gir deg et godt grunnlag for et veldig grunnleggende sikkerhetslag uten å bekymre deg for at noen prøver å brute-force din instans.


Sett opp Cacti på Debian Jessie

Sett opp Cacti på Debian Jessie

Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter

Installer Lets Encrypt SSL på ett-klikks WordPress-appen

Installer Lets Encrypt SSL på ett-klikks WordPress-appen

Introduksjon Lets Encrypt er en sertifikatmyndighetstjeneste som tilbyr gratis TLS/SSL-sertifikater. Installasjonsprosessen forenkles av Certbot,

Sett opp iRedMail på Debian Wheezy

Sett opp iRedMail på Debian Wheezy

Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve

Tre gratis serverkontrollpaneler (hurtiginstallasjon)

Tre gratis serverkontrollpaneler (hurtiginstallasjon)

1. Virtualmin/Webmin Virtualmin er et kraftig og fleksibelt kontrollpanel for webhotell for Linux- og UNIX-systemer basert på den velkjente Open Source-nettbasen

Bruker skjermen på Ubuntu 14.04

Bruker skjermen på Ubuntu 14.04

Skjerm er et program som tillater flere bruk av terminalsesjoner i ett vindu. Dette lar deg simulere flere terminalvinduer der det ma

Bruke Logrotate til å administrere loggfiler

Bruke Logrotate til å administrere loggfiler

Introduksjon Logrotate er et Linux-verktøy som forenkler administrasjonen av loggfiler. Den kjører vanligvis en gang om dagen via en cron-jobb, og administrerer loggbasen

Installere Docker CE på Ubuntu 16.04

Installere Docker CE på Ubuntu 16.04

Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet

Patching the Dirty Cow Exploit på CentOS

Patching the Dirty Cow Exploit på CentOS

Hva er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheten utnyttes gjennom hvordan Linux behandler kode. Det gjør det mulig for en uprivilegert bruker å gai

Konfigurer en ikke-rootbruker med Sudo Access på Ubuntu

Konfigurer en ikke-rootbruker med Sudo Access på Ubuntu

Å ha bare én bruker, som er root, kan være farlig. Så la oss fikse det. Vultr gir oss friheten til å gjøre som vi vil med våre brukere og våre servere

Installer Adminer på Debian/Ubuntu

Installer Adminer på Debian/Ubuntu

Adminer er et lett alternativ til phpMyAdmin. Til sammenligning er dens totale pakkestørrelse 400 KB, mot 4,2 MB med phpMyAdmin. I motsetning til phpMyAdmin, som

Slik installerer du GoAccess på Ubuntu 16.04

Slik installerer du GoAccess på Ubuntu 16.04

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Denne artikkelen er en del av en todelt serie om installasjon og konfigurering av Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversikt over ekstern vert Nagio

Sett opp tidssone og NTP på Ubuntu 14.04

Sett opp tidssone og NTP på Ubuntu 14.04

Vultr-servere kan ikke distribueres med tidssonen/datoen/klokkeslettet du trenger på serveren din. Heldigvis kan vi manuelt stille inn tidssonen for å forhindre problemer

Distribuer en Meteor-applikasjon på Ubuntu

Distribuer en Meteor-applikasjon på Ubuntu

Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk a

Arbeide med Linux-funksjoner

Arbeide med Linux-funksjoner

Introduksjon Linux-funksjoner er spesielle attributter i Linux-kjernen som gir prosesser og binære kjørbare spesifikke rettigheter som er normale

Høy tilgjengelighet ved bruk av privat nettverk på Ubuntu 16.04 med Keepalived

Høy tilgjengelighet ved bruk av privat nettverk på Ubuntu 16.04 med Keepalived

Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk har bee

Konfigurer bare SFTP-brukerkontoer på Ubuntu 14

Konfigurer bare SFTP-brukerkontoer på Ubuntu 14

Innledning Enkelte scenarier krever at du oppretter brukere med lese- og skrivetilgang til en enkelt katalog kun via FTP. Denne artikkelen vil vise deg hvordan t

Slik konfigurerer du Node.js Persistent-applikasjoner på Ubuntu 16.04

Slik konfigurerer du Node.js Persistent-applikasjoner på Ubuntu 16.04

Node.js-applikasjoner er populære for deres evne til å skalere. Å kjøre flere samtidige prosesser på flere servere gir lavere ventetid og større oppetid

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Bruker du et annet system? LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den bruker SNMP for å hente data fra forskjellige enheter. En variant

Stopp DHCP fra å endre resolv.conf

Stopp DHCP fra å endre resolv.conf

For DHCP-brukere kan det hende du trenger å redigere /etc/resolv.conf for å bruke andre navneservere. Deretter, etter en periode (eller etter en omstart av systemet)

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer