Ik ben in een leuke discussie terecht gekomen nadat ik wat kleine vragen had gesteld op het Debian forum, naar aanleiding van een server die ik heb geinstalleerd thuis.
In deze guide heb ik wat interessante kennis opgedaan over de do's en don't van serverbeveiliging, en ben nu een aantal van die zaken aan het implementeren op een testservertje thuis. Dit omdat ik eerder een LAMP server bouwde die binnen 2 weken zoveel ongewenst verkeer genereerde dat mijn internetverbinding (in het vorige huis gelukkig, ik heb nu een nieuw extern IP) eronder bezweek.
Ik ga dus alsnog een Linux server gebruiken, maar dit keer pas online beschikbaar maken als ik wat beter bekend ben met de juiste technieken om het de beginnende hacker/scriptkiddie onmogelijk te maken iets uit te spoken. Niet omdat de server zo belangrijk is (hij komt in een DMZ en gaat alleen maar webcam plaatjes uitspugen zodat ik onze parkeerplaatsen remote in de gaten kan houden) maar omdat ik op die manier mijn bestaande linux-kennis een beetje uitbreid.
Wat nu vooral een twijfelpunt is bij mij, is het al dan niet toestaan van root-toegang via SSH.
Alhoewel de server op mijn studiekamer staat, en ik er thuis gewoon bij kan, gebruik ik dat TFT scherm liever ergens anders voor en wil ik sowieso uit huis ook toegang hebben. Omdat ik geen GUI nodig heb verval ik dus automatisch in SSH.
De case voor root-toegang:
- men moet niet één, maar twéé wachtwoorden raden voor ze toegang hebben
- je gebruikt geen sudo maar gewoon SU wanneer nodig en verder niet, (ik heb nog niet helemaal begrepen waarom het één superieur is aan het ander) zoals het 'hoort'
(ik heb overigens gemerkt dat er best wel veel zaken SUDO vereisen, vanwege het verschil in PATH variabelen tussen admin en non-admin users)
De case tegen root-toegang:
- men hoeft alleen een root-wachtwoord te raden, in plaats van een username én een wachtwoord
- iemand die een rootkit of andere vorm van toegang weet te plaatsen heeft via SSH onbeperkte toegang, in plaats van beperkte rechten onder mijn useraccount (alhoewel, als hij mijn WW heeft komt hij met SUDO net zo ver)
Waarschijnlijk kunnen jullie de lijst met pro's en cons nog verder aanvullen.
Verder heb ik gelezen over de mogelijkheid om applicaties te 'jailen', maar dit is nog veel te gecompliceerd voor mij en streeft het doel té ver voorbij. Ik ga het voorlopig doen met:
- het zgn. 'hardening' van het OS en de gebruikte applicaties (bv Apache)
- overbodige services, users, groups en evt. open poorten handmatig verwijderen
- een software firewall gebruiken (hij komt immers buiten het normale netwerk en dus niet achter mijn IDS firewall te hangen)
- SSH over een willekeurige, niet standaard poort gebruiken
- wellicht RSA keys gebruiken of een andere manier van identificatie zodat alleen mijn laptop er extern bij moet kunnen
Ik twijfel nog over een rootkithunter (heeft dat zin?) en over de zin of onzin van zaken zoals automatische signalering naar mij bij activiteit en dergelijke. Nogmaals, de server en diens taken zijn compleet ondergeschikt, maar ik wil gaandeweg wel (laten) testen in hoeverre ik het systeem nu ontmoedigend genoeg heb gemaakt (waterdicht is natuurlijk een utopie, zeker met mijn beperkte kennis).
Ik zou zeggen, laat u horen!
In deze guide heb ik wat interessante kennis opgedaan over de do's en don't van serverbeveiliging, en ben nu een aantal van die zaken aan het implementeren op een testservertje thuis. Dit omdat ik eerder een LAMP server bouwde die binnen 2 weken zoveel ongewenst verkeer genereerde dat mijn internetverbinding (in het vorige huis gelukkig, ik heb nu een nieuw extern IP) eronder bezweek.
Ik ga dus alsnog een Linux server gebruiken, maar dit keer pas online beschikbaar maken als ik wat beter bekend ben met de juiste technieken om het de beginnende hacker/scriptkiddie onmogelijk te maken iets uit te spoken. Niet omdat de server zo belangrijk is (hij komt in een DMZ en gaat alleen maar webcam plaatjes uitspugen zodat ik onze parkeerplaatsen remote in de gaten kan houden) maar omdat ik op die manier mijn bestaande linux-kennis een beetje uitbreid.
Wat nu vooral een twijfelpunt is bij mij, is het al dan niet toestaan van root-toegang via SSH.
Alhoewel de server op mijn studiekamer staat, en ik er thuis gewoon bij kan, gebruik ik dat TFT scherm liever ergens anders voor en wil ik sowieso uit huis ook toegang hebben. Omdat ik geen GUI nodig heb verval ik dus automatisch in SSH.
De case voor root-toegang:
- men moet niet één, maar twéé wachtwoorden raden voor ze toegang hebben
- je gebruikt geen sudo maar gewoon SU wanneer nodig en verder niet, (ik heb nog niet helemaal begrepen waarom het één superieur is aan het ander) zoals het 'hoort'
(ik heb overigens gemerkt dat er best wel veel zaken SUDO vereisen, vanwege het verschil in PATH variabelen tussen admin en non-admin users)
De case tegen root-toegang:
- men hoeft alleen een root-wachtwoord te raden, in plaats van een username én een wachtwoord
- iemand die een rootkit of andere vorm van toegang weet te plaatsen heeft via SSH onbeperkte toegang, in plaats van beperkte rechten onder mijn useraccount (alhoewel, als hij mijn WW heeft komt hij met SUDO net zo ver)
Waarschijnlijk kunnen jullie de lijst met pro's en cons nog verder aanvullen.
Verder heb ik gelezen over de mogelijkheid om applicaties te 'jailen', maar dit is nog veel te gecompliceerd voor mij en streeft het doel té ver voorbij. Ik ga het voorlopig doen met:
- het zgn. 'hardening' van het OS en de gebruikte applicaties (bv Apache)
- overbodige services, users, groups en evt. open poorten handmatig verwijderen
- een software firewall gebruiken (hij komt immers buiten het normale netwerk en dus niet achter mijn IDS firewall te hangen)
- SSH over een willekeurige, niet standaard poort gebruiken
- wellicht RSA keys gebruiken of een andere manier van identificatie zodat alleen mijn laptop er extern bij moet kunnen
Ik twijfel nog over een rootkithunter (heeft dat zin?) en over de zin of onzin van zaken zoals automatische signalering naar mij bij activiteit en dergelijke. Nogmaals, de server en diens taken zijn compleet ondergeschikt, maar ik wil gaandeweg wel (laten) testen in hoeverre ik het systeem nu ontmoedigend genoeg heb gemaakt (waterdicht is natuurlijk een utopie, zeker met mijn beperkte kennis).
Ik zou zeggen, laat u horen!