Zoeken op website

RHCSA-serie: SSH beveiligen, hostnaam instellen en netwerkservices inschakelen - Deel 8


Als systeembeheerder zult u zich vaak moeten aanmelden bij externe systemen om diverse beheertaken uit te voeren met behulp van een terminalemulator. U zult zelden voor een echte (fysieke) terminal zitten, dus u moet een manier bedenken om op afstand in te loggen op de machines die u moet beheren.

In feite is dat misschien wel het laatste dat u voor een fysieke terminal moet doen. Om veiligheidsredenen is het gebruik van Telnet voor dit doel geen goed idee, omdat al het verkeer in ongecodeerde, platte tekst via de draad gaat.

Daarnaast zullen we in dit artikel ook bekijken hoe u netwerkservices kunt configureren om automatisch te starten bij het opstarten en hoe u de netwerk- en hostnaamresolutie statisch of dynamisch kunt instellen.

SSH-communicatie installeren en beveiligen

Om op afstand in te kunnen loggen op een RHEL 7 box met behulp van SSH, moet u openssh, openssh installeren -clients en openssh-servers pakketten. Met de volgende opdracht installeert u niet alleen het programma voor inloggen op afstand, maar ook de tool voor veilige bestandsoverdracht en het hulpprogramma voor het kopiëren van bestanden op afstand:


yum update && yum install openssh openssh-clients openssh-servers

Houd er rekening mee dat het een goed idee is om de server-tegenhangers te installeren, omdat u op een gegeven moment misschien dezelfde machine als zowel client als server wilt gebruiken.

Na de installatie zijn er een aantal basiszaken waarmee u rekening moet houden als u externe toegang tot uw SSH-server wilt beveiligen. De volgende instellingen zouden aanwezig moeten zijn in het bestand /etc/ssh/sshd_config.

1. Wijzig de poort waar de sshd-daemon naar luistert van 22 (de standaardwaarde) naar een hoge poort (2000 of hoger), maar zorg er eerst voor dat de gekozen poort niet wordt gebruikt.

Stel dat u poort 2500 kiest. Gebruik netstat om te controleren of de gekozen poort al dan niet in gebruik is:


netstat -npltu | grep 2500

Als netstat niets retourneert, kunt u veilig poort 2500 gebruiken voor sshd en moet u de poortinstelling in het configuratiebestand als volgt wijzigen:


Port 2500

2. Sta alleen protocol 2 toe:


Protocol 2

3. Configureer de authenticatietime-out op 2 minuten, sta geen root-logins toe en beperk de lijst met gebruikers die mogen inloggen via ssh tot een minimum:


LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. Gebruik indien mogelijk sleutelgebaseerde in plaats van wachtwoordauthenticatie:


PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

Hierbij wordt ervan uitgegaan dat u al een sleutelpaar met uw gebruikersnaam op uw clientcomputer hebt aangemaakt en dit naar uw server hebt gekopieerd, zoals hier wordt uitgelegd.

  1. Schakel SSH-wachtwoordloos inloggen in

Netwerken en naamomzetting configureren

1. Elke systeembeheerder moet goed bekend zijn met de volgende systeembrede configuratiebestanden:

  1. /etc/hosts wordt gebruikt om namen <---> IP's in kleine netwerken om te zetten.

Elke regel in het bestand /etc/hosts heeft de volgende structuur:


IP address - Hostname - FQDN

Bijvoorbeeld,


192.168.0.10	laptop	laptop.gabrielcanepa.com.ar

2. /etc/resolv.conf specificeert de IP-adressen van DNS-servers en het zoekdomein, dat wordt gebruikt voor het aanvullen van een bepaalde zoekopdrachtnaam tot een volledig gekwalificeerde domeinnaam wanneer er wordt geen domeinachtervoegsel opgegeven.

Onder normale omstandigheden hoeft u dit bestand niet te bewerken, omdat het door het systeem wordt beheerd. Als u echter de DNS-servers wilt wijzigen, houd er dan rekening mee dat u zich op elke regel aan de volgende structuur moet houden:


nameserver - IP address

Bijvoorbeeld,


nameserver 8.8.8.8

3. 3. /etc/host.conf specificeert de methoden en de volgorde waarin hostnamen binnen een netwerk worden omgezet. Met andere woorden, het vertelt de naamresolver welke services hij moet gebruiken, en in welke volgorde.

Hoewel dit bestand verschillende opties heeft, bevat de meest voorkomende en basisconfiguratie de volgende regel:


order bind,hosts

Dit geeft aan dat de oplosser eerst moet kijken in de naamservers die zijn opgegeven in resolv.conf en vervolgens naar het bestand /etc/hosts voor naamomzetting.

4. /etc/sysconfig/network bevat routerings- en globale hostinformatie voor alle netwerkinterfaces. De volgende waarden kunnen worden gebruikt:


NETWORKING=yes|no
HOSTNAME=value

Waar de waarde de Fully Qualified Domain Name (FQDN) moet zijn.


GATEWAY=XXX.XXX.XXX.XXX

Waarbij XXX.XXX.XXX.XXX het IP-adres van de netwerkgateway is.


GATEWAYDEV=value

Op een machine met meerdere NIC's is waarde het gateway-apparaat, zoals enp0s3.

5. Bestanden in /etc/sysconfig/network-scripts (configuratiebestanden voor netwerkadapters).

In de eerder genoemde map vindt u verschillende platte tekstbestanden met de naam.


ifcfg-name

Waarbij naam de naam is van de NIC zoals geretourneerd door ip link show:

Bijvoorbeeld:

Behalve voor de loopback-interface kunt u een soortgelijke configuratie voor uw NIC's verwachten. Merk op dat sommige variabelen, indien ingesteld, de variabelen in /etc/sysconfig/network voor deze specifieke interface zullen overschrijven. In dit artikel wordt bij elke regel commentaar gegeven ter verduidelijking, maar in het eigenlijke bestand moet u commentaar vermijden:


HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC
TYPE=Ethernet # Type of connection
BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case.
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file.
NAME=enp0s3
UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb
ONBOOT=yes # The operating system should bring up this NIC during boot

Hostnamen instellen

In Red Hat Enterprise Linux 7 wordt de opdracht hostnamectl gebruikt om de hostnaam van het systeem op te vragen en in te stellen.

Om de huidige hostnaam weer te geven, typt u:


hostnamectl status

Gebruik om de hostnaam te wijzigen


hostnamectl set-hostname [new hostname]

Bijvoorbeeld,


hostnamectl set-hostname cinderella

Om de wijzigingen van kracht te laten worden, moet u de daemon hostnamed opnieuw opstarten (op die manier hoeft u zich niet af en weer aan te melden om de wijziging toe te passen):


systemctl restart systemd-hostnamed

Daarnaast bevat RHEL 7 ook het hulpprogramma nmcli dat voor hetzelfde doel kan worden gebruikt. Voer het volgende uit om de hostnaam weer te geven:


nmcli general hostname

en om het te veranderen:


nmcli general hostname [new hostname]

Bijvoorbeeld,


nmcli general hostname rhel7

Netwerkservices starten tijdens het opstarten

Laten we tot slot kijken hoe we ervoor kunnen zorgen dat netwerkservices automatisch worden gestart tijdens het opstarten. In eenvoudige bewoordingen wordt dit gedaan door symbolische links te maken naar bepaalde bestanden die zijn gespecificeerd in de sectie [Install] van de serviceconfiguratiebestanden.

In het geval van firewalld (/usr/lib/systemd/system/firewalld.service):


[Install]
WantedBy=basic.target
Alias=dbus-org.fedoraproject.FirewallD1.service

Om de dienst in te schakelen:


systemctl enable firewalld

Aan de andere kant geeft het uitschakelen van firewalld recht op het verwijderen van de symlinks:


systemctl disable firewalld

Conclusie

In dit artikel hebben we samengevat hoe u verbindingen via SSH met een RHEL-server kunt installeren en beveiligen, hoe u de naam ervan kunt wijzigen en tot slot hoe u ervoor kunt zorgen dat netwerkservices worden gestart. laars. Als u merkt dat een bepaalde service niet correct is gestart, kunt u systemctl status -l [service] en journalctl -xn gebruiken om het probleem op te lossen.

Laat ons gerust weten wat u van dit artikel vindt via het onderstaande reactieformulier. Vragen zijn ook welkom. Wij horen graag van u!