Hvordan lage din Linux Server Mer Secure

Jeg kjører et par Linux-servere; en hjemme som en filserver og tre live-servere for nettstedet mitt, min post, og min sky lagring, henholdsvis. Selv om jeg ikke bekymre seg om hjemmeserveren fordi den ikke snakke med den ytre verden, de tre andre serverne må opprettholdes, hele tiden. De som er ny på Linux og ønsker å kjøre sine egne servere må holde et par punkter i tankene ... som er fokus for denne artikkelen.

Installer Hva du trenger

Hvis du er planlegger å kjøre en server, kan du tenke "Jeg har 40 GB SSD lagring fra Linode så jeg kan installere hvilken tjeneste jeg vil." Det er sant: din server, din programvare. Men ikke ta ting for gitt. Selv de mest hardbarkede servere kan bli kapret ved å utnytte noen unpatched eller sårbare komponenten kjører på denne serveren.

Så, er den første regelen for å holde serveren din lean og mener. Installer bare de pakkene som du virkelig trenger. Hvis det finnes uønskede pakker; utrenskning. Jo færre pakker jo mindre sjanse for unpatched kode. Før du installerer programvare og avhengige pakker (f.eks ownCloud), bør du lese dokumentasjonen for ownCloud og installerer bare de pakkene som den trenger.

Kjør Hva du trenger

Den andre regelen er å kjører bare de tjenestene du trenger. Mange distroer, eller pakker, kan starte visse tjenester, som kjører på forskjellige porter. Som kan utgjøre sikkerhetsrisiko. Så, åpne terminal og kjør:

 netstat -npl 

Utgangen vil vise deg hvilke tjenester som kjører på hvilke porter. Hvis du oppdager noen tjeneste som ikke er ment å være i gang, stoppe det. Du bør også holde et øye med de tjenester som er aktivert og kjører ved oppstart av systemet. Du kan sjekke det ved å kjøre følgende kommando på systemer som kjører systemd:

 systemctl listeandels filer --type = tjenesten | grep aktivert 

Avhengig av systemet ditt vil du få en utgang som det er vist i figur 1 ovenfor. Merker du noen uønsket tjenesten, kan du deaktivere den ved hjelp av den mektige systemctl kommando:

 systemctl disable tjenestenavn 
begrense tilgangen til Server

På samme måte som du ikke ville gi husnøkler til bare noen du kjenner, bør du ikke gi server tilgang til bare noen du kjenner. Når denne regelen er klar, kan du begrense tilgangen til serveren din. Hold en ting i tankene: Ingenting av dette vil fraråde noen som er hellbent på å ta serveren ned. Hva det vil gjøre, er imidlertid legge flere lag av sikkerhet til serveren din for å avverge uformelle lovbrytere.

Aldri Logg inn som root

Det er ikke en god praksis å ssh inn serveren som superbruker. Vi vil bli invalid sshing som root bruker på serveren, men før du gjør det, la oss lage en bruker med sudo krefter slik at du kan ssh inn på serveren og utføre administrative oppgaver. Når du er logget inn på serveren, kan du alltids bytte bruker til root, hvis det er nødvendig. Hvis du allerede har en bruker på systemet, hoppe over disse trinnene; ellers, bli hos meg

Ulike distribusjoner bruker ulike metoder for å legge til en ny bruker.; Red Hat /CentOS bruke useradd og Ubuntu /Debian bruke bruker adduser

Lag en ny bruker på Fedora /CentOS.

 useradd Swapnil 

Deretter oppretter du et passord for brukeren:

 passwd Swapnil 

Det vil be deg om å gi det med det nye passordet for brukeren. Nå må du gi denne brukeren sudo krefter. Kjør følgende kommando:

 EDITOR = nano visudo 

Og se etter følgende linje (figur 2):

 #% hjulet ALL = (ALL) ALL 

Uncomment linjen (# -symbolet betyr at det blir kommentert, bare fjerne symbolet til uncomment), slik at det ser ut som dette:

% hjulet ALL = (ALL) ALL 

Nå må du lagre og lukke filen. Hvis brukeren ikke tilhører hjulet gruppe, kan du enkelt legge den til gruppen ved å kjøre denne kommandoen:

 # usermod -Ag hjulet Swapnil 

På Ubuntu-systemer, kan du legge til en ny bruker ved å kjøre:

 adduser Swapnil 

Svar på noen spørsmål som systemet vil spørre, herunder etablering av et passord for denne brukeren. Når den er laget, gi brukeren sudo krefter:

 gpasswd -a Swapnil sudo 

Åpne et terminalvindu og prøver å logge inn på serveren som den nyopprettede bruker og prøve å utføre noen administrative jobber med sudo. Hvis det fungerer, gå til neste trinn.

Deaktiver root Pålogging

Vi skal nå til å deaktivere root login, noe som betyr at ingen kan ssh eller logge inn på serveren som root-bruker. For å gjøre dette, åpner sshd konfigurasjonsfilen:

 nano /etc /ssh /sshd_conf 

Neste, se etter kommen linje som sier:

 #PermitRootLogin ingen 

Deretter lagrer og lukke denne filen og starte tjenesten:

 tjenesten ssh restart 

eller

 systemctl restart sshd 

Viktig: Ikke logg ut av serveren enda. Du må teste om du kan lykkes ssh inn serveren ved hjelp av den tidligere opprettede brukeren. Åpne en annen forekomst av terminal og ssh inn på serveren med brukeren du opprettet tidligere. Du ønsker ikke å være helt låst ut av serveren. Hvis alt fungerer fint, kan du trygt logge ut av serveren som root.

Endre Port

Den andre endringen som vi kommer til å gjøre til sshd config filen endrer standardporten . Det handler mer om å legge et lag av mulm å holde din server trygt i stedet å legge på noen reell sikkerhet til serveren. Tenk på det som sikkerhetstjenester som bruker identiske biler til å transportere en viktig person, slik at en angriper ikke vil vite hvilke redskap for å ta ned.

Åpne sshd_config fil (denne gang som sudo, fordi du ikke lenger kan logge inn i serveren som root):.

 sudo nano /etc /ssh /sshd_conf 

Deretter finner dette kommen linje:

 #Port 22 

Uncomment linjen og velg en portnummer. Mens velge en port, gjør at det ikke er brukt av andre tjenester på systemet ditt. Du kan lære mer om hvilke porter som vanligvis brukes fra denne Wikipedia-artikkelen og unngå slike porter. Jeg valgte 1 977 for min server:

 Port 1 977 

Neste, lagre og lukke filen og starte sshd service. Nok en gang, før du logger ut av serveren, må du kontrollere innstillingene ved å åpne et annet terminalvindu og deretter logge inn med dette mønsteret:

 ssh -p {port_number}server_IP 

Eksempel:

 ssh -p1977 Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se den 

Hvis du kan logge deg inn; det er ferdig.

password Pålogging

Du kan gjøre det lettere å ssh inn serveren din via password brukernavn og legge et lag av sikkerhet ved å helt deaktivere passordautentisering. Bare husk at du vil være i stand til å logge inn på serveren din bare fra den maskinen som du genererte ssh nøkler

La oss generere ssh-tasten på ditt lokale system (figur 3) ved hjelp av følgende kommando.:

 ssh-keygen - t rsa 

Det vil stille noen spørsmål; du kan la plasseringen av nøkkelen til standard, og gi det et vanskelig å gjette passordet. . Deretter må du kopiere disse tastene til serveren, slik at de to maskinene kan kommunisere med hverandre ved hjelp av tastene

 cat ~ /.ssh /id_rsa.pub | ssh -p 1 977 Swapnil @ remote-server "; mkdir -p ~ /.ssh & & cat > > ~ /.ssh /authorized_keys" 

Nå prøver sshing inn på serveren fra en annen terminal, og hvis alt fungerer fint, det vil ikke be deg om å oppgi passordet.

Dette trinnet var mer om bekvemmelighet enn noen reell sikkerhet. Du kan legge til noen sikkerhet ved å deaktivere passordautentisering for serveren. Bare åpne sshd_config filen og se etter kommen linje:

 #PasswordAuthentication ja 

Uncomment linjen og endre det fra ja til nei; lagre og lukke filen. Start deretter sshd service. Igjen, ikke lukke tilkoblingen til serveren fra det aktive vinduet ennå. Åpne en annen terminal og logge inn på serveren (pass på at det ikke be om passord).

Baksiden av denne innstillingen er at du nå kan ssh inn din server bare fra maskinen der du genererte ssh nøkler. Hvis du ofte logger inn på serveren din fra ulike maskiner, bør du ikke bruke denne metoden.

I Closing

Dette er noen av de grunnleggende hensyn for nye brukere som prøver å kjøre sine egne servere. Husk at crackere er alltid et skritt foran; de holde utkikk etter eventuelle hull å banalisere i serveren din. Derfor er den beste praksis for å holde en alltid oppdatert backup av serveren. Jeg anbefaler at du tar en sikkerhetskopi før og etter at du gjør noen endringer på nettstedet ditt. På den måten, i tilfelle serveren din er kompromittert, kan du alltid gjenopprette fra tidligere sikkerhetskopi.

Hvis du har spørsmål eller forslag, gjerne dele i kommentarfeltet nedenfor. Anmeldelser