Zoeken op website

Initiële serverconfiguratie en -configuraties op CentOS 7


In deze tutorial worden de eerste basisstappen uitgelegd die u moet doorlopen na het installeren van een minimaal CentOS 7 systeem zonder grafische omgeving om informatie te verkrijgen over het geïnstalleerde systeem, de hardware waarop het systeem draait en configureer andere specifieke systeemtaken, zoals netwerken, rootrechten, software, services en andere.

Vereisten

  1. CentOS 7 Minimale installatie

Belangrijk: RHEL 7-gebruikers kunnen dit artikel volgen om een initiële serverconfiguratie uit te voeren op RHEL 7.

Update CentOS 7-systeem

De eerste stap die u moet uitvoeren op een nieuw geïnstalleerd CentOS-systeem is ervoor zorgen dat het systeem up-to-date is met de nieuwste kernel- en systeembeveiligingspatches, softwarebronnen en pakketten.

Om een CentOS 7-systeem volledig te updaten, geeft u de volgende opdrachten uit met rootrechten.


yum check-update
yum upgrade

Nadat het upgradeproces is voltooid, kunt u, om schijfruimte vrij te maken, alle gedownloade pakketten verwijderen die tijdens het upgradeproces zijn gebruikt, samen met alle informatie over de opslagplaatsen in de cache, door de volgende opdracht uit te voeren.


yum clean all

Installeer systeemhulpprogramma's op CentOS 7

De volgende hulpprogrammapakketten kunnen nuttig blijken te zijn voor het dagelijkse systeembeheer: nano (teksteditor ter vervanging van de vi-editor), wget, curl (hulpprogramma's die worden gebruikt voor het downloaden pakketten meestal via netwerk) net-tools, lsof (hulpprogramma's voor het beheren van lokale netwerken) en bash-completion (automatische aanvulling op de opdrachtregel).

Installeer ze allemaal in één keer door de onderstaande opdracht uit te voeren.


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

Netwerk configureren in CentOS 7

CentOS 7 heeft een breed scala aan tools die kunnen worden gebruikt om netwerken te configureren en te beheren, van het handmatig bewerken van het netwerkconfiguratiebestand tot het gebruik van opdrachten zoals ip, ifconfig, nmtui, nmcli of route.

Het eenvoudigste hulpprogramma dat een beginner kan gebruiken om netwerkconfiguraties te beheren en te wijzigen is de grafische opdrachtregel nmtui.

Om de hostnaam van het systeem te wijzigen via het hulpprogramma nmtui, voert u de opdracht nmtui-hostname uit, stelt u de hostnaam van uw machine in en drukt u op OK om te voltooien, zoals weergegeven in de onderstaande schermafbeelding.


nmtui-hostname

Om een netwerkinterface te manipuleren, voert u de opdracht nmtui-edit uit, kiest u de interface die u wilt bewerken en selecteert u bewerken in het rechtermenu, zoals weergegeven in de onderstaande schermafbeelding.


nmtui-edit

Zodra u zich in de grafische interface van het hulpprogramma nmtui bevindt, kunt u de IP-instellingen van de netwerkinterface instellen, zoals geïllustreerd in de onderstaande schermafbeelding. Wanneer u klaar bent, navigeert u naar OK met de toets [tab] om de configuratie op te slaan en af te sluiten.

Om de nieuwe configuratie van de netwerkinterface toe te passen, voert u de opdracht nmtui-connect uit, selecteert u de interface die u wilt beheren en klikt u op de optie Deactiveren/Activeren om buiten gebruik te stellen en weer op te starten de interface met de IP-instellingen, zoals weergegeven in de onderstaande schermafbeeldingen.


nmtui-connect

Om de netwerkinterface-instellingen te bekijken, kunt u de inhoud van het interfacebestand bekijken of kunt u de onderstaande opdrachten geven.


ifconfig enp0s3
ip a
ping -c2 google.com

Andere handige hulpprogramma's die kunnen worden gebruikt om de snelheid te beheren, de verbindingsstatus te bepalen of informatie te verkrijgen over machinenetwerkinterfaces zijn ethtool en mii-tool.


ethtool enp0s3
mii-tool enp0s3

Een belangrijk aspect van uw machinenetwerk is het vermelden van alle open netwerkaansluitingen om te zien welke programma's op welke poorten luisteren en wat de status is van de bestaande netwerkverbindingen.

Om alle servers weer te geven die TCP of UDP sockets in luisterstatus hebben geopend, voert u de volgende opdrachten uit. De UDP-server geeft echter geen socketstatus weer vanwege het feit dat UDP een verbindingsloos protocol is dat alleen pakketten via het netwerk verzendt en geen verbindingen tot stand brengt.


netstat -tulpn
ss -tulpn
lsof -i4 -6

Beheer services in CentOS 7

CentOS 7 beheert daemons of services via het hulpprogramma systemctl. Om alle servicesstatussen weer te geven, voert u de volgende opdracht uit.


systemctl list-units

Om te controleren of een daemon of service automatisch start wanneer het systeem opstart, geeft u de volgende opdracht.


systemctl list-unit-files -t service

Om de oude SysV services in uw systeem weer te geven en uit te schakelen, voert u de volgende chkconfig-opdrachten uit.


chkconfig --list
chkconfig service_name off

5. Schakel ongewenste services uit in CentOS 7

Het wordt aanbevolen om na het installeren van CentOS 7 een lijst te maken van de services die in het systeem worden uitgevoerd door de bovenstaande opdrachten uit te voeren en deze uit te schakelen en te verwijderen om de aanvalsvectoren op uw systeem te verminderen.

De Postfix daemon is bijvoorbeeld standaard geïnstalleerd en ingeschakeld in CentOS 7. Als uw systeem geen mailserver nodig heeft, kunt u de postfix-service het beste stoppen, uitschakelen en verwijderen door de onderstaande opdrachten uit te voeren .


systemctl stop postfix
systemctl disable postfix
yum remove postfix

Naast de opdrachten netstat, ss, lsof of systemctl, kunt u ook ps-, top- of pstree-opdrachten uitvoeren om te ontdekken en te identificeren welke ongewenste services op uw systeem worden uitgevoerd en schakel ze uit of verwijder ze.

Standaard is het hulpprogramma pstree niet geïnstalleerd in CentOS 7. Voer de volgende opdracht uit om het te installeren.


yum install psmisc
pstree -p

Schakel Firewall in CentOs 7 in

Firewalld is het belangrijkste firewallhulpprogramma dat interactie gebruikt om iptables-regels te beheren.
Voer de volgende opdrachten uit om de firewall in CentOS 7 in te schakelen, te starten en te verifiëren.


systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Om een specifieke service open te stellen voor inkomende verbindingen, controleert u eerst of de applicatie al aanwezig is in de firewalld-regels en voegt u vervolgens de regel voor de service toe, zoals weergegeven in het onderstaande voorbeeld, waarmee firewalld >SSH inkomende verbindingen. Gebruik de schakelaar --permanent om de regel permanent toe te voegen.


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

Als de service nu al is gedefinieerd in firewalld-regels, kunt u de servicepoort handmatig toevoegen, zoals weergegeven in het onderstaande voorbeeld.


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

Schakel Sudo-machtigingen in voor gebruikersaccounts

Om root-rechten te verlenen aan een normale gebruiker, maakt u eerst de gebruiker aan door de opdracht adduser uit te voeren, stelt u het wachtwoord voor de gebruiker in en verleent u root-rechten aan de gebruiker door het onderstaande commando uit te voeren, waardoor de nieuwe gebruiker aan de administratieve wielgroep wordt toegevoegd.


adduser tecmint
passwd tecmint
usermod -aG wheel tecmint

Om te testen of de nieuwe gebruiker root-rechten heeft, logt u in op het systeem met de inloggegevens van de gebruiker en voert u de opdracht yum uit met sudo-rechten, zoals weergegeven in het onderstaande fragment.


su - tecmint
sudo yum update

Configureer SSH Public Key Authenticatie op CentOS 7

Om SSH uw server te beveiligen en publieke sleutelauthenticatie in te stellen om de veiligheid van uw server te vergroten met een privé SSH-sleutel om in te loggen, genereert u eerst een SSH-sleutelpaar met de volgende opdracht.

Voer geen wachtwoordzin in als u serverbeheer via SSH wilt automatiseren.


ssh-keygen -t RSA

Nadat de SSH-sleutelparen zijn gegenereerd, kopieert u de sleutel naar de server waarmee u verbinding wilt maken door het onderstaande commando te geven. Voer eerst uw externe SSH-gebruikerswachtwoord in om de openbare sleutel te kopiëren.


ssh-copy-id remote_user@SSH_SERVER_IP

Nadat de openbare SSH-sleutel naar de externe server is gekopieerd, logt u met de volgende opdracht in op de externe SSH-server.


ssh remote_user@SSH_SERVER_IP

Ten slotte, om de SSH-server te beveiligen, moet u ervoor zorgen dat u externe SSH-toegang tot het root-account verbiedt door het configuratie-SSH-bestand /etc/ssh/sshd_config te openen met uw teksteditor als root en dit te wijzigen van Ja tot Nee.


PermitRootLogin no

Om de instelling toe te passen, moet u de SSH-service opnieuw opstarten, zodat deze de nieuwe configuratie gebruikt.


systemctl restart sshd

Dat is alles! Dit zijn slechts enkele basisinstellingen en opdrachten die elke systeembeheerder moet kennen en toepassen op een nieuw geïnstalleerd CentOS-systeem of om dagelijkse taken op het systeem uit te voeren.

Bekijk de volgende artikelen om de CentOS 7-server te beveiligen en te versterken.

  1. De megagids voor het versterken en beveiligen van CentOS 7 – Deel 1
  2. De megagids voor het verharden en beveiligen van CentOS 7 – Deel 2

Als u van plan bent websites op dit CentOS 7-systeem te implementeren, leest u hoe u de LAMP-stack of LEMP-stack instelt en configureert.