Voor de mensen die er belang bij hebben, hieronder een simpele tutorial over het beveiligen van SSH gebruik op een DirectAdmin server (dedicated, vps, CentOs, DirectAdmin or not, have fun! ).
Deze tutorial is bij ons in de f.a.q. terug te vinden als: http://webcenter.mortydot.com/knowle...ayarticle&id=5
Hier op WHT is het mijn eerste tutorial. Heb je tips (opmaak of inhoudelijk) hou het graag opbouwend.
------------------------------------------------------------------------------------
In deze tutorial gaan we SSH beter beveiligen. 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.
1) Gebruik sterke wachtwoordenEen 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):2) Beperkt SSH gebruikers
- Minimaal 8 karakters/tekens
- Gebruik grote en kleine letters
- Mix getallen en letters door elkaar
- Gebruik speciale tekens (!@#$%^&*_+)
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.3) Standaard protocol 2
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:
Na wijzigingen moet u sshd service herstarten met:Code:AllowUsers root.Code:#service sshd restartSSH 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.4) Wijzig standaard ssh poort
Bewerk /etc/ssh/sshd_config en zoek/wijzig de volgende regel op in /etc/ssh/sshd_config:
Na wijzigen van het bestand herstart de sshd service:Code:#Protocol 1,2 Protocol 2
Code:# service sshd restartEen 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!Optioneel, geen SSH root toegang
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: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)Code:#setupCSF Wijze:Stap 2)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).Als het goed is heb je nu nu de nieuwe poort 1022 opengezet voor gebruil.
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.Nadat de nieuwe poort 1022 openstaat voor buitenaf gaan we SSH configureren dat die ook daadwerkelijk op deze poort luistert.Stap 3)
Open de SSH config file: /etc/ssh/sshd_config en wijzig de volgende instellingen:
Na het opslaan van de config file zal SSH de volgende keer dat het gestart worden op de nieuwe poort luisteren.Code:# Run ssh on a non-standard port: Port 1022 #Change me
SSH herstarten:
Code:# service restart sshdNu 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.Beheert u uw server niet als root via SSH? Dan is het ook niet nodig om dit op afstand toe te staan. Wijzig het volgende in /etc/ssh/sshd_config:
Na het wijzigen moet u enkel nog SSH server herstartenCode:# Prevent root logins: PermitRootLogin no
Code:# service sshd restart