1

Onderwerp: SSh en Beveiligen

Hello allemaal,
ik ben helaas een noob als het om een eigen linux server gaat, en ik heb laatst noodgedwongen een vps server moeten bijschaven
dus in komende tijd zullen heel veel domme vragen gesteld worden door mij ben ik bang tongue

met deze tutorials http://www.ccchosting.nl/dedicated-serv … erver.html wil ik dus in eerste instant mijn server beveiligen met firewall, en ook mijn ssh port veranderen enzo, ik wil graag weten wat er allemaal mis kan gaan als ik iets verkeerds doe via ssh (trouwens ik gebruik puty voor dit) alle tips en advies zijn welcome

Bedankt voor jullie tijd!
Tess

Re: SSh en Beveiligen

Niet om je bang te maken, maar gewoon om je in de realiteit te zetten: in theorie kan je via SSH alles kapot maken smile. Je kan via SSH namelijk inloggen als root en als root heb je alle rechten. Je moet dus goed oppassen en weten wat je aan het doen bent. Daarom is het eigenlijk niet handig om direct een machine aan het internet te hebben, maar goed, blijkbaar had je die keuze niet echt smile.
Een tip om SSH iig al veiliger te krijgen: zet uit dat direct als root in kan loggen. Dat staat in de config van de SSH deamon. Je kan dan nog steeds wel root worden, maar dan moet je eerst inloggen als normale gebruiker (die een eventuele hacker dus eerst moet raden wink) en vervolgens kan je met het commando su root worden (waar je dan weer een ander wachtwoord voor nodig hebt).
Ook is het aan te raden om uit te zetten dat je met wachtwoorden in kan loggen. Key-based logins zijn veiliger. Dan moet je namelijk niet alleen een wachtwoord weten, je moet ook het goede bestand hebben, anders kom je er nog gewoon niet in.
Ook zijn wordt je server constant aangevallen. Er zijn groepen op internet die constant hele IP-ranges afspeuren naar specifieke poorten die open staan. SSH op een andere poort gaan draaien is daar al een goede oplossing tegen. Verder is het wel een goed idee om iedereen die vaker dan 3 (of 5, maar dat is persoonlijk voorkeur) probeert in te loggen, maar niet slaagt gewoon keihard te blokkeren. Dat kan je doen met een tool als Denyhosts of Fail2ban.

Op die manier is je SSH server al stukken veiliger smile. Wat ga je verder nog draaien op de server, dan kan je daar misschien ook specifieke tips voor geven smile.

Als tip voor een nuttige website wil ik deze nog aan je geven: http://www.howtoforge.com

Laptop: Core 2 Duo T7600. 200 GB (RAID0) voor Windows 7 Professional (Toshiba Qosmio G30-126)
Netbook: Atom N270, 2 GB RAM, 20 GB voor Ubuntu 10.04 (Asus Eee 901)
Desktop: Core 2 Duo E6600 @ 3,3 Ghz, 8 GB RAM,  3 TB (RAID0+RAID6) voor Gentoo, 15 GB voor SUSE 11.1, 1 TB voor Windows 7 Pro 64 bit Dutch (zelfbouw)
Server: 2x Pentium 3 Tualatin 1,13 Ghz, 1 GB RAM, 232 GB (RAID1) voor Gentoo (zelfbouw)

3

Re: SSh en Beveiligen

Overigens, als je server op afstand staat, en je maakt een foutje met je firewall of je ssh-daemon, dan kan je jezelf buitensluiten... Ook iets om voor op te passen...

4

Re: SSh en Beveiligen

Tess, een firewall gaat niet veel brengen.
Voor elke service die je draait zul je een poort moeten open zetten.
Voor elke service die je niet draait loop je ook geen gevaar.
Een firewall kun je gebruiken om je netwerk te beveiligen, voor je server boeid het niet zo, tenzij je weet wat je doet (dat duurt nog even)

Wat r.b. zegt klopt ook.  doe je iets heel doms, dan kom je niet meer binnen.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

Re: SSh en Beveiligen

Buiten sluiten omdat je een foutje maakt met je firewall is eenvoudig te voorkomen. Ik heb zelf wel eens in die situatie gezeten en daar leer je snel van smile. Dit script gebruik ik tegenwoordig als ik een nieuw firewall script laad of m'n huidige script heb geupdate:

#!/bin/bash

# A simple script which calls an iptables config script (given in $1) and then
# sleeps for 30, and then resets iptables config, so you never lock
# yourself out. The firewall is completly open after those 30 seconds.

IPTABLES='/sbin/iptables'

./$1
sleep 30s
$IPTABLES --flush
$IPTABLES --delete-chain
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT

Ik heb dat script opgeslagen in het bestand iptables_test en heb ik execute rechten gegeven. Mijn iptables config zet ik altijd in iptables_setup. Om het te testen kom je dus op dit commando uit:

./iptables_test iptables_setup

Als je jezelf dan buiten sluit hoef je alleen maar 30 seconden te wachten en je komt er weer bij. Ik ben al een paar keer erg blij geweest met dit simpele script smile.
Misschien is er een kans dat je de variabele IPTABLES moet bijwerken met de lokatie van jouw iptables commando, maar dat verwacht ik niet eigenlijk.

Ennuh, Pascal: ik ben het toch niet helemaal eens met je statement dat een firewall overbodig is. Ik zet op m'n servers altijd een zeer stricte firewall op m'n doos. Ik zet niet alleen verkeer naar binnen 100% dicht, maar ook verkeer naar buiten is 100% geblokkeerd. Daarna ga ik wat gaatjes erin schoppen. TCP80 inkomend moet vaak open. TCP25 inkomend vaak ook. Uitgaand zet ik TCP80 naar ftp.nl.debian.org open en UDP53 naar de DNS server. Op die manier reguleer ik dus, tot in het extreme, wat voor verkeer er komt en gaat vanaf de server. Als er dan eens een veiligheidslek in een PHP app zit die erop draait en een of andere deus probeert allerlei troep te downloaden dan lukt dat gewoon niet. De firewall blokkeert. Uiteraard is dit een van de vele schakels in de security maatregelen. Dingen als fail2ban zijn ook leuk op Apache. Snort kan ook wel wat uitmaken. En uiteraard zinnige permissies op directories en files die binnen de webroot staan.

Laptop: Core 2 Duo T7600. 200 GB (RAID0) voor Windows 7 Professional (Toshiba Qosmio G30-126)
Netbook: Atom N270, 2 GB RAM, 20 GB voor Ubuntu 10.04 (Asus Eee 901)
Desktop: Core 2 Duo E6600 @ 3,3 Ghz, 8 GB RAM,  3 TB (RAID0+RAID6) voor Gentoo, 15 GB voor SUSE 11.1, 1 TB voor Windows 7 Pro 64 bit Dutch (zelfbouw)
Server: 2x Pentium 3 Tualatin 1,13 Ghz, 1 GB RAM, 232 GB (RAID1) voor Gentoo (zelfbouw)

Re: SSh en Beveiligen

Ssh-tips? Zie http://www.mrleejohn.nl/ssh2.htm
Security-tips? Zie http://www.mrleejohn.nl/linux-security.htm

Re: SSh en Beveiligen

Thanks voor jullie tips en adviezen en natuurlijk de handig links, alleen als ik zoveel text ziet dan lijkt het allemaal erg ingewikkeld tongue
ik kan inderdaad de server alleen via ssh bereiken, het is een linux server met centos5 bestuuringsysteem, het is voor mij ook mogelijk om in te loggen in solusvm en directadmin die al erop zit, overigens de server is alleen bedoeld voor 2 site van mij..

Ieder geval ik ga maar eens wat tijd vrij maken voor beveiligen van mijn server, ik laat jullie nog weten hoe het gegaan is big_smile
Tess

Re: SSh en Beveiligen

nog een noob vraagje XD, zal ik eerst firewall installeren en dan pas de port veranderen of maakt het allemaal niet uit?
en over new useradd, ik zie bij ieder tutorial over permitroot login dat ik de root user moet verwijderen en een ander username moet toevoegen, dus als ik een user name met "Tess" toevoeg heb ik nogsteeds root access?
sorry ik moet het zeker weten voordat ik alles naar de zeep helpt tongue

Re: SSh en Beveiligen

De root user zou ik niet verwijderen. Dan gaat er toch wel het een en ander mis in je machine (als je je machine boot start alles als root bijv. Als je geen root meer hebt, dan kan er niets meer starten tijdens de boot. Een situatie waar je niet zo vrolijk van wordt wink). Wat je kan doen is ervoor zorgen dat je met SSH standaard niet als root in kan loggen. Hij bestaat dan nog wel gewoon, maar de SSH Deamon vind bij de user "root" dan gewoon dat er altijd een fout wachtwoord wordt ingevuld.
Verder zie ik dat je de user "tess" maar gewoon root rechten wil geven. Dan ga je dus met je daily user beheers rechten geven. Dat is nergens voor nodig en alleen maar gevaarlijk. Als je ff wat aan wil passen aan je website, waarom zou je dat dan moeten gaan doen met een gebruiker die de rechten heeft om je disken te formateren? Nergens voor nodig. Al je dagelijkse werk doe je met een user die nergens recht toe heeft. Pas als het beheerswerk wordt (dus Apache configgen, backups instellen, controleren of terugzetten, enz.) dan ga je met een gebruiker werken die beheers rechten (dus root) nodig heeft.

Laptop: Core 2 Duo T7600. 200 GB (RAID0) voor Windows 7 Professional (Toshiba Qosmio G30-126)
Netbook: Atom N270, 2 GB RAM, 20 GB voor Ubuntu 10.04 (Asus Eee 901)
Desktop: Core 2 Duo E6600 @ 3,3 Ghz, 8 GB RAM,  3 TB (RAID0+RAID6) voor Gentoo, 15 GB voor SUSE 11.1, 1 TB voor Windows 7 Pro 64 bit Dutch (zelfbouw)
Server: 2x Pentium 3 Tualatin 1,13 Ghz, 1 GB RAM, 232 GB (RAID1) voor Gentoo (zelfbouw)

10

Re: SSh en Beveiligen

Je kan wel de root naam veranderen. intern werk n.l. alles op basis van PID
root veranderen in beheerder mag, maar het kan idd ook wel de nodige problemen opleveren.
Als je standaard pakketten werken dan iig niet meer.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

Re: SSh en Beveiligen

Centos5 is een prima systeem m.i. Firewall en de open poorten kun je tegelijk regelen via het interactieve commando setup (ideaal). Sterker.... doe je dat daar niet tegelijk dan kun je jezelf buitensluiten. Altijd minimaal poort 22 open houden!!!!

En die lading tips.... tja... de hoeveelheid moet je met een korreltje zout nemen... echter de intentie erachter niet wink

12

Re: SSh en Beveiligen

over de root verwijderen heb ik hier vandaan http://webcenter.mortydot.com/knowledge … e&id=5 daar stond dit
****************************************
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
*******************************************************

trouwens ik kom nu pas achter dat centos5 standaard iptables bij zit lol, maar voordat ik ermee wat dingen ga instellen wil ik graag weten hoe ik de script van Cybertinus draai zodat ik niet per ongeluk zich zelf buiten sluit?

@MrleeJohn nu ben ik toch wel een beetje verward hoor, want overal wordt gezegd dat de ssh port 22 moet veranderen maar nu is het minimaal dat de port 22 open moet blijfen? en wat bedoel je met regelen via het interactieve commando setup? sorry voor te vragen big_smile

13

Re: SSh en Beveiligen

leerling schreef:

trouwens ik kom nu pas achter dat centos5 standaard iptables bij zit lol, maar voordat ik ermee wat dingen ga instellen wil ik graag weten hoe ik de script van Cybertinus draai zodat ik niet per ongeluk zich zelf buiten sluit?

@MrleeJohn nu ben ik toch wel een beetje verward hoor, want overal wordt gezegd dat de ssh port 22 moet veranderen maar nu is het minimaal dat de port 22 open moet blijfen? en wat bedoel je met regelen via het interactieve commando setup? sorry voor te vragen big_smile


heel simpel, als je niet precies weet wat je doet en je bent bang dat je jezelf buitensluit (alleen van toepassing voor systemen waar je niet naast zit, want anders kan je altijd inloggen) dan installeer je virtualbox. en daarin installeer je een testlinux om op te prtutsen.

ssh gebruikt poort 22 standaard. Als jij deze loszet naar buiten (dat is, in je router forward. zijn beide systemen op je lokale LAN dan hoef je je geen zorgen te maken) dan kan je deze poort veranderen naar een ander nummer. Anders heb je een grote kans dat je honderden/duizenden inlog pogingen per dag krijgt.

LPIC-1 en CLA gecertificeerd :-)

Re: SSh en Beveiligen

leerling schreef:

trouwens ik kom nu pas achter dat centos5 standaard iptables bij zit lol, maar voordat ik ermee wat dingen ga instellen wil ik graag weten hoe ik de script van Cybertinus draai zodat ik niet per ongeluk zich zelf buiten sluit?

In mijn post heb ik uitgelegd hoe dat script in elkaar steekt en hoe je het moet gebruiken. Welk stuk snap je er niet van?

Laptop: Core 2 Duo T7600. 200 GB (RAID0) voor Windows 7 Professional (Toshiba Qosmio G30-126)
Netbook: Atom N270, 2 GB RAM, 20 GB voor Ubuntu 10.04 (Asus Eee 901)
Desktop: Core 2 Duo E6600 @ 3,3 Ghz, 8 GB RAM,  3 TB (RAID0+RAID6) voor Gentoo, 15 GB voor SUSE 11.1, 1 TB voor Windows 7 Pro 64 bit Dutch (zelfbouw)
Server: 2x Pentium 3 Tualatin 1,13 Ghz, 1 GB RAM, 232 GB (RAID1) voor Gentoo (zelfbouw)

Re: SSh en Beveiligen

leerling schreef:

@MrleeJohn nu ben ik toch wel een beetje verward hoor, want overal wordt gezegd dat de ssh port 22 moet veranderen maar nu is het minimaal dat de port 22 open moet blijfen? en wat bedoel je met regelen via het interactieve commando setup? sorry voor te vragen big_smile

De allerbelangrijkste tips zijn: hou je systeem up2date, gebruik de standaard beveiliging netjes en maak backups. Alle tips daarna zijn voor extra drempels.

Niet direct als root in ssh is wel slim... de hacker moet nu ook de usernaam raden waarmee hij kan inloggen (en dan nog eens root zien te worden). Poort 22 verzetten.... tja... een beetje hacker heeft de juiste poort zo gevonden bij je (drempelje van 2 minuten hoogstens dan).... m.i. een minder effectieve drempel. Je kunt dit doen om scriptkiddies minder aan je deur te hebben en de logs wat schoner te houden.

Zo moet je stapje voor stapje bepalen wat je wel en wat je niet aan extra maatregelen neemt.

Re: SSh en Beveiligen

Je kunt PKI gebruiken en verplichten en er zijn tal van andere mogelijkheden in sshd_config om de boel net iets veiliger te maken (bijvoorbeeld root login niet toestaan), er zijn diversen plugable authentication modules (access, time, tally, passwdqc).

Van de kant van die client is het vooral belangrijk dat je zeker weet dat je naar de server verbind waar je van denkt dat je er naar verbind. (known hosts).

De ssh port veranderen dat schiet niet zoveel op, tenzij je meerdere ssh servers in een NAT omgeving hebt draaien.

Om de botjes die proberen binnen te komen hoef je, als je de bovengenoemde maatregelen hebt genomen niet zoveel zorgen te maken, maar je kunt als het moet iets als denyhosts gebruiken.

The best things in life are free.
TE RBAC MLS
ontwerp, attributen, beleid en context