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

Als systeembeheerder zult u vaak moeten aanmelden bij externe systemen om een verscheidenheid aan beheer taken uit te voeren met behulp van een terminalemulator. U zult zelden echt voor een echt (fysiek) terminal zitten, dus moet u een manier voorbereiden om op afstand aan te melden bij de machines die u moet beheren.

In feite zal dat misschien het laatste zijn dat u voor een fysiek terminal moet doen. Om veiligheidsredenen is het gebruiken van Telnet voor dit doel niet een goed idee, aangezien al het verkeer via de draden in onversleutelde, platte tekst gaat.

Verder zal in dit artikel ook worden gezien hoe netwerkdiensten automatisch opstarten bij het opstarten van de computer en hoe u netwerk- en hostnaamoplossing statisch of dynamisch kunt instellen.

RHCSA: Secure SSH and Enable Network Services – Part 8

Installeren en beveiligen van SSH-communicatie

Om op afstand aan te melden bij een RHEL 7-box met behulp van SSH, moet u de pakketten openssh, openssh-clients en openssh-servers moeten installeren. Het volgende commando zal niet alleen de op afstand aanmelden programma installeren, maar ook het veilige bestandsoverdrachtsprogramma en de op afstand bestand kopiëren utility:

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

Merk op dat het een goed idee is om de server varianten ook te installeren, aangezien u misschien op een bepaald moment of ander dezelfde machine zowel als client als server wilt gebruiken.

Na de installatie moet u rekening houden met een paar basisbeginselen als u de remote toegang tot uw SSH-server wilt beveiligen. De volgende instellingen moeten aanwezig zijn in het bestand /etc/ssh/sshd_config.

1. Wijzig de poort waarop de sshd-daemon zal luisteren van 22 (de standaardwaarde) naar een hoge poort (2000 of groter), maar zorg eerst ervoor dat de gekozen poort niet in gebruik is.

Bijvoorbeeld, veronderstel dat u poort 2500 heeft gekozen. Gebruik netstat om te controleren of de gekozen poort in gebruik is of niet:

# netstat -npltu | grep 2500

Als netstat niets teruggeeft, kunt u veilig poort 2500 gebruiken voor sshd, en moet u de Poort instelling in het configuratiebestand zoals volgt wijzigen:

Port 2500

2. Stel alleen protocol 2 in:

Protocol 2

3. Configureer de authenticatietimeout tot 2 minuten, stel geen root-login toe, en beperk tot het minimum de lijst van gebruikers die via ssh kunnen inloggen:

LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. Als mogelijk, gebruik sleutelgebaseerde in plaats van wachtwoordauthenticatie:

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

Dit gaat er van uit dat u al een sleutelpaar heeft aangemaakt met uw gebruikersnaam op uw client-machine en het heeft gekopieerd naar uw server, zoals hier uitgelegd.

  1. Schakel SSH wachtwoordloze login in

Configureren van netwerk- en naamresolutie

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

  1. /etc/hosts wordt gebruikt om namen <—> IP-adressen op te lossen in kleine netwerken.

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 geeft de IP-adressen van DNS-servers en het zoekdomein op, dat wordt gebruikt om een gegeven querynaam in te vullen tot een volledig gekwalificeerde domeinnaam wanneer er geen domeinsuffix wordt opgegeven.

Onder normale omstandigheden hoeft u dit bestand niet te bewerken, omdat het wordt beheerd door het systeem. Als u echter DNS-servers wilt wijzigen, dient u zich te houden aan de volgende structuur in elke regel:

nameserver - IP address

Bijvoorbeeld,

nameserver 8.8.8.8

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

Hoewel dit bestand meerdere opties heeft, omvat de meest voorkomende en basisconfiguratie een regel als volgt:

order bind,hosts

Dit geeft aan dat de resolver eerst moet zoeken in de nameservers die zijn gespecificeerd in resolv.conf en vervolgens in het bestand /etc/hosts voor naamresolutie.

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

NETWORKING=yes|no
HOSTNAME=value

Waarde moet de volledig gekwalificeerde domeinnaam (FQDN) zijn.

GATEWAY=XXX.XXX.XXX.XXX

Waar XXX.XXX.XXX.XXX het IP-adres is van de gateway van het netwerk.

GATEWAYDEV=value

In een machine met meerdere NIC’s, is de waarde het gateway-apparaat, zoals enp0s3.

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

In de eerder genoemde map vind je meerdere platte tekstbestanden met de naam.

ifcfg-name

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

Check Network Link Status

Bijvoorbeeld:

Network Files

Voor de loopback-interface kun je een vergelijkbare configuratie verwachten voor je NIC’s. Let op dat sommige variabelen, indien ingesteld, de variabelen in /etc/sysconfig/network voor dit specifieke interface zullen overschrijven. Elke regel is gecommentarieerd ter verduidelijking in dit artikel, maar in het daadwerkelijke bestand dien je opmerkingen te 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 het hostnamectl-commando gebruikt om zowel de hostnaam van het systeem op te vragen als in te stellen.

Om de huidige hostnaam weer te geven, typ je:

# hostnamectl status
Check System Hostname

Om de hostnaam te wijzigen, gebruik je

# hostnamectl set-hostname [new hostname]

Bijvoorbeeld:

# hostnamectl set-hostname cinderella

Om de wijzigingen door te voeren, moet je de hostnamed-daemon herstarten (hierdoor hoef je niet af te melden en opnieuw aan te melden om de wijziging toe te passen):

# systemctl restart systemd-hostnamed
Set System Hostname

Bovendien bevat RHEL 7 ook het nmcli-hulpprogramma dat voor hetzelfde doel kan worden gebruikt. Om de hostnaam weer te geven, voer je uit:

# nmcli general hostname

en om deze te wijzigen:

# nmcli general hostname [new hostname]

Bijvoorbeeld:

# nmcli general hostname rhel7
Set Hostname Using nmcli Command

Netwerkservices opstarten bij het opstarten

Om af te sluiten, laten we zien hoe we ervoor zorgen kunnen dat netwerkdiensten automatisch worden gestart bij het opstarten van het systeem. In eenvoudige termen wordt dit gedaan door symlinks te maken naar bepaalde bestanden die zijn opgenoemd in de [Install] sectie van de configuratiebestanden van de diensten.

Bij 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

Anderzijds, het deactiveren van firewalld betekent het verwijderen van de symlinks:

# systemctl disable firewalld
Enable Service at System Boot

Conclusie

In dit artikel hebben we samengevat hoe u een SSH verbinding kunt installeren en beveiligen naar een RHEL server, hoe u de naam ervan kunt wijzigen, en tenslotte hoe u ervoor kunt zorgen dat netwerkdiensten automatisch worden gestart bij het opstarten. Als u merkt dat een bepaalde dienst niet goed is gestart, kunt u systemctl status -l [dienst] en journalctl -xn gebruiken om erover te troubleshooten.

Mocht u erover naar commentaar willen of opmerkingen willen geven over dit artikel, dan zijn we erom gecharmeerd. We zijn erop vertoond om van u te horen!

Source:
https://www.tecmint.com/rhcsa-series-secure-ssh-set-hostname-enable-network-services-in-rhel-7/