Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Standaard beveiliging server  (gelezen 1699 keer)

Offline RogierVLD

  • Lid
Standaard beveiliging server
« Gepost op: 2010/07/01, 12:11:12 »
Hoi,

Sinds kort heb ik een Virtuele server aangeschaft bij een Duits bedrijf, Strato.
Op zich niet zo duur en best veel mogelijkheden. Je kan ongeveer alles zeg maar.

Nu weet ik dat veiligheid een belangrijk issue is, zeker als je ook zakelijk met de server gaat werken en er wellicht klantgegevens op komen te staan.
Nu vraag ik me af, hoe kan je een basis security check doen?
De volgende punten zijn me opgevallen:

- de leesrechten van bestanden en mappen staan voor iedereen aan. Als ik een user maak, kan deze in de /ETC map kijken. Niet de bestanden bewerken.
Kan ik voor dit soort mappen niet beter de toegangsrechten voor de groep idereen uitzetten?
- Waar staan de wachtwoorden? Zo dat ik kan kijken dat dit bestand door niemand gezien mag worden.

Verder denk ik dat ik zo min mogelijk users wil aanmaken met toegangsrehten. Kan ik dit checken? De lijst die SSH gebruikt?

- Mysql heb ik geinstalleerd en ingesteld dat ik alleen toegang kan krijgen via een SSH tunnel.
- PHP , hier heb ik de error weergave uitgezet en vooralsnog de safemode aan

Heeft iemand nog een paar tips? Bijvoorbeeld alleen toegang tot SSH vanaf een bepaald IP adres?

Bedankt!



Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Standaard beveiliging server
« Reactie #1 Gepost op: 2010/07/01, 12:37:38 »
Bij Ubuntu staan de rechten op de /etc map en alles daarbinnen standaard wel goed.
Hoe dat bij een gehuurde virtual server is weet ik niet (waar draait deze op?).
De bestanden die alleen door root gelezen mogen worden zijn al zo ingesteld.
De rest van de bestanden kan geen kwaad als ze door iedereen gelezen kunnen worden.
Sterker nog: sommige bestanden moeten juist door iedereen gelezen kunnen worden.
Anders kunnen sommige programma's niet eens bij hun standaardinstellingen bijv.

De wachtwoorden staan in /etc/shadow, en dat bestand is standaard alleen te lezen door root.
Bovendien zijn de wachtwoorden versleuteld.
Maar nogmaals: de rechten staan standaard goed en pas heel erg op met wat je aanpast.
Maak je er een zooitje van, dan start je server niet meer of doet hij gewoon niks meer.

Alle gebruikers staan in /etc/passwd

Voor SSH moet je in /etc/ssh/sshd_config zijn
Tips: gebruik keys ipv wachtwoorden
Verder kan een pakket als denyhosts ook wel handig zijn om scriptkiddies uit de buurt te houden.

Offline RogierVLD

  • Lid
Re: Standaard beveiliging server
« Reactie #2 Gepost op: 2010/07/01, 13:18:49 »
Bedankt voor het antwoord!

Bij Strato kan je kiezen welke Linux je wilt. Ik heb voor Ubuntu 8.04 LTS gekozen daar ik daar redelijk bekend mee begin te worden.

U heeft gelijk met de gavren van het aanpassen van rechten: Oooit heb ik een keer alle rechten in de /ETC map op 777 gezet (iedereen mag dan alles) en daardoor weigerde Ubuntu nog het SUDO commando:-)  Gelukkig was dit op een virtuele pc.... om mee te spelen.

ik ga eens de rechten van de door u genoemde locaties testen. Verder me verdiepen in keys.... Op de een of andere manier kan ik daar maar niet aan wennen.

Rogier

Offline RogierVLD

  • Lid
Re: Standaard beveiliging server
« Reactie #3 Gepost op: 2010/07/01, 13:28:35 »
O ja, wat me ook opviel is dat ik nergens SUDO voor hoef moet te zetten.
Ik heb danwel van de STRATO alleen een root wachtwoord gekregen.
Standaard staat dat toch juist uit in Ubuntu?


Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Standaard beveiliging server
« Reactie #4 Gepost op: 2010/07/01, 13:33:30 »
Dat staat standaard uit ja.
Strato biedt blijkbaar een aangepaste Ubuntu aan.

Maar als je standaard inlogt als root, dan heb je idd geen sudo nodig om rootrechten te krijgen ;)

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Standaard beveiliging server
« Reactie #5 Gepost op: 2010/07/01, 19:50:42 »
Dan wil ik je direct aanraden dat je instelt dat je NIET mag inloggen als root. Dat is voor de veiligheid in Ubuntu standaard uitgezet. Zorg uiteraard wel dat je een gebruiker hebt met sudo rechten.
Verder zou ik SSH niet op de standaard poort 22 laten luisteren, maar kies een andere(zie /etc/sshd_config). Lees ook eens: http://forum.ubuntu-nl.org/server-en-netwerk/welke-logbestanden-doorlezen/

Voor extra veiligheid kun je nog een firewall installeren die alle poorten dichtzet, behalve die paar die je nodig hebt (SSH, 80, mail, etc). Zorg dat je alleen programma's/services draait die je echt nodig hebt. Hoe meer services er draaien, hoe meer deuren er openstaan...

SSH sleutels gebruiken is pas veiliger wanneer je inloggen via wachtwoord uitzet!
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline tigger

  • Lid
Re: Standaard beveiliging server
« Reactie #6 Gepost op: 2010/07/01, 20:55:50 »
Sleutels klinkt leuk, maar zorg dan wel dat deze met een passphrase werken. Anders is kan het zo zijn dat je met een crash jezelf buitensluit, of in geval van een hacker je sleutel kwijt bent. Als je je sleutel op een usb-key zet heb je daar ook nog een keer het fysieke verliezen bij.....

Andere optie: Gebruik een vpn en daaroverheen een ssh-sessie. Het mooiste is dan twee verschillende gebruikers met elk een eigen wachtwoord. Dat kun je dan ook nog aanvullen met een firewall. Overigens de rechten in /etc staan standaard inderdaad goed. Ga je deze beperken, (sudoers, passwd, nsswitch.conf etc) dan kun je er voor zorgen dat je hele machine niet meer werkt. Helaas al eens wat machines gezien waar dit grote problemen op gaf. Overigens kun je ook nog eens extra kijken naar bijvoorbeeld PAM als aanvulling. pam_access biedt de mogelijkheid om users/groepen en eventueel ook nog adressen toe te laten of juist te weigeren.
denyhosts en consorten is ook een mooie aanvulling. Het mooiste is overigens een pakket wat als daemon draait en niet via de crontab, dit omdat een daemon gelijk kan ingrijpen en via de cron er altijd tijd tussen zit.

De beste beveiliging bestaat uit verschillende lagen, helaas is /etc-permissies aanpassen vaak de slechtste.
« Laatst bewerkt op: 2010/07/01, 20:57:41 door tigger »
LPI-1, NCLA, RHCE, RHCVA

Offline RogierVLD

  • Lid
Re: Standaard beveiliging server
« Reactie #7 Gepost op: 2010/07/02, 10:03:22 »
Bedankt voor de antwoorden!

Wat is de Ubuntu community toch altijd snel en goed. TOP!!!

Nog een andere vraag:
Als ik naar de configuratie kijk van de meeste server programma's kan je volgens mij bij ze allemaal instellen dat ze bijvoorbeeld van 1 of 2 IP adressen toegang kunnen krijgen en dat de rest staat geblokkeerd. Als daar overheen nog een keer een Firewall alleen dezelfde IP adressen doorlaat voor de servers (muv Apache op poort 80).

Is dit een goede oplossing of is dit scheinveiligheid. Een vriend van me zei ooit dat je niet zomaar een IP adres kan namaken omdat IP communicatie vaak 2 richtingsverkeer is.

Greetings,

Rogier

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Standaard beveiliging server
« Reactie #8 Gepost op: 2010/07/02, 11:57:59 »
Nog een andere vraag:
Als ik naar de configuratie kijk van de meeste server programma's kan je volgens mij bij ze allemaal instellen dat ze bijvoorbeeld van 1 of 2 IP adressen toegang kunnen krijgen en dat de rest staat geblokkeerd. Als daar overheen nog een keer een Firewall alleen dezelfde IP adressen doorlaat voor de servers (muv Apache op poort 80).

Is dit een goede oplossing of is dit scheinveiligheid. Een vriend van me zei ooit dat je niet zomaar een IP adres kan namaken omdat IP communicatie vaak 2 richtingsverkeer is.

Dit kun je opzich wel doen. Maar bij security moet je altijd een beetje een afweging maken tussen veiligheid en bruikbaarheid. Je kunt bijvoorbeeld instellen dat je alleen vanaf bepaalde ip's mag SSH-en. Dit is zeker een heel stuk veiliger. Maar wat nou als je maar vanaf 1 ip erop mag, en je ISP verandert ineens jouw ip?

En verder moet je zelf bedenken hoe belangrijk je jouw server vindt. Zoveel mogelijk poorten dicht, SSH op een andere poort, en geen makkelijker gebruikersnamen; dit zijn maatregelen om de botnets/scriptkiddies buiten de deur te houden. Deze scannen gewoon hele ip-ranges en proberen standaard trucjes om binnen te komen.

Je kunt echter nog veeel verder gaan met beveiligen als je server echt zo belangrijk is. Persoonlijk maak ik het mezelf liever niet al te moeilijk bij een "simpele" webserver ;).
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!