Indledende serveropsætning og konfigurationer på CentOS 7


Denne vejledning forklarer de første grundlæggende trin, du skal gennemgå efter installation af et minimalt CentOS 7-system uden grafisk miljø for at få oplysninger om det installerede system, hvis hardware ovenpå kører systemet og konfigurere andre specifikke systemopgaver, såsom netværk, rodrettigheder, software, tjenester og andre.

  1. CentOS 7 minimal installation

Vigtigt: RHEL 7-brugere kan følge denne artikel for at foretage en indledende serveropsætning på RHEL 7.

Opdater CentOS 7 System

Det første trin, du skal udføre på et nyt installeret CentOS-system, er at sikre, at systemet er opdateret med de nyeste kerne- og systemsikkerhedsrettelser, softwarelagre og pakker.

Hvis du vil opdatere et CentOS 7-system fuldt ud, skal du udstede følgende kommandoer med root-rettigheder.

# yum check-update
# yum upgrade

Når opgraderingsprocessen er afsluttet, kan du fjerne alle downloadede pakker, der blev brugt i opgraderingsprocessen sammen med alle cachelagrede opbevaringsoplysninger, ved at udføre følgende kommando for at frigøre diskplads.

# yum clean all

Installer systemværktøjer på CentOS 7

Følgende hjælpepakker kan vise sig at være nyttige til den daglige systemadministration: nano (teksteditor til erstatning af lsof (hjælpeprogrammer til styring af lokalt netværk) og bash-færdiggørelse (kommandolinjeafslutning).

Installer dem alle i ét skud ved at udføre nedenstående kommando.

# yum install nano wget curl net-tools lsof bash-completion

Opsæt netværk i CentOS 7

CentOS 7 har en bred vifte af værktøjer, der kan bruges til at konfigurere og administrere netværk, fra manuel redigering af netværkskonfigurationsfilen til brug af kommandoer som nmcli eller rute.

Det nemmeste værktøj, som en nybegynder kan bruge til at styre og ændre netværkskonfigurationer, er den grafiske kommandolinje nmtui.

For at ændre systemværtsnavnet via nmtui-værktøjet skal du udføre nmtui-hostname-kommandoen, indstille maskinens værtsnavn og trykke på OK for at afslutte som illustreret i nedenstående skærmbillede.

# nmtui-hostname

For at manipulere en netværksgrænseflade skal du udføre kommandoen nmtui-edit, vælge den grænseflade, du vil redigere, og vælge redigere i højre menu, som vist i nedenstående skærmbillede.

# nmtui-edit

Når du først er i den grafiske grænseflade, der leveres af nmtui-værktøjet, kan du konfigurere IP-indstillingerne til netværksgrænsefladen som illustreret i nedenstående skærmbillede. Når du er færdig, skal du navigere til OK ved hjælp af [tab] -tasten for at gemme konfigurationen og afslutte.

For at anvende netværksinterfaceens nye konfiguration skal du udføre nmtui-connect-kommandoen, vælge den grænseflade, du vil administrere, og trykke på Deaktiver/Aktivér mulighed for at nedlukke og stige grænsefladen med IP-indstillingerne, som vist i nedenstående skærmbilleder.

# nmtui-connect

For at se indstillingerne for netværksgrænsefladen kan du inspicere indholdet af grænsefilfilen, eller du kan udstede nedenstående kommandoer.

# ifconfig enp0s3
# ip a
# ping -c2 google.com

Andre nyttige hjælpeprogrammer, der kan bruges til at styre hastighed, linktilstand eller få oplysninger om maskinnetværksgrænseflader er ethtool og mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Et vigtigt aspekt af dit maskinnetværk er at liste alle åbne netværksstik for at se, hvilke programmer der lytter på hvilke porte, og hvad der er med de etablerede netværksforbindelser.

For at liste alle servere, der har åbnet TCP- eller UDP-sockets i lytetilstand, skal du udstede følgende kommandoer. UDP-server viser imidlertid ikke nogen sokkeltilstand på grund af det faktum, at UDP er en forbindelsesfri protokol, der kun sender pakker over netværket og ikke opretter forbindelser.

# netstat -tulpn
# ss -tulpn
# lsof -i4 -6

Administrer tjenester i CentOS 7

CentOS 7 administrerer dæmoner eller service via systemctl-hjælpeprogrammet. For at få vist en liste over alle tjenester, skal du udstede følgende kommando.

# systemctl list-units

For at kontrollere, om en dæmon eller tjeneste er aktiveret til automatisk at starte, når systemet starter, skal du udstede følgende kommando.

# systemctl list-unit-files -t service

For at liste de gamle SysV-tjenester, der er til stede i dit system og deaktivere dem, skal du udstede følgende chkconfig-kommandoer.

# chkconfig --list
# chkconfig service_name off

5. Deaktiver uønskede tjenester i CentOS 7

Det anbefales efter installation af CentOS 7 at angive, hvilke tjenester der kører i systemet ved at køre ovenstående kommandoer og deaktivere og fjerne dem for at reducere angrebsvektorerne mod dit system.

For eksempel er Postfix-dæmonen installeret og aktiveret som standard i CentOS 7. Hvis dit system ikke kræver kørsel af en mailserver, er det bedst at stoppe, deaktivere og fjerne postfix-tjenesten ved at udstede nedenstående kommandoer.

# systemctl stop postfix
# systemctl disable postfix
# yum remove postfix

Ud over top- eller pstree-kommandoer for at opdage og identificere, hvilke uønskede tjenester der kører i dit system, og deaktivere eller fjerne dem.

Som standard er pstree-værktøjet ikke installeret i CentOS 7. For at installere det skal du udføre følgende kommando.

# yum install psmisc
# pstree -p

Aktivér Firewall i CentOs 7

Firewalld er det vigtigste firewall-værktøj, der bruger interagerer med for at administrere iptables-regler.
For at aktivere og starte og verificere firewallen i CentOS 7 skal du udføre følgende kommandoer.

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld

For at åbne en bestemt tjeneste for indgående forbindelser skal du først kontrollere, om applikationen allerede er til stede i firewallld-regler, og derefter tilføje reglen for tjenesten som vist i nedenstående eksempel, som tillader SSH-indgående forbindelser. Brug kontakten --permanent til at tilføje reglen permanent.

# firewall-cmd --add-service=[tab]  #List services
# firewall-cmd --add-service=ssh
# firewall-cmd --add-service=ssh --permanent

Hvis tjenesten nu allerede er defineret i firewalld-regler, kan du manuelt tilføje serviceporten som vist i nedenstående eksempel.

# firewall-cmd --add-port=22/tcp --permanent
# firewall-cmd --reload     #Apply the rule on-fly

Aktivér Sudo-tilladelser på brugerkonti

For at give root-tilladelser til en normal bruger skal du først oprette brugeren ved at udstede adduser-kommando, indstille adgangskoden til brugeren og give root-tilladelser til brugeren ved at udføre nedenstående kommando, der tilføjer den nye bruger til den administrative hjulgruppe.

# adduser tecmint
# passwd tecmint
# usermod -aG wheel tecmint

For at teste, om den nye bruger har rodrettigheder, skal du logge ind på systemet med brugerens legitimationsoplysninger og køre yum-kommandoen med sudo-tilladelser, som vist i nedenstående uddrag.

# su - tecmint
# sudo yum update

Konfigurer SSH Public Key Authentication på CentOS 7

For at sikre SSH din server og oprette godkendelse af offentlig nøgle for at øge sikkerheden på din server med en privat SSH-nøgle til at logge ind, skal du først oprette et SSH-nøglepar med følgende kommando.

Indtast ikke en adgangssætning, hvis du vil automatisere serveradministration via SSH.

# ssh-keygen -t RSA

Når SSH-nøglepar er genereret, skal du kopiere nøglen til den server, du vil oprette forbindelse til, ved at udstede kommandoen nedenfor. Indledningsvis skal du indtaste din eksterne SSH-brugeradgangskode for at kopiere den offentlige nøgle.

# ssh-copy-id [email _SERVER_IP

Når den offentlige SSH-nøgle er kopieret til fjernserveren, skal du logge ind på den eksterne SSH-server med følgende kommando.

# ssh [email _SERVER_IP

For at sikre SSH-serveren skal du til sidst ikke tillade fjern SSH-adgang til rodkontoen ved at åbne konfigurations-SSH-filen/etc/ssh/sshd_config med din teksteditor som root og ændre den fra Ja til Nej .

PermitRootLogin no

For at anvende indstillingen skal du genstarte SSH-tjenesten, så den bruger den nye konfiguration.

# systemctl restart sshd

Det er alt! Dette er blot nogle få grundlæggende indstillinger og kommandoer, som enhver systemadministrator har brug for at kende og anvende på et nyt installeret CentOS-system eller for at udføre daglige opgaver på systemet.

For at sikre og hærde CentOS 7-serveren, tjek disse følgende artikler.

  1. Mega-guiden til hærdning og sikring af CentOS 7 - del 1
  2. Mega-guiden til hærdning og sikring af CentOS 7 - del 2

Hvis du planlægger at implementere websteder på dette CentOS 7-system, skal du lære at konfigurere og konfigurere LEMP-stakken.