PDA

Bekijk Volledige Versie : Server beveiligen



HostServe
27/04/05, 14:13
Hoe beveiligen jullie je servers tegen hacks/cracks/exploits ?
Met welk freeware software.

Ik krijg binnenkort mijn eigen 1U server die ik ergens ga colocaten maar die wil ik wel goed beveiligd hebben.

Wat ik kan doen is, alle software up2date houden.
Checken op rootkits.
Je logs checken.
IPtables gebruiken.

Welke software gebruiken jullie dus en op wat voor manier ?

Graag zoveel mogelijke freeware vermelden (het is daar ook niet bedoeld voor commerciële doeleinden).

Ik heb al een topic (http://www.webhostingtalk.nl/showthread.php?s=&threadid=51945) door genomen met 'Handige tools', maar de meeste kost geld en staat geen beschrijven bij wat het precies doet/is.

OS: Linux (Debian)

cashmere
27/04/05, 14:30
vooral gezond verstand:)

HostServe
27/04/05, 14:50
Origineel geplaatst door cashmere
vooral gezond verstand:)

Met 'alleen' een gezond verstand lukt het niet om je server goed te beveiligen.
Ik heb het meer over welk software/instellingen.

No offence :)

Unixboy
27/04/05, 15:11
Origineel geplaatst door Sinan


Met 'alleen' een gezond verstand lukt het niet om je server goed te beveiligen.
Ik heb het meer over welk software/instellingen.

No offence :)

Beveiliging is niet 1 pakket of 1 malig iets instellen.
Ik denk dat daarom werd gezegt met gezond verstand...

Want er komt bij 'beveiliging' heel wat meer kijken dan bijvoorbeeld het installeren van chkrootkit en hiervoor een scriptje te schrijven wat automatisch verteld of je infected bent of niet.

Beveiliging moet ook niet iets zijn wat je maar eenmalig doet of eenmalig grootschalig aandacht aan besteed.

Vandaar dat beveiliging inderdaad dmv gezond verstand geimplanteerd moet worden.

Want wat voor mij handig kan zijn hoefd dit zeker niet voor jou te zijn....

HostServe
27/04/05, 15:29
Origineel geplaatst door Unixboy


Beveiliging is niet 1 pakket of 1 malig iets instellen.
Ik denk dat daarom werd gezegt met gezond verstand...

Want er komt bij 'beveiliging' heel wat meer kijken dan bijvoorbeeld het installeren van chkrootkit en hiervoor een scriptje te schrijven wat automatisch verteld of je infected bent of niet.

Beveiliging moet ook niet iets zijn wat je maar eenmalig doet of eenmalig grootschalig aandacht aan besteed.

Vandaar dat beveiliging inderdaad dmv gezond verstand geimplanteerd moet worden.

Want wat voor mij handig kan zijn hoefd dit zeker niet voor jou te zijn....

Nee dat weet ik, je moet bijvoorbeeld altijd up2date zijn, daarom zei ik ook, 'alleen' een gezond verstand is niet genoeg, zonder je software kom je dan alsnog nergens.


Security is the way Leuk onderschriftje :)

Hoe hou je je server bijvoorbeeld up2date ? Steeds de nieuwste versie (stabiele) versie installeren van je services/deamons of zijn er andere handige/slimme mogelijkheden ?

Er zijn hier vast zat beheerders die servers beheren/managen die me op weg kunnen helpen ?

anoniem_verkoop
27/04/05, 18:42
Is dit je eerste keer dat je linux draait soms? Voor Windows kun je allerlei tools downloaden om vanalles uit te schakelen, extra firewalls enz. Voor Linux, en Debian zeker aangezien ik dat zelf draai, heb je eigenlijk niets nodig. chkrootkit kan leuk zijn om af en toe eens te draaien, maar in principe is dat niet nodig als je niet wordt gehacked :)
edit:
Debian up to date houden:
apt-get update
apt-get upgrade

Klaar. En natuurlijk je eigen gecompileerde dingen. Ik denk dat je gewoon eens wat moet zoeken op het internet en ervaring moet gaan opdoen, ik zie niet echt veel heil in dit topic.

HostServe
27/04/05, 20:09
anoniem_verkoop nee, ik draai al een langere tijd Linux Debian als server thuis, maar dan altijd met een hardware router ervoor, die zowiezo alle poorten dicht gooit.
Ik gebruik Linux Debian al een jaar lang dus apt-get etc hoef je eigelijk niet te vertellen (no offence).

maar in principe is dat niet nodig als je niet wordt gehacked De vraag is daarom ook, hoe zorg je daarvoor, dat je niet gehacked wordt.
Je kan wel alles up2date houden maar is dat voldoende ?
Dat is mijn vraag een beetje.

En welke firewalls jullie gebruiken, welke jullie voorstellen, het is niet dat ik 100% een leek ben met Linux.

Als je bijvoorbeeld alleen een webserver (mysql php) + ssh draait, welke ports gooi je dan allemaal open, alleen 80 en 22 of ook andere ? Of welke sluit je allemaal.

Doe je een normale ssh installatie of 'tweak' je die, op zulke vragen wil ik eigelijk antwoord.


Debian zeker aangezien ik dat zelf draai, heb je eigenlijk niets nodig.
Dus Debian installatie op je server, web+ssh installeren en klaar ? Dan ben je niet echt veilig genoeg lijkt mij, er zal vast wel iets zijn waar je op moet letten oid ?

XBL
27/04/05, 20:23
Wat dingetjes:

* uitschakelen wat je niet gebruikt.
* logfiles analiseren (automatisch naar je laten mailen, bijv).
* ssh root toegang uit, su aan (eventueel icm sudo bij meerdere beheerders die een specifieke taak hebben).
* moeilijke passwords gebruiken (gebruik een password generator, minimaal 8 tekens lang). Deze ook op termijn aanpassen (geloof dat je dit ook automatisch kan laten doen; dan vervalt je wachtwoord na een tijdje en moet je een nieuwe instellen).
* ssh toegang restricten per IP.
* sshd op een andere poort draaien dan 22 (véél minder bruteforcing).
* Leuke firewall, alles deny'en dan één voor één allowen (voor poorten etc, that is, IP's is niet zo slim als het een public-service-server is (web/game/etc).
* up to date blijven met software (lekker rss feedjes lezen).
* up to date blijven met kennis (lekker artiekelen lezen over security).
* en nog véél meer. Ga lekker googlen, post hier eventueel dingen die je tegen komt en intressant vind zodat WHT weer steigt in de search results (;)), en andere bezoekers er nog wat aan hebben.

En boven al, ook gezegt door anderen: Security is niet een doel wat je wilt halen, het is iets wat je continue uitoefend. Een systeem wat vandaag als veilig gezien wordt, is morgen misschien onveilig door ongevonden veiligheids lekken.

Veel plezier met je servert :).

Inderdaad, als de enige service die je draait web (80) en ssh (22) is, dan zet je die alleen open in je firewall.

Jochem

HostServe
27/04/05, 22:54
XBL/Jocem dat is een zeer nuttig bericht, thanks!

ssh root toegang uit. Hiermee bedoel je dat je via remote niet als root kan inloggen, maar als normale gebruiker moet inloggen en daarna pas via su je root access verkrijgen ?

ssh toegang restricten per IP. Hoe kan je dit doen ? Moet dit op firewall level of kan dat anders ?

Waar lezen jullie vaak, hoe blijven jullie dus up2date ?

Nogmaals dank voor je zeer nuttige post.

Vane
27/04/05, 23:20
Bugtraq, Debian mailinglist, etc.

Unixboy
27/04/05, 23:38
Origineel geplaatst door Sinan


Nee dat weet ik, je moet bijvoorbeeld altijd up2date zijn, daarom zei ik ook, 'alleen' een gezond verstand is niet genoeg, zonder je software kom je dan alsnog nergens.

Leuk onderschriftje :)


Bedankt.


Origineel geplaatst door Sinan

Hoe hou je je server bijvoorbeeld up2date ? Steeds de nieuwste versie (stabiele) versie installeren van je services/deamons of zijn er andere handige/slimme mogelijkheden ?

Er zijn hier vast zat beheerders die servers beheren/managen die me op weg kunnen helpen ?

Er wordt hier eerder aan je gevraagt of je bekend bent met linux... dus dat ga ik niet nog een keer doen.

Ik geef je wel de tip dat als je niet bekend bent met linux en zeker linux firewalls hetzij ipchains of hetzij iptables aangezien beide in Debian tot op heden tot de mogelijkheid behoord.

Iptables gebaseerde rulesets (die er dus zijn om te gebruiken)

Heb je drie opties;
1. APF - Advanced Policy Firewall (http://www.r-fx.org/apf.php)
KiSS - Keep It Simple Stupid (http://www.geocities.com/steve93138/)
3. Zelf iets maken dmv een iptables how-to maar dit vergt iets meer self input en creatief denken. Kan ook der mate leerzamer zijn (Google is hiervoor je vriend in je Quest)

Mijn persoonlijke keuze is 3.
Hier op het forum wordt veel gekozen voor APF (keuze 1) dit is een goed ontworpen firewall.
Maar alles wat standaard is, is niet mijn "volmaakt" beeld van beveiliging.

HostServe
28/04/05, 00:39
@Unixboy:
Zoals ik al heb vermeldt, ik draai al een langere tijdje maar Linux Debian, maar nooit de behoefde gehad om hem echt te beveiligen, omdat er een router voor hangt.

IPtables heb ik nooit meegewerkt, maar ik ga er zeker wat howto's over lezen, dank.

anoniem_verkoop
28/04/05, 16:19
ipchains is echt een oude firewall. IPtables is hetgeen wat tegenwoordig wordt gebruikt.

Ik raad je aan zelf ermee te leren omgaan, en geen standaard scripts te gebruiken. Zelfs iets maken is niet moeilijk, en je weet dan goed hoe het werkt, en loopt geen kans een of andere script-bug te gaan gebruiken.

Services stoppen die je niet nodig hebt is inderdaad goed, maar de poort dichtzetten moet in principe ook voldoende zijn. Ook accepteer ik standaard geen NEW verbindingen op alle poorten behalve natuurlijk waar programma's op luisteren. Zo hoef je maar weinig te doen aan je firewall, maar zet wel bijna alles dicht. Gebruik DROP ipv DENY uit mijn hoofd, dan krijg je een "stealth" firewall, dus als iemand een portscan doet duurt die 1) lang 2) ze weten in eerste instantie niet of je bestaat of niet. (tenzij je er een ping op gooit natuurlijk en je PC terug pongt).

En over je ervaring: Ik bedoel er niets verkeerds mee, maar je gaf aan dat je al wel wist wat apt-get update enzo is, tsja, wat kunnen mensen je nog meer uitleggen? Misschien wat van die standaard tips...

Wat je zelf zegt: Alles updaten naar de stable versie. Dat hoeft dus niet, zeker niet als je debian stable draait. Die gebruikt veel oude programma's, (eventueel met eigen Debian fixes) maare, "if it ain't broken, don't fix it", dat moet je nooit vergeten. Pas bij een bug in een programma upgraden eigenlijk.

HostServe
28/04/05, 16:50
Origineel geplaatst door anoniem_verkoop
ipchains is echt een oude firewall. IPtables is hetgeen wat tegenwoordig wordt gebruikt.
Wat is het verschil precies ? (In het kort)


Ik raad je aan zelf ermee te leren omgaan, en geen standaard scripts te gebruiken. Zelfs iets maken is niet moeilijk, en je weet dan goed hoe het werkt, en loopt geen kans een of andere script-bug te gaan gebruiken.
Ik gebruik op dit moment (sinds gister) APF, bevalt mij prima.


Services stoppen die je niet nodig hebt is inderdaad goed, maar de poort dichtzetten moet in principe ook voldoende zijn. Ook accepteer ik standaard geen NEW verbindingen op alle poorten behalve natuurlijk waar programma's op luisteren. Zo hoef je maar weinig te doen aan je firewall, maar zet wel bijna alles dicht. Gebruik DROP ipv DENY uit mijn hoofd, dan krijg je een "stealth" firewall, dus als iemand een portscan doet duurt die 1) lang 2) ze weten in eerste instantie niet of je bestaat of niet. (tenzij je er een ping op gooit natuurlijk en je PC terug pongt).
Wat zijn NEW verbindingen precies, waar herken je dat aan (Het zal vast een NIEUWE verbinding of iets dergelijke zijn, maar wat bedoel je er precies mee?).

Een ander vraag, hoe block je ping (mbh APF).


En over je ervaring: Ik bedoel er niets verkeerds mee, maar je gaf aan dat je al wel wist wat apt-get update enzo is, tsja, wat kunnen mensen je nog meer uitleggen? Misschien wat van die standaard tips...
Nee, ik weet dat je er niks verkeerds mee bedoelt, maar het lijkt me zo 'simpel' om alleen maar door wat updates je server te beveiligen, ik heb altijd gedacht dat er configuraties werden getweakt oid.


Wat je zelf zegt: Alles updaten naar de stable versie. Dat hoeft dus niet, zeker niet als je debian stable draait. Die gebruikt veel oude programma's, (eventueel met eigen Debian fixes) maare, "if it ain't broken, don't fix it", dat moet je nooit vergeten. Pas bij een bug in een programma upgraden eigenlijk.
Welke versie/release draaien jullie of welke stellen jullie voor om te gebruiken ?

Qweb
28/04/05, 17:08
Debian stable is een uitstekende keuze! Als het software aanbod van Debian stable voor jou voldoende is, stick to it, heb je nieuwere software nodig, kijk eens op backports.org (liever niet, maar als het niet anders kan dan wel).

Daarnaast nog letten op het volgende:
- basis kennis van het bestandssysteem en file permissions op *NIX systemen is iets waar je je op zijn minst in moet verdiepen
- als je een webserver draait, en je hebt dynamische content (CGI, PHP enz.) zorg ervoor dat je je goed in de kwestie hebt verdiept. Met name PHP is standaard niet zo veilig ingesteld IMHO, maar je kan met disable_functions en een aantal andere wijzigingen heel erg ver komen (dus ja, je moet wel configuraties tweaken, maar we gaan hier niet alles voorkouwen, je zult jezelf in de materie moeten verdiepen)

Zoals ook eerder vermeld is het zeer belangrijk dat je volgt wanneer er weer security leaks zijn gevonden en er updates beschikbaar zijn. De mailinglists van Debian zijn een uitstekende plaats om mee te beginnen, kijk ook eens op securityfocus.com

HostServe
28/04/05, 17:15
Origineel geplaatst door Qweb
Debian stable is een uitstekende keuze! Als het software aanbod van Debian stable voor jou voldoende is, stick to it, heb je nieuwere software nodig, kijk eens op backports.org (liever niet, maar als het niet anders kan dan wel).
Nieuwere software zal ik niet nodig hebben, zolang het maar goed functioneerd als webserver.


Daarnaast nog letten op het volgende:
- basis kennis van het bestandssysteem en file permissions op *NIX systemen is iets waar je je op zijn minst in moet verdiepen
- als je een webserver draait, en je hebt dynamische content (CGI, PHP enz.) zorg ervoor dat je je goed in de kwestie hebt verdiept. Met name PHP is standaard niet zo veilig ingesteld IMHO, maar je kan met disable_functions en een aantal andere wijzigingen heel erg ver komen (dus ja, je moet wel configuraties tweaken, maar we gaan hier niet alles voorkouwen, je zult jezelf in de materie moeten verdiepen)
Ik werk vooral met PHP ja. Over SQL injections heb ik veel gelezen, dus dat zal één van de belangrijkste punten zijn.
Ik vraag ook niet dat jullie alles voor mij voorkouwen, maar zoals nu, op pad geholpen worden stel ik zeer op prijs.


Zoals ook eerder vermeld is het zeer belangrijk dat je volgt wanneer er weer security leaks zijn gevonden en er updates beschikbaar zijn. De mailinglists van Debian zijn een uitstekende plaats om mee te beginnen, kijk ook eens op securityfocus.com
Op de mailing lists heb ik ook sinds gister aangemeld :)

Qweb
28/04/05, 17:36
als je safe_mode van php niet gebruikt kan ik je de volgende instellingen aanraden (in je php.ini):


disable_functions = "phpinfo,dl,system,exec,shell_exec,passthru,proc_op en,proc_close,proc_get_status,proc_nice,proc_termi nate"
expose_php = Off
register_globals = Off
magic_quotes_gpc = On
magic_quotes_sybase = Off
allow_url_fopen = Off


[edit] disable_functions moet op 1 regel

Dit is niet compleet. maar wel goed genoeg. Als je niet met uploads werkt, zet dat dan ook uit.

En niet te vergeten per website heel goed je open_basedir restricties opzetten!

Deze instellingen maken heel erg veel verschil.

Ik raad je ook aan in apache alle overbodige modules die je niet nodig hebt gewoon uit te zetten. Zoals eerder vermeld, het is een goed idee om alles wat je niet gebruikt gewoon te verwijderen of uit te schakelen. Dat geldt met name voor daemons, maar zeer zeker ook voor features in software.

HostServe
28/04/05, 17:59
Qweb aan zo een post heb ik weer iets, thanks.
Er gaat alleen maar 1 website draaien op de server, tenminste, misschien meerdere maar allemaal onder mijn beheer.
Het is namelijk voor persoonlijk gebruik met een groot website (groot aantal bezoekers).

Ik zal me eens verdiepen in de modules van php/apache.
(Ik installeer het altijd 'standaard'.)

Qweb
28/04/05, 18:19
(Ik installeer het altijd 'standaard'.)
Daar zul je zsm van moeten afstappen. Gelukkig heb je gekozen voor Debian, dit is standaard minder uitgebreid dan andere distributies.

Unixboy
28/04/05, 19:06
ipchains is een ouder firewall meganism.

apf is vervolgens een goede keuze als je nog niet bekend bent met iptables.


ICMP verkeer is on default gelimiteerd, ik zou dus niet weten waarom je het helemaal uit wilt zetten.

Debian stable/unstable zouden allebij moeten voldoen, testing is waar ik een beetje bang voor ben :D

HostServe
28/04/05, 19:11
Origineel geplaatst door Unixboy
ipchains is een ouder firewall meganism.

apf is vervolgens een goede keuze als je nog niet bekend bent met iptables.


ICMP verkeer is on default gelimiteerd, ik zou dus niet weten waarom je het helemaal uit wilt zetten.

Debian stable/unstable zouden allebij moeten voldoen, testing is waar ik een beetje bang voor ben :D

APF werkt dus met ipchains ?

ICMP hoeft niet perse uit, maar stel ik heb het een keer nodig, dan weet ik hoe dat gaat :)
Just for 'to know'

Unixboy
28/04/05, 19:17
Origineel geplaatst door Sinan


APF werkt dus met ipchains ?

ICMP hoeft niet perse uit, maar stel ik heb het een keer nodig, dan weet ik hoe dat gaat :)
Just for 'to know'

1. Nee iptables
2. icmp.rules ergens in /etc/apf als ik het zo uit het bollehoofd aan je vertel.

Unixboy
28/04/05, 19:20
ow ja, ik kreeg ineens een lampje :)... verdiep jezelf in mod_security mijn favorieten Apache module :).

www.modsecurity.org

HostServe
28/04/05, 19:32
Origineel geplaatst door Unixboy


1. Nee iptables
2. icmp.rules ergens in /etc/apf als ik het zo uit het bollehoofd aan je vertel.

Helaas is die rule (bestand er niet), wel heb ik dit gevonden;

# Common ICMP (inbound) types
# 'internals/icmp.types' for type definition; 'all' is wildcard for any
IG_ICMP_TYPES="3,5,11,0,30,8"

Alleen ik weet niks van ICMP types af.

Over modsecurity -> ik zal eens kijken, lezen en waarschijnlijk gebruiken :)

/edit
Ik heb 8 eruit gehaald, en krijg geen ping replies meer, dat was hem (denk ik).

Unixboy
28/04/05, 20:19
Origineel geplaatst door Sinan


Helaas is die rule (bestand er niet), wel heb ik dit gevonden;

# Common ICMP (inbound) types
# 'internals/icmp.types' for type definition; 'all' is wildcard for any
IG_ICMP_TYPES="3,5,11,0,30,8"

Alleen ik weet niks van ICMP types af.

Over modsecurity -> ik zal eens kijken, lezen en waarschijnlijk gebruiken :)

/edit
Ik heb 8 eruit gehaald, en krijg geen ping replies meer, dat was hem (denk ik).

Dat is hem indd.
(Is al weer een tijd geleden dat ik... et gebruikt heb :D)