Linux hardening steps for starters

de meeste systemen hebben vertrouwelijke gegevens die moeten worden beschermd. Om deze gegevens te beveiligen, moeten we ons Linux systeem beveiligen. Maar hoe een Linux systeem goed te harden? In dit artikel zullen we dit stap voor stap behandelen. We beginnen met fysieke veiligheidsmaatregelen om te voorkomen dat onbevoegden toegang krijgen tot het systeem. Vervolgens is het doen van de installatie op de juiste manier, dus we hebben een solide basis. Tot slot zullen we een reeks gemeenschappelijke veiligheidsmaatregelen toepassen. Nadat we klaar zijn, moet uw server of desktop systeem beter worden beschermd. Ben je klaar? Laten we doorgaan met de eerste stappen!

inhoudsopgave:

Linux is al standaard veilig, toch?

een van de mythes over Linux is dat het veilig is, omdat het niet gevoelig is voor virussen of andere vormen van malware. Dit is gedeeltelijk waar, omdat Linux de fundamenten van het originele UNIX besturingssysteem gebruikt. Processen worden gescheiden en een normale gebruiker is beperkt in wat hij of zij kan doen op het systeem. Toch is Linux standaard niet perfect beveiligd. Een van de redenen is de Linux distributies die de GNU/Linux kernel en de bijbehorende software pakket. Ze moeten kiezen tussen bruikbaarheid, prestaties en veiligheid.

met de moeilijke keuzes die Linux distributies moeten maken, kunt u zeker zijn van compromissen. Deze compromissen resulteren meestal in een verlaagd veiligheidsniveau. Hoe zit het met malware Voor Linux? Dat is zeker een mythe. Het Linux-platform heeft ook een eerlijk deel van backdoors, rootkits, werken, en zelfs ransomware. Dat is een van de redenen waarom het belangrijk is om te doen systeem verharding, security auditing, en het controleren van de naleving van de Technische richtlijnen.

beeld van items die relevant zijn voor Linux-systeemharding, auditing en compliance.

er zijn veel aspecten aan Linux beveiliging, waaronder Linux systeemharden, auditing en compliance.

Wat is systeemharding?

om het beveiligingsniveau van een systeem te verbeteren, nemen we verschillende soorten maatregelen. Dit kan het verwijderen van een bestaande systeemservice zijn of sommige softwarecomponenten verwijderen.

Systeemharden is het proces van het doen van de’ juiste ‘ dingen. Het doel is om het beveiligingsniveau van het systeem te verbeteren. Er zijn veel aspecten aan het goed beveiligen van een systeem. Toch zijn de basisprincipes vergelijkbaar voor de meeste besturingssystemen. Dus het systeem verharding proces voor Linux desktop en servers is dat speciaal.

kernprincipes van systeemharding

als we een microscoop op systeemharding zouden leggen, zouden we het proces in enkele kernprincipes kunnen splitsen. Deze omvatten het principe van de minste privilege, segmentatie, en vermindering.

Principe of least privilege

het principe van least privileges betekent dat u gebruikers en processen het absolute minimum aan rechten geeft om hun werk te doen. Het is vergelijkbaar met het verlenen van toegang aan een bezoeker tot een gebouw. Je zou volledige toegang kunnen geven tot het gebouw, inclusief alle gevoelige gebieden. De andere optie is om alleen uw gast toegang te geven tot een enkele verdieping waar ze moeten zijn. De keuze is makkelijk, toch?

voorbeelden:

  • als alleen-lezen toegang genoeg is, geef geen schrijfrechten
  • sta uitvoerbare code niet toe in geheugengebieden die gemarkeerd zijn als gegevenssegmenten
  • voer applicaties niet uit als de root-gebruiker, gebruik in plaats daarvan een niet-geprivilegieerd gebruikersaccount

segmentatie

het volgende principe is dat u grotere gebieden opgesplitst in kleinere. Als we nog eens naar dat gebouw kijken, hebben we het opgesplitst in meerdere verdiepingen. Elke verdieping kan verder worden onderverdeeld in verschillende zones. Misschien is je bezoeker alleen toegestaan op de vierde verdieping, in de blauwe zone. Als we dit vertalen naar Linux security, zou dit principe van toepassing zijn op geheugengebruik. Elk proces heeft alleen toegang tot zijn eigen geheugensegmenten.

reductie

dit beginsel heeft tot doel iets weg te nemen dat niet strikt noodzakelijk is om het systeem te laten werken. Het lijkt op het principe van de minste privilege, maar richt zich op het voorkomen van iets in de eerste plaats. Een proces dat niet hoeft te lopen, moet worden gestopt. Vergelijkbaar voor onnodige gebruikersaccounts of gevoelige gegevens die niet meer worden gebruikt.

stappen voor Systeemharding

overzicht van stappen voor systeemharding

  1. installeer beveiligingsupdates en patches
  2. gebruik sterke wachtwoorden
  3. Bind processen aan localhost
  4. implementeer een firewall
  5. Keep things clean
  6. beveiligingsconfiguraties
  7. Beperk toegang
  8. monitor uw systemen
  9. maak back-ups (en test!)
  10. systeemauditing uitvoeren

1. Installeer beveiligingsupdates en patches

de meeste zwakke punten in systemen worden veroorzaakt door fouten in de software. Deze gebreken noemen we kwetsbaarheden. Goede zorg voor software patch management helpen bij het verminderen van een groot deel van de gerelateerde risico ‘ s. De activiteit van het installeren van updates heeft vaak een laag risico, vooral wanneer u begint met de security patches eerste. De meeste Linux distributies hebben de optie om te beperken welke pakketten je wilt upgraden (all, alleen beveiliging, per pakket). Zorg ervoor dat uw beveiligingsupdates worden geïnstalleerd zodra ze beschikbaar komen. Het spreekt voor zich, voordat je iets implementeert, test het eerst op een (virtueel) testsysteem.

afhankelijk van uw Linux-distributie is er mogelijk een manier om beveiligingspatches automatisch te implementeren, zoals onbeheerde upgrades op Debian en Ubuntu. Dit maakt software patch management een stuk gemakkelijker!

2. Gebruik sterke wachtwoorden

de belangrijkste gateway naar een systeem is door in te loggen als een geldige gebruiker met het bijbehorende wachtwoord van dat account. Sterke wachtwoorden maken het moeilijker voor tools om het wachtwoord te raden en laat kwaadaardige mensen lopen via de voordeur. Een sterk wachtwoord bestaat uit een verscheidenheid aan tekens (alfanumeriek, getallen, speciaal als percentage, spatie, of zelfs Unicode tekens).

3. Bind processen aan localhost

niet alle services hoeven beschikbaar te zijn via het netwerk. Bijvoorbeeld, als je een lokale instantie van MySQL draait op je webserver, laat het dan alleen luisteren op een lokale socket of bind met localhost (127.0.0.1). Configureer vervolgens uw applicatie om verbinding te maken via dit lokale adres, wat meestal al de standaard is.

4. Implementeer een firewall

alleen toegestaan verkeer zou in een ideale situatie uw systeem moeten bereiken. Om dit te bereiken, implementeer je een firewall oplossing zoals iptables, of de nieuwere nftables.

als u een beleid voor uw firewall maakt, kunt u overwegen een beleid “alles weigeren, iets toestaan” te gebruiken. U weigert dus standaard al het verkeer en bepaalt vervolgens wat voor soort verkeer u wilt toestaan. Dit is vooral handig voor inkomend verkeer, om te voorkomen dat diensten worden gedeeld die u niet van plan was te delen.

nuttige informatie:

  • verschillen tussen iptables en nftables

5. Houd dingen schoon

alles wat geà nstalleerd is op een systeem dat daar niet thuishoort, kan alleen een negatieve invloed hebben op uw machine. Het zal ook het verhogen van uw back-ups (en hersteltijden). Of ze kunnen kwetsbaarheden bevatten. Een schoon systeem is vaak een gezonder en veiliger systeem. Daarom minimaliseren is een geweldige methode in het proces van Linux verharden.

uitvoerbare taken omvatten:

  • verwijder ongebruikt pakket
  • maak oude persoonlijke mappen schoon en verwijder de gebruikers

6. Beveiligde configuraties

de meeste toepassingen hebben één of meer beveiligingsmaatregelen ter beschikking om te beschermen tegen bepaalde vormen van bedreigingen voor de software of het systeem. Kijk naar de man page voor eventuele opties en test deze opties zorgvuldig.

7. Toegang beperken

alleen toegang tot de machine toestaan voor geautoriseerde gebruikers. Heeft iemand echt toegang nodig of zijn alternatieve methoden mogelijk om de gebruiker te geven wat hij of zij wil?

8. Monitor uw systemen

de meeste intrusies worden niet gedetecteerd vanwege een gebrek aan monitoring. Implementeer normale systeembewaking en implementeer monitoring van beveiligingsgebeurtenissen. Bijvoorbeeld, het gebruik van het Linux audit framework verhoogde detectiesnelheden van verdachte gebeurtenissen.

9. Maak back-ups (en test!)

maak regelmatig een back-up van systeemgegevens. Dit kan gegevensverlies voorkomen. Nog belangrijker, test uw back-ups. Het hebben van een back-up is leuk, maar het is de restore die echt telt!

back-ups kunnen worden gemaakt met bestaande systeemtools zoals tar en scp. Een andere optie om bandbreedte te sparen is het synchroniseren van gegevens met tools zoals rsync. Als je liever een back-upprogramma wilt gebruiken, overweeg dan Amanda of Bacula.

10. Voer systeemaudit uit

Lynis (Linux/Unix auditing tool) screenshot

Screenshot van een Linux server security audit uitgevoerd met Lynis.

u kunt een systeem niet goed beschermen als u het niet meet.

gebruik een beveiligingsprogramma zoals Lynis om een regelmatige audit van uw systeem uit te voeren. Eventuele bevindingen worden getoond op het scherm en ook opgeslagen in een gegevensbestand voor verdere analyse. Met een uitgebreid logbestand kunt u alle beschikbare gegevens gebruiken en volgende acties plannen voor verdere systeemharding.