Innledende serveroppsett og konfigurasjoner på CentOS 7
Denne opplæringen vil forklare de første grunnleggende trinnene du må gå gjennom etter å ha installert et minimalt CentOS 7-system uten grafisk miljø for å få informasjon om det installerte systemet, maskinvaren på toppen som kjører systemet og konfigurere andre spesifikke systemoppgaver, for eksempel nettverk, root-privilegier, programvare, tjenester og andre.
Krav
- CentOS 7 minimal installasjon
Viktig: RHEL 7-brukere kan følge denne artikkelen for å gjøre et innledende serveroppsett på RHEL 7.
Oppdater CentOS 7 System
Det første trinnet du må utføre på et ferskt installert CentOS-system er å sørge for at systemet er oppdatert med de nyeste kjerne- og systemsikkerhetsoppdateringene, programvarelager og pakker.
For å fullstendig oppdatere et CentOS 7-system, utfør følgende kommandoer med root-privilegier.
yum check-update
yum upgrade
Etter at oppgraderingsprosessen er fullført, for å frigjøre diskplass kan du fjerne alle nedlastede pakker som ble brukt i prosessen med å oppgradere sammen med all bufrede depotinformasjon ved å utføre følgende kommando.
yum clean all
Installer systemverktøy på CentOS 7
Følgende verktøypakker kan vise seg å være nyttige for dag-for-dag systemadministrasjon: nano (tekstredigering for å erstatte vi-editor), wget, curl (verktøy som brukes til nedlasting pakker over nettverk for det meste) net-tools, lsof (verktøy for å administrere lokalt nettverk) og bash-fullføring (autofullføring av kommandolinje).
Installer dem alle i ett skudd ved å utføre kommandoen nedenfor.
yum install nano wget curl net-tools lsof bash-completion
Sett opp nettverk i CentOS 7
CentOS 7 har et bredt spekter av verktøy som kan brukes til å konfigurere og administrere nettverk, fra manuell redigering av nettverkskonfigurasjonsfilen til bruk av kommandoer som ip, ifconfig, nmtui, nmcli eller rute.
Det enkleste verktøyet en nybegynner kan bruke for å administrere og endre nettverkskonfigurasjoner er nmtui grafisk kommandolinje.
For å endre systemvertsnavnet via nmtui-verktøyet, kjør kommandoen nmtui-hostname, angi vertsnavnet på maskinen og trykk OK for å fullføre, som illustrert i skjermbildet nedenfor.
nmtui-hostname
For å manipulere et nettverksgrensesnitt, kjør kommandoen nmtui-edit, velg grensesnittet du vil redigere og velg rediger fra høyremenyen, som vist i skjermbildet nedenfor.
nmtui-edit
Når du er i det grafiske grensesnittet fra verktøyet nmtui, kan du sette opp IP-innstillingene for nettverksgrensesnittet som illustrert i skjermbildet nedenfor. Når du er ferdig, naviger til OK ved å bruke [tab]-tasten for å lagre konfigurasjonen og avslutte.
For å bruke nettverksgrensesnittets nye konfigurasjon, utfør kommandoen nmtui-connect, velg grensesnittet du vil administrere og klikk på Deaktiver/Aktiver-alternativet for å deaktivere og øke grensesnittet med IP-innstillingene, som presentert i skjermbildene nedenfor.
nmtui-connect
For å se innstillingene for nettverksgrensesnittet, kan du inspisere innholdet i grensesnittfilen eller du kan gi kommandoene nedenfor.
ifconfig enp0s3
ip a
ping -c2 google.com
Andre nyttige verktøy som kan brukes til å administrere hastighet, koblingstilstand eller få informasjon om maskinnettverksgrensesnitt er ethtool og mii-tool.
ethtool enp0s3
mii-tool enp0s3
Et viktig aspekt ved maskinnettverket ditt er å liste opp alle åpne nettverkskontakter for å se hvilke programmer som lytter på hvilke porter og hvordan statusen til de etablerte nettverksforbindelsene er.
For å liste opp alle servere som har åpnet TCP- eller UDP-sockets i lyttetilstand, utfør følgende kommandoer. Imidlertid vil UDP-serveren ikke vise noen socket-tilstand på grunn av det faktum at UDP er en tilkoblingsløs protokoll som bare sender pakker over nettverket og ikke oppretter tilkoblinger.
netstat -tulpn
ss -tulpn
lsof -i4 -6
Administrer tjenester i CentOS 7
CentOS 7 administrerer demoner eller tjenester via systemctl-verktøyet. For å vise alle tjenestetilstander, utfør følgende kommando.
systemctl list-units
For å sjekke om en demon eller tjeneste er aktivert for å starte automatisk når systemet starter, utfør følgende kommando.
systemctl list-unit-files -t service
For å liste opp de gamle SysV-tjenestene som finnes i systemet ditt og deaktivere dem, utfør følgende chkconfig-kommandoer.
chkconfig --list
chkconfig service_name off
5. Deaktiver uønskede tjenester i CentOS 7
Det anbefales etter installasjon av CentOS 7, å liste hvilke tjenester som kjører i systemet ved å kjøre kommandoene ovenfor og deaktivere og fjerne dem for å redusere angrepsvektorene mot systemet ditt.
For eksempel er Postfix-demonen installert og aktivert som standard i CentOS 7. Hvis systemet ditt ikke krever å kjøre en e-postserver, er det best å stoppe, deaktivere og fjerne postfix-tjenesten ved å utstede kommandoene nedenfor .
systemctl stop postfix
systemctl disable postfix
yum remove postfix
I tillegg til kommandoene netstat, ss, lsof eller systemctl, kan du også kjøre ps-, top- eller pstree-kommandoer for å oppdage og identifisere hvilke uønskede tjenester som kjører i systemet ditt og deaktiver eller fjern dem.
Som standard er ikke pstree-verktøyet installert i CentOS 7. For å installere det, kjør følgende kommando.
yum install psmisc
pstree -p
Aktiver brannmur i CentOs 7
Firewalld er det viktigste brannmurverktøyet som bruker interaksjoner med for å administrere iptables-regler.
For å aktivere og starte og bekrefte brannmuren i CentOS 7, utfør følgende kommandoer.
systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld
For å åpne en spesifikk tjeneste for innkommende tilkoblinger må du først kontrollere om applikasjonen allerede er tilstede i brannmur-regler, og deretter legge til regelen for tjenesten, som vist i eksemplet nedenfor som tillater SSH innkommende tilkoblinger. Bruk --permanent
bryter for å legge til regelen permanent.
firewall-cmd --add-service=[tab] #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent
I tilfelle tjenesten nå allerede er definert i brannmurregler, kan du manuelt legge til tjenesteporten, som vist i eksemplet nedenfor.
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload #Apply the rule on-fly
Aktiver Sudo-tillatelser på brukerkontoer
For å gi root-tillatelser for en vanlig bruker, må du først opprette brukeren ved å utstede adduser-kommandoen, angi passordet for brukeren og gi root-tillatelser til brukeren ved å utføre kommandoen nedenfor som legger den nye brukeren til den administrative hjulgruppen.
adduser tecmint
passwd tecmint
usermod -aG wheel tecmint
For å teste om den nye brukeren har root-privilegier, logg på systemet med brukerens legitimasjon og kjør yum-kommandoen med sudo-tillatelser, som vist i utdraget nedenfor.
su - tecmint
sudo yum update
Konfigurer SSH Public Key Authentication på CentOS 7
For å sikre SSH-serveren din og sette opp offentlig nøkkelautentisering for å øke sikkerheten til serveren din med en privat SSH-nøkkel for å logge på, generer først et SSH-nøkkelpar med en følgende kommando.
Ikke skriv inn en passordfrase i tilfelle du vil automatisere serveradministrasjon via SSH.
ssh-keygen -t RSA
Etter at SSH-nøkkelparene er generert, kopierer du nøkkelen til serveren du vil koble til ved å gi kommandoen nedenfor. Skriv inn det eksterne SSH-brukerpassordet ditt for å kopiere den offentlige nøkkelen.
ssh-copy-id remote_user@SSH_SERVER_IP
Etter at den offentlige SSH-nøkkelen har blitt kopiert til den eksterne serveren, logger du på den eksterne SSH-serveren med følgende kommando.
ssh remote_user@SSH_SERVER_IP
Til slutt, for å sikre SSH-serveren, sørg for at du ikke tillater ekstern SSH-tilgang til root-kontoen ved å åpne konfigurasjons-SSH-filen /etc/ssh/sshd_config med tekstredigereren som root og endre den fra Ja
til Nei
.
PermitRootLogin no
For å bruke innstillingen må du starte SSH-tjenesten på nytt slik at den bruker den nye konfigurasjonen.
systemctl restart sshd
Det er alt! Dette er bare noen få grunnleggende innstillinger og kommandoer hver systemadministrator trenger å kjenne til og bruke på et ferskt installert CentOS-system eller for å utføre daglige oppgaver på systemet.
For å sikre og herde CentOS 7-serveren, sjekk ut disse følgende artiklene.
- Megaguiden for å herde og sikre CentOS 7 – Del 1
- Megaguiden for å herde og sikre CentOS 7 – Del 2
Hvis du planlegger å distribuere nettsteder på dette CentOS 7-systemet, lær hvordan du konfigurerer og konfigurerer LAMP-stack eller LEMP-stack.