MortyDot website > Welkom op MortyDot webcenter
Webcenter | Login | Register

SSH beveiliging/gebruik optimaliseren

In deze tutorial gaan we SSH beter beveiligen. Echter blijft dit een een simpelle basis tutorial met enkelle basis maatregellen. SSH is de meest en best gebruikte wijze van remote beheer van een Linux systeem. Terecht, met SSH kunt u een machine geheel op afstand beheren, onderhouden, etc. Maar stel dat een kwaadwillende toegang krijgt tot SSH? Dan zijn de gevolgen niet te overzien. Normaliter word er bij SSH ter beveiliging gebruik gemaakt van een username en password.

Deze tutorial is getest met een CentOS 5 basic installatie, DirectAdmin en CSF.
De volgende onderwerpen worden behandeld:

  1. Gebruik sterke wachtwoorden
  2. Beperk SSH gebruik
  3. Standaart protocol 2
  4. Wijzig standaart SSH poort
  5. Geen SSH root toegang
  6. Beheer vanaf één enkel IP

 

1) Gebruik sterke wachtwoorden

Een van de zwakste punten bij wachtwoorden is altijd de gebruiker en de moeilijkheid van een wachtwoord. Let op dat bij DirectAdmin SSH gebruik het wachtwoord overeenkomt met het wachtwoord van de DirectAdmin user. Uiteraard geld voor een DirectAdmin wachtwoord de zelfde geadviseerde punten als een SSH wachtwoord (en ieder ander mogelijk wachtwoord):

  • Minimaal 8 karakters/tekens
  • Gebruik grote en kleine letters
  • Mix getallen en letters door elkaar
  • Gebruik speciale tekens (!@#$%^&*_+)

 

2) Beperk SSH gebruik

Stel dat een van uw DirectAdmin gebruikers zijn/haar inloggegevens in kwaadwillende handen vallen (of zij hebben zelf slechte intenties). Het laatste wat u wil is dat deze gebruiker met wat voor een rechten dan ook SSH toegang heeft tot uw server. Het is daarom sterk aan te raden om DirectAdmin users en resellers GEEN SSH toegang te geven. Bij gebruikers die dit wel wensen kunt u altijd zelf, individueel toegang geven. U kunt SSH toegang uitschakelen tijdens het aanmaken als optie van user en reseller hosting pakketten.

U kunt een lijst van toegestane SSH users terug vinden in /etc/ssh/sshd_config.
Normaliter staat onderaan deze config file een lijst met users die SSH toegang hebben. Als u verder niemand behalve uzelf toegang wil geven zal er enkel deze lijn staan:
AllowUsers root.

Na wijzigingen moet u sshd service herstarten met:

#service sshd restart

 

3) Standaard protocol 2

SSH heeft standaard op dit moment twee protocols om langs te communiceren. Protocol 1 is ouder en minder veilig. Wij gaan daarom protocol 2 als standaard instellen.

Bewerk /etc/ssh/sshd_config en zoek/wijzig de volgende regel op in /etc/ssh/sshd_config:

#Protocol 1,2
Protocol 2

Na wijzigen van het bestand herstart de sshd service:

# service sshd restart

 

4) Wijzig standaard ssh poort

Een andere belangrijke wijziging is het veranderen van de standaard SSH poort. In dit voorbeeld gaan we SSH van poort 22 naar poort 1022 veranderen. Let op dat bij deze wijziging u bij uw gebruikte SSH cliënt nu wel de nieuwe poort moet opgeven voor connecten!

Stap 1)

Eerst gaan we de firewall zodanig instellen dat op ook op de nieuwe poort geluisterd kan worden. Hoe is afhankelijk van uw gebruikte firewall. Gebruikt u CentOS dan zal deze hoogstwaarschijnlijk de 'setup' tool inbegrepen hebben. Servers met CSF kunnen dit vanuit het DirectAdmin CSF pagina instellen of via de CSF config file.

Setup wijze:

#setup

u kunt bij firewall en netwerk opties de toegestane poorten opgeven. Zorg ervoor dat poort 1022 niet meer geblokkeerd word. (1022:tcp kunt u bij custom ports toevoegen)

CSF Wijze

Bij CSF zult u de ingaande en uitgaande poort moeten opgeven. Voeg de poort 1022 toe op de CSF config pagina. (zowel TCP_in als TCP_out).
Beschikt u niet over CSF dan is deze config file terug te vinden als: /etc/csf/csf.conf

Zoek naar TCP_in en TCP_out en voeg hier de poort 1022 toe.

Stap 2)

Nadat de nieuwe poort 1022 openstaat voor buitenaf gaan we SSH configureren dat die ook daadwerkelijk op deze poort luistert.
Open de SSH config file: /etc/ssh/sshd_config en wijzig de volgende instellingen:

# Run ssh on a non-standard port:
Port 1022  #Change me

Na het opslaan van de config file zal SSH de volgende keer dat het gestart worden op de nieuwe poort luisteren.
SSH herstarten:

# service restart sshd

Stap 3)

Nu SSH op een nieuwe poort luistert (1022) moeten we mogelijk opnieuw connecten met de server.
Echter staat de oude poort nu nog wel open volgens de firewall. Verwijder deze poort zoals je gedaan hebt door een nieuwe poort toe te voegen (stap 1). Enkel nu voegen we geen poort 1022 toe, maar verwijderen we poort 22.

 

5) Geen SSH root toegang

Voorkom direct inloggen met ssh als root. We gaan een extra gebruiker aanmaken die basis rechten heeft. Deze krijgt SSH toegang. U kunt vervolgens met deze gebruiker inloggen en su'en naar root.

We gaat eerst een nieuwe user aanmaken (username word suroot):

# useradd suroot

Vervolgens gaan we deze een password geven (geef hier zelf uw gewenste wachtwoord in, denk aan stap1):

# passwd suroot
Changing password for user suroot.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Wijzig het volgende regel in /etc/ssh/sshd_config:

# Prevent root logins:
PermitRootLogin no

Ook controleren we de regel met toegestane SSH login users in /etc/ssh/sshd_config. Meer info zie "2) Beperkt SSH gebruikers" (root moet weg, suroot toevoegen):

AllowUsers suroot

Na het wijzigen moet u enkel nog SSH server herstarten

# service sshd restart

Gebruik van suroot

Nu we niet meer direct kunnen inloggen als root gebruiker doen we dit via de suroot user. Hier onder een voorbeeld van gebruik om op root dingen te wijzigen:

Login als de user suroot op dezelfde wijze als u normaal inloged als root.
Schakel over naar root user, geef als gevraagd het wachtwoord:

# su root
Password:

Gefeliciteerd, u hebt nu root toegang via de suroot user

6) Beheer vanaf één enkel IP

Nog mooier is om SSH beheer vanaf een enkele locatie (IP) plaatsvind. Bijvoorbeeld kantoor. We gaan met deze stap iptables vertellen dat poort 1022 (zie stap "4) Wijzig standaart SSH poort").

In dit voorbeeld pakken we als werkplek IP 195.216.246.2 en gebruiken luisterd SSH op poort 1022.

Bewerk het bestand /etc/sysconfig/iptables en voeg deze regel toe:

iptables -A INPUT -p tcp -s 195.216.246.2 --dport 1022 -j ACCEPT

Sla de wijziging op en herstart Iptables:

# /etc/rc.d/init.d/iptables restart

U kunt vanaf nu enkel nog SSH gebruik vanaf adres 195.216.246.2 op poort 1022



Was dit antwoord nuttig ?

Aan favorieten toevoegen Aan favorieten toevoegen

Print dit artikel Print dit artikel


Domeinlookup

Is uw domein nog vrij?
www..

FAQ/Handleidingen

Trefwoorden:

Downloads

Trefwoorden:

Community

Snelheid/uptime