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

  1. 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.

  1. Megaguiden for å herde og sikre CentOS 7 – Del 1
  2. 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.