Ubuntu Linux voor Veeam Hardened Repository installeren

In deze handleiding wordt uitgelegd hoe je een Ubuntu server installeert en klaar maakt voor het gebruik als onveranderlijke back-up opslag. Er wordt in deze handleiding er van uitgegaan dat je de nodige kennis hebt om de installatie van de server te starten.

Server vereisten

  • Een RAID 1 voor het besturingssysteem op SSD’s met minimaal 100 GB schijfruimte
  • Een RAID 6/60 voor de back-upgegevens
  • Statisch IP-adres, gateway en DNS-instellingen
  • Aanbevolen: redundante netwerkverbinding
  • Switchport: niet getagd
  • UEFI Secure Boot is ingeschakeld

Download

Download de nieuwste versie van Ubuntu Server. Zie hieronder de link. In deze handleiding gebruiken we versie 20.04.5-live-server-amd64.

Ubuntu Website

Installatie

  • De eerste stap van de installatie is het selecteren van de “HWE”-Kernel en wat de “Hardware Enablement” kernel is. Als u de HWE-kerneloptie niet ziet, start u op in de oudere BIOS-modus. UEFI met UEFI Secure Boot ingeschakeld wordt aanbevolen.
  • Bevestig in de volgende stap dat u Ubuntu Server wilt installeren.
  • Na enige tijd ziet u de taalselectie. Wij kiezen voor Engels. Voor het oplossen van problemen raad ik altijd aan om in het algemeen Engelse besturingssystemen te gebruiken.
  • We kunnen doorgaan met het huidige installatieprogramma zonder te updaten.
  • De definitie van de toetsenbordindeling moet gemakkelijk te begrijpen zijn, maar is belangrijk voor de wachtwoorden die we later maken. Het advies is om vast te houden aan de standaard die u in uw omgeving heeft gedefinieerd. Als je overal een Engels-Amerikaanse lay-out hebt, dan is het ook logisch voor de verharde repository. Als je overal een andere layout gebruikt, dan is het ook zinvol om voor de verharde repository die andere layout te gebruiken. In mijn specifieke geval heb ik vanwege de eenvoud voor Duits gekozen.
  • De volgende stap is een grote: netwerkconfiguratie. Om redenen van redundantie wordt het aanbevolen om ten minste twee netwerkkaarten te hebben die onderling een failover kunnen uitvoeren. Meerdere netwerkkaarten vormen een ‘bond’-interface in Linux.

Notitie

Als u slechts één netwerkinterface heeft, sla dan het verbindingsgedeelte over en wijs het IP-adres rechtstreeks toe aan de netwerkinterface (de namen van de netwerkinterfaces kunnen verschillen, maar dat is prima).

  • Creëer eerst een band. Voor de bond-modus zijn er verschillende opties, afhankelijk van uw behoeften en mogelijkheden van de switch. De standaardselectie “balance-rr” vereist een EtherChannel (of een vergelijkbare term, afhankelijk van de switch-leverancier) zonder LCAP. Als uw netwerkteam de voorkeur geeft aan LACP, kies dan 802.3ad. Voor situaties waarin de switch niet kan worden geconfigureerd op EtherChannel met/zonder LACP, kan het ‘active-backup’-beleid worden gebruikt. Dat zorgt voor een hoge beschikbaarheid aan de netwerkzijde zonder taakverdeling tussen de netwerkverbindingen.
  • Eenmaal gemaakt, gaan de netwerkkaarten offline en worden ‘slaved to bond0’ weergegeven.
  • Schakel de bond-interface voor IPv4 in. Vanaf Veeam Backup & Replication v12 kunt u ook IPv6 gebruiken.
  • In mijn geval wil ik statische IP-adressen gebruiken, omdat dat in geval van nood eventuele “kip-ei”-problemen voorkomt. Stel je voor dat de DHCP-server niet beschikbaar is en je probeert te herstellen…
  • Configureer het IP-adres.
  • Zo zou het eruit moeten zien:
  • Voer een snelle ping-test uit voordat u doorgaat.
  • Als voor de geharde repository-server uitgaande HTTP-internettoegang is toegestaan, kunnen de proxy-instellingen leeg worden gelaten. Vanuit veiligheidsoogpunt wordt aanbevolen om uitgaand HTTP-verkeer alleen naar de Ubuntu-servers te beperken (in mijn geval cz.archive.ubuntu.com) of een interne Ubuntu-mirror te gebruiken. Als er een proxyserver moet worden gebruikt, vult u de vereiste gegevens in.
  • De volgende stap gaat over welke Ubuntu-spiegelserver u moet gebruiken om software te verkrijgen. Het concept is anders dan op Windows. Windows-beheerders downloaden software meestal van een website en installeren deze vervolgens. Voor Linux is de meest gebruikelijke manier om een ​​pakketbeheerder te gebruiken om software te installeren (vergelijkbaar met de Microsoft Store of de Windows-pakketbeheerder). Het installatieprogramma kiest automatisch een Ubuntu-spiegelserver uit het land waar u installeert. Dat is prima en we kunnen doorgaan.
  • Partitioneren is waarschijnlijk de meest gecompliceerde stap van de hele installatie. Hoewel Windows eenvoudigweg op één partitie plus een EFI-systeempartitie wordt geïnstalleerd, zijn er meer opties in Linux. Als u voor “Windows-stijl” wilt gaan, kunt u “Gebruik een volledige schijf” selecteren en eenvoudigweg de RAID voor het besturingssysteem selecteren.
  • Als u zich wilt afstemmen op de best practices op het gebied van beveiliging (bijvoorbeeld CIS Benchmarks), is partitionering iets complexer.
  • Mijn server heeft twee volumes (schijfapparaten) waarvan de kleine wordt gebruikt voor het besturingssysteem en de grote voor de back-upgegevens. In Linux zijn er alleen bestandssysteempaden. Alles is “gemount” op “mountpoints” binnen het “root” (“/”) bestandssysteem. Er zijn geen stationsletters zoals in Windows (C:\, D:\ etc.). Dat betekent dat je na 26 schijven niet meer “zonder schijfletters” kunt komen te zitten, maar het betekent ook dat het partitieschema er iets anders uitziet dan op Windows.
  • Het doel is de volgende configuratie van partities/mountpoints in overeenstemming met de CIS-aanbevelingen
MountpointSizeCommentSpecial mount options
/home25 GBuser data (object storage offload cache)nodev
/tmp5 GBfor temporary filesnodev, nosuid, noexec
/var20 GB  
/var/log20 GBlog files 
/var/log/audit5 GBaudit auditing log files 
/var/tmp5 GBsame as /tmpnodev, nosuid, noexec

Notitie

De “speciale montageopties” worden later ingesteld – niet tijdens de installatie.

  • Selecteer vrije ruimte en voeg een GPT-partitie toe.
  • De /home-partitie is de eerste. Als deze geharde repository onderdeel wordt van een Scale-Out Backup Repository, zullen er tijdelijke gegevens aanwezig zijn in /home/<gebruikersnaam>/. Daarom maken we deze partitie 25 GB groot. Het mountpoint kan rechtstreeks vanuit het vervolgkeuzemenu worden geselecteerd. Het bestandssysteem blijft ongewijzigd op ext4. We hebben geen XFS-blokkloonfuncties nodig voor de besturingssysteempartities.
  • Voor de /tmp-partitie moet het pad handmatig worden opgegeven.
  • Hetzelfde voor /var, /var/log, /var/log/audit en /var/tmp
  • Voeg ten slotte het rootbestandssysteem (“/”) toe zonder de grootte op te geven. Het neemt alle beschikbare vrije ruimte in beslag.
  • Het resultaat ziet er als volgt uit:
  • De lijst met “beschikbare apparaten” is nu beperkt tot het back-upgegevensvolume. Deze moet worden gemount in /mnt/backup en het XFS-bestandssysteem gebruiken.
  • Voordat de partitietabel naar schijf wordt geschreven, is er een laatste bevestiging nodig. Alle gegevens die eerder op de server stonden, worden verwijderd als u doorgaat.
  • Hostnaam en gebruikersconfiguratie is de volgende stap. Ubuntu Linux vereist dat er ten minste één normale gebruiker voor het systeem wordt aangemaakt. Na de installatie is er de almachtige “root”-gebruiker (vergelijkbaar met beheerder of LOCAL SYSTEM in Windows) plus die nieuwe gebruiker die moet worden aangemaakt.
  • De rootgebruiker heeft in Ubuntu niet standaard een wachtwoord (voor andere distributies is mogelijk een rootwachtwoord vereist). Dat betekent dat root helemaal niet kan inloggen op een Ubuntu-machine. De OpenSSH-server is vereist om de server als een beveiligde repository aan Veeam Backup & Replication toe te voegen. Schakel die optie in en ga door.
  • Omdat we een minimale Ubuntu Linux willen hebben, laten we alles uitgeschakeld in de softwareselectie (standaard).
  • Nu zal het enige tijd duren voordat alles is gedownload en geïnstalleerd. Verwijder de installatiemedia en voltooi de installatie door ‘Nu opnieuw opstarten’ te kiezen.
  • Zodra de server opnieuw is opgestart, kunnen we overschakelen naar beheer op afstand via SSH. Als de SSH-verbinding wordt geweigerd, log dan direct opnieuw in op de console en voer een eenvoudige “ping”-test uit (u kunt de “ping” stoppen door op CTRL+C te drukken). Het resultaat moet zonder DUP-pakketten zijn. Als je zoiets ziet, is er waarschijnlijk een probleem met het verbindingsbeleid van de netwerkkaarten.

Gefeliciteerd, u bent klaar met de installatie van het Ubuntu Linux-besturingssysteem voor uw beveiligde Veeam-repository.

 

Automatische beveiligingsupdates configureren

Goed nieuws: Ubuntu installeert standaard beveiligingsbugfixes automatisch. Ubuntu heeft het pakket “unattended-upgrades” vooraf geïnstalleerd voor dit gebruiksscenario. U kunt de huidige instellingen controleren met:

				
					cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

				
			

Deze twee regels zeggen dat de pakketlijst automatisch wordt bijgewerkt en dat updates automatisch worden geïnstalleerd.

Slecht nieuws: afhankelijk van de behoeften van uw organisatie wilt u mogelijk niet onmiddellijk beveiligingsupdates installeren. Sommige organisaties willen de updates eerst testen op een stagingsysteem. Pas nadat tests met de beveiligingsupdate succesvol zijn gebleken, worden de updates uitgerold naar productie. Dat type implementatie vereist een aanvullend testsysteem en valt buiten het bestek van deze blogpost.

Gebruikersaccounts configureren

Het “veeamrepo”-gebruikersaccount, dat tijdens het installatieproces is aangemaakt, heeft volledige root- (administratieve) rechten omdat het lid is van de “sudo”-groep. “sudo” is de opdracht waarmee u een opdracht als root (beheerder op Linux) kunt uitvoeren. Elk lid van de “sudo” -groep kan elke opdracht uitvoeren met “sudo” in Ubuntu.

Tijdens het installeren van de beveiligde repository zijn de machtigingen “sudo” of “su” vereist. Na de installatie is “sudo” of “su” niet meer vereist vanaf V12. “su” (vervangende gebruiker) betekent in deze context dat een gebruiker het root-wachtwoord kan invoeren om root te worden. Zoals eerder vermeld, heeft root momenteel geen wachtwoord. Dat betekent dat je “su” niet kunt gebruiken om naar de rootgebruiker over te schakelen.

Hier komen de eigenaardigheden. Wanneer u de “veeamrepo”-gebruiker later uit de “sudo”-groep verwijdert, is er geen bruikbare beheerder/rootgebruiker meer beschikbaar. Zelfs een eenvoudig ‘shutdown’- of ‘reboot’-commando zou niet mogelijk zijn. Er zijn verschillende mogelijkheden om daarmee om te gaan:

  1. Stel een wachtwoord in voor de rootgebruiker. Met de standaardinstellingen kan root niet inloggen met een wachtwoord via SSH. Deze optie voegt enig risico toe voor de lokale console als een aanvaller weet dat root een wachtwoord heeft. De aanvaller moet nog steeds het root-wachtwoord kennen (of brute force). Bescherming van het root-wachtwoord is in ieder geval vereist.
  2. Na het installeren van de versterkte repository is er in V12 geen sudo meer nodig voor de “veeamrepo”-gebruiker. Men kan de “veeamrepo” -gebruiker uit de “sudo” -groep verwijderen en zonder root-rechten gaan. Als root-aanmelding vereist is voor het oplossen van problemen, kan men opstarten in de “single user mode” (aanmelding op de lokale console vereist) en de probleemoplossing uitvoeren. Met slechts een minimale installatie zou dit soort probleemoplossing nooit nodig moeten zijn. Grotere problemen kunnen worden opgelost door het hele Ubuntu-systeem opnieuw precies zoals voorheen te installeren. Omdat de back-upgegevens zich op een tweede RAID-set/volume bevinden, blijven de back-upgegevens waar ze zijn en wordt alleen de RAID-set/volume van het besturingssysteem opnieuw geformatteerd
  3. Optie 2 kan worden verbeterd en sommige sudo-opdrachten kunnen worden toegestaan (bijvoorbeeld opnieuw opstarten of afsluiten)
  4. Er kan een extra beheerder worden aangemaakt. Uiteindelijk zou die gebruiker dezelfde rechten hebben als root. Het enige voordeel zou zijn dat een aanvaller hier de gebruikersnaam en het wachtwoord moet raden (vergeleken met scenario 1). Vergeleken met optie 1 is dit een beetje ‘security through obscurity’, wat als een slechte praktijk wordt beschouwd.
  5. Je kunt multi-factor authenticatie configureren voor scenario 1 of 4. Dat zorgt voor extra complexiteit en wordt in deze blogpost niet behandeld.

Voor een goede balans tussen beveiliging en complexiteit raadt Veeam aan om voor optie 3 te kiezen. Voeg een paar “convenience commands” toe aan het bestand /etc/sudoers en verwijder de “veeamrepo”-gebruiker uit de sudo-groep na het installeren van de “hardened repository”-rol.

Notitie

“visudo” is de opdracht om het bestand /etc/sudoers te bewerken. “visudo” zorgt ervoor dat de syntaxis correct is. Bij een gebroken syntaxis stopt het sudo-commando onmiddellijk met werken. Wees dus voorzichtig en bewerk het bestand /etc/sudoers alleen met “visudo”. Meld u aan als de “veeamrepo”-gebruiker en voer de opdracht sudo visudo uit. Na het invoeren van uw wachtwoord wordt de nano-editor geopend.

  • Ga naar de laatste regel en voeg de volgende regels toe om opnieuw opstarten en afsluiten mogelijk te maken.

Het resultaat zou er zo uit moeten zien.

  • Verlaat de editor met CTRL+X, bevestig met “Y” en “ENTER.”

Als alternatief kunt u het bestand ook rechtstreeks bewerken door de onderstaande opdrachten te kopiëren en te plakken. De gebruikersnaam “veeamrepo” moet worden aangepast als u een andere gebruikersnaam kiest.

				
					sudo bash -c "echo 'veeamrepo ALL = (root) NOEXEC: /usr/sbin/reboot' >> /etc/sudoers"
sudo bash -c "echo 'veeamrepo ALL = (root) NOEXEC: /usr/sbin/shutdown' >> /etc/sudoers" 
				
			

Zodra de versterkte repositoryrol is geïnstalleerd (daar zal een aparte blogpost over gaan), kan men het systeem vergrendelen door de “veeamrepo”-gebruiker uit de “sudo”-groep te verwijderen. Zelfs als iemand het wachtwoord van de “veeamrepo”-gebruiker ontdekt en toegang krijgt tot de lokale console (of SSH, indien ingeschakeld), kan hij of zij nog steeds geen schade aanrichten. Ze kunnen niet naar root stijgen via een “su” of “sudo” commando.

Conclusie

Een Ubuntu-installatie is eenvoudig, maar kent veel meer en verschillende stappen dan een Windows-installatie. Technisch gezien zou je dit systeem vrijwel direct kunnen gebruiken als een versterkte repository voor Veeam Backup & Replication. ‘Bijna’ betekent dat er aanvullende verhardingsstappen mogelijk zijn om te worden afgestemd op beveiligingsstandaarden zoals DISA STIG- of CIS-benchmarks.

 

Dit kan je doen door te mailen naar support@attcomputer.nl, bellen naar +31850410341 of te chatten.

24 uur per dag, 365 dagen per jaar

IT Support

Onze IT-ondersteuning is uitstekend georganiseerd. Onze medewerkers staan 365 dagen per jaar, 24 uur per dag, 7 dagen per week voor u klaar.

nl_NL_formalNL