Acties:
  • 0 Henk 'm!

  • wobelaar
  • Registratie: Maart 2015
  • Laatst online: 16-08 13:02
Hallo,

Laat ik beginnen met te zeggen dat ik al redelijk wat topics heb gelezen over dit onderwerp, maar ik zie om heel eerlijk te zijn door de bomen/topics het bos/antwoord niet meer.

Wat is het probleem/de vraag?
Ik wil graag een eigen website hosten vanaf mijn raspberry pi. Het wordt geen grote website, ik doe het voornamelijk voor mijzelf en omdat ik het leuk zou vinden als mijn vriendin de website kan zien, wil ik hem dus hosten. Maar omdat het eigenlijk maar om één persoon gaat, lijkt het mij zwaar overbodig om een hosting ergens te kopen/huren...

Mijn vraag is nu alleen hoe veilig is dat? Hij zal alleen op port 80 draaien als enige port die open is in mijn netwerk. Verder zal hij naar alle waarschijnlijkheid ook maar 12 uur maximaal per dag draaien. Dus het wordt ook geen 24 uurs hosting ofzo.

Kan ik nog extra dingen doen om veiligheid te verhogen, die eigenlijk geen geld kosten? O-)

Acties:
  • +1 Henk 'm!

  • CB32
  • Registratie: November 2011
  • Laatst online: 16:12
Https. Let's encrypt. Dus niet poort 80 maar 443.

Acties:
  • 0 Henk 'm!

  • GG85
  • Registratie: Januari 2002
  • Laatst online: 09-09 18:34

GG85

.......

CB32 schreef op maandag 30 maart 2020 @ 20:50:
Https. Let's encrypt. Dus niet poort 80 maar 443.
Dit, en verder dus iff alleen poort 443 open en FAIL2BAN erop

Acties:
  • 0 Henk 'm!

  • zjeeraar84
  • Registratie: November 2011
  • Laatst online: 13:12
En verder nog regelmatig het OS en applicatiesoftware updaten. Weet niet of je statische HTML content wil serveren of een CMS wil gaan gebruiken, maar er komen regelmatig lekker voorbij in Wordpress.

Acties:
  • 0 Henk 'm!

  • wobelaar
  • Registratie: Maart 2015
  • Laatst online: 16-08 13:02
Ik wilde apache + PHP gaan gebruiken misschien in de toekomst een SQL server eraan hangen, maar dat weet ik nog niet zeker.

Verder had ik ook gezien dat je je site kon beveiligen door een basic authentication te maken op je website... Zeg maar dat je eerst moet inloggen voordat je wat ziet... Zou dat de veiligheid omhoog halen? Of maakt dat niks uit qua veiligheid als het gaat om gehackt worden?

Acties:
  • 0 Henk 'm!

  • Yeebo
  • Registratie: December 2016
  • Niet online
Poortje alleen openzetten naar IP-adres van de cliënt?

Acties:
  • +1 Henk 'm!

  • Wintervacht
  • Registratie: December 2016
  • Laatst online: 07-08 10:04

Wintervacht

☉ ‿ ⚆

wobelaar schreef op maandag 30 maart 2020 @ 21:17:
Ik wilde apache + PHP gaan gebruiken misschien in de toekomst een SQL server eraan hangen, maar dat weet ik nog niet zeker.

Verder had ik ook gezien dat je je site kon beveiligen door een basic authentication te maken op je website... Zeg maar dat je eerst moet inloggen voordat je wat ziet... Zou dat de veiligheid omhoog halen? Of maakt dat niks uit qua veiligheid als het gaat om gehackt worden?
Ik lees hier even tussen de regels door hoor, waar ben je nou precies bang voor?
Het ergste wat er kan gebeuren is dat je Pi in een botnet ofzo terecht komt, maar met een Pi is dat 123 verholpen door hem opnieuw te flashen en de beveiliging iets beter in te richten.
Https is voldoende om het gros van de aanvallen buiten te houden, samen met fail2ban.
Een inlog wall heeft geen enkel nut wat dat betreft en is voor gebruikers alleen maar irritant.

Weet een beetje van veel dingen en veel van een paar dingen.


Acties:
  • +2 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
@Wintervacht Ik heb er anders ook belang bij dat zijn Pi niet in een botnet terecht komt. Jij ook, toch? 8)7

@wobelaar Poort 80 (HTTP) kan ook prima open, mits je daarop een redirect naar HTTPS configureert. :) Verder is vooral wat je op de webserver host van belang. Apache2 en PHP zijn van zichzelf wel veilig, als je regelmatig apt update && apt upgrade draait.

Het is vooral de site die je erop host die kwetsbaar kan zijn. Zorg dus dat je hem "KISS" (Keep It Simple Stupid) én up-to-date houdt.

Dus:
- bij voorkeur enkel poort 80 en 443 forwarden,
- een redirect naar 443 op poort 80,
- alle software up-to-date houden,
- En ga je een database installeren, gebruik dan zeer lange wachtwoorden (die hoef je maar 1x in te typen),
- en géén phpMyAdmin installeren, want dat maakt de toegang tot je database weer kwetsbaar.

[ Voor 24% gewijzigd door Room42 op 30-03-2020 23:34 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • +2 Henk 'm!

  • wolly_a
  • Registratie: September 2002
  • Niet online
Kijk ook eens naar deze link: https://www.pestmeester.nl/

Ziet er heel compleet uit, maar mijn kennis is te beperkt om te zien of het allemaal snor zit met de veiligheid. Misschien dat daar iemand anders overheen kan kijken.

Acties:
  • 0 Henk 'm!

  • Wintervacht
  • Registratie: December 2016
  • Laatst online: 07-08 10:04

Wintervacht

☉ ‿ ⚆

Room42 schreef op maandag 30 maart 2020 @ 23:31:
@Wintervacht Ik heb er anders ook belang bij dat zijn Pi niet in een botnet terecht komt. Jij ook, toch? 8)7
Ik zeg toch ook niet dat je zoiets dan maar helemaal niet moet beveiligen, ik zeg alleen dat je er met een paar simpele dingen al ver bent en dat het simpel op te lossen is mocht het mis gaan :9
Je kan security zo gek maken als je wil maar overdrijven is ook een vak en ik lees tussen de regels hier gewoon een enorme angst voor... ja wat eigenlijk? 'Gehackt worden' is een hypeterm die veel gebruikt word op faceboek en dergelijke congregaties van desinformatie en moedwillige onwetendheid, daarom ben ik benieuwd waar het vandaan komt.

Weet een beetje van veel dingen en veel van een paar dingen.


Acties:
  • +4 Henk 'm!

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Wintervacht schreef op maandag 30 maart 2020 @ 23:49:
[...]

Ik zeg toch ook niet dat je zoiets dan maar helemaal niet moet beveiligen, ik zeg alleen dat je er met een paar simpele dingen al ver bent en dat het simpel op te lossen is mocht het mis gaan :9
Je kan security zo gek maken als je wil maar overdrijven is ook een vak en ik lees tussen de regels hier gewoon een enorme angst voor... ja wat eigenlijk? 'Gehackt worden' is een hypeterm die veel gebruikt word op faceboek en dergelijke congregaties van desinformatie en moedwillige onwetendheid, daarom ben ik benieuwd waar het vandaan komt.
Het issue met je opmerking is dat je focust op het opruimen nadat de schijt de ventilator raakt.
Even afgezien van alle collateral damage die op kan treden, is het een ontzettende kutklus om alles opnieuw te bouwen.
Sure, een SD kaartje opnieuw voorzien van Raspbian is zo gepiept. Alles opnieuw inrichten, website bouwen/inrichten en je artikelen overnieuw schrijven is wel een ontzettende klote klus.
Dus nog even compleet buiten de scope van wat voor rampen er zouden kunnen plaatsvinden, is het gewoon kut voor de eigenaar van de website/server.

En ja, dan kan je dingen roepen als 'maak backups'. Maar dat is alsnog opruimen nadat het kwaad is geschied. En dan moet je ook maar hopen dat je backups werken, want dat wordt altijd pas getest als de nood daadwerkelijk aan de man is. Het zal niet de eerste keer zijn dat het terugzetten van een backup niet blijkt te werken, om het zwak uit te drukken. Of dat het niet werkt in combinatie met een vers geinstalleerd OS omdat de softwarepackages inmiddels 80 versies verder zijn.
Een backup gebruik je liever niet, als je het ook maar enigzinds redelijk kan voorkomen.

Daarnaast roep je dat HTTPS het gros van de problemen oplost. You wish.
HTTPS is transportbeveiliging. Dat waarborgt alleen maar dat wat de server opstuurt tijdens de overdracht van de server naar de client niet wordt aangepast of ingezien. (en andersom, stel dat je een leuke reactie wenst te geven op een artikel of een login hebt op de betreffende pagina)
Als er ook maar iets schijnveiligheid is, dan is HTTPS het wel. Ja het heeft zijn plaats, maar het is géén beveiliging van de server in kwestie.
Een lek PHP script blijft net zo lek met HTTPS als zonder.

Fail2Ban lost ook helemaal niks op aan een lek script. Die monitort alleen maar logs op access-denied meldingen icm IP adressen en regelt dan een firewall regeltje in die dat IP blockt.
Een HTTP POST request met malicious content naar een random pagina die geen 401 oplevert maar gewoon 200 OK returned, triggert niet in Fail2Ban.
Ook hier, Fail2Ban heeft absoluut zijn plaats en toepassing, maar het is geen oplossing tegen een defect in code.

@Room42 heeft dan ook een aantal hele goede punten en ik ben het absoluut met hem/haar eens.
Zorg voor een goed update regime. Maak (of jat) een cron-script die elke zoveel tijd automatisch een update uitvoert.
Kijk voor de lol even naar de video over Shellshock door Tom Scott. Dit is een typisch voorbeeld van een bug in software die je nooit zal afvangen met HTTPS of Fail2Ban, alleen maar door de bug daadwerkelijk op te lossen met een bugfixed versie van je software.

Er vanuit gaande dat je software up-to-date en lek-vrij is: goede wachtwoorden. Op z'n minst op de plekken die public-facing zijn. Geen hergebruikte set user/pass die je elders al hebt gebruikt.
Bruteforce of poken met hergebruikte gegevens uit een leak van ergens anders dam je daar mee al enorm in. Leg daar dan nog eens Fail2Ban overheen, en het is ondoenlijk geworden om via normale login kanalen binnen te komen. (c.q. via de kanalen die netjes een access-denied opleveren bij een foute poging)

Installeer geen niet-noodzakelijke software. Als je geen PHPMyAdmin nodig hebt, installeer het dan gewoon niet.
Heb je het wel nodig, hang dan een 2de netwerkkaart aan je Pi (USB netwerkkaartje). Draai een separate Virtualhost in Apache die bound is aan die extra USB netwerkkaart, waarop dus geen traffic van buiten aangeleverd wordt.

Gebruik je een content management system voor je website, zorg dan dat je .htaccess rules gebruikt om het admin gedeelte alleen bereikbaar te maken via je lokale LAN (IP filter op lokale, private range IP adressen.)
Geef bij voorkeur ook default een HTTP 401 Unauthorized terug wanneer een request van een non-local IP komt. Deze worden dan weer utigefilterd door Fail2Ban. Hier mee houd je vulnerabilityscanners wat meer op afstand.

Forward alleen de poorten die noodzakelijk zijn. Er wordt gezegd dat 80 en 443 nodig zijn, maar dat is niet helemaal juist. Een redirect is ook niet noodzakelijk.
Wanneer je HSTS configureert in je webserver (een extensie op HTTPS), zal nagenoeg elke webbrowser automatisch HTTPS over poort 443 gebruiken, tenzij je expliciet http:// voor de URL intikt. Dat doet niemand, dus zal je browser altijd over HTTPS gaan. Geen redirect nodig, geen portforward op port 80 nodig. Probleem buiten de deur opgelost. Plus dat je daar mee SSL-Stripping attacks mitigeert, en dus je transportbeveiliging verbetert.

Dan komen we bij lekke PHP scripts. Als je niet zelf programmeert en een softwarepakket van een derde partij gebruikt, blijf die dan regelmatig updaten. Installeer zo min mogelijk plugins en schakel plugins uit die standaard mee geleverd worden maar welke je niet nodig hebt.

Mocht je de kennis in huis hebben, dan kan je kijken naar systemen als SELinux of AppArmor. Beide niet echt voor beginners, hell, het zijn zelfs ontzettende hoofdpijn systemen zolang je er geen cursus in hebt gevolgd. Hele hordes die het gewoon uitschakelen als een linuxdistro er mee geleverd wordt, want het is gewoon pittige kost. Het zijn echter wel tools die in staat zijn om heel veel shit van lekke PHP scripts te blokkeren. Of je je dat op de hals wil halen... maybe not. Of toch wel, mocht je het een aantrekkelijk onderwerp vinden. (ik vond t eigenlijk wel leuk. kijkvoer

Maar, waarom raad ik dit nu aan?
Simpel. Webservers worden gescand. Automatisch en veelvuldig. Zet een kale webserver neer met 1 pagina en kijk de volgende dag even naar hoeveel logregels er zijn weggeschreven.
Wat doen die scanners? zoeken naar kwetsbare websites. Stukjes HTML die indicatie geven dat er een bepaalde versie van een CMS draait. Versies waar gaten in zitten die misbruikt kunnen worden bijvoorbeeld.

Gaat het die mensen om jouw data als website eigenaar of server eigenaar? Neuh, dat zal ze worst wezen.
Slecht beveiligde privé webservers worden misbruikt als springplank naar grotere doelen.
Bijvoorbeeld een pagina hosten die lijkt op een loginpagina van een bank, voor die prachtige phishing e-mails.
Of om dienst te doen in een botnet, of voor de verspreiding van injecteerbare code, of of of... genoeg scenario's waarvoor zo'n machine bruikbaar voor is.
En ze doen er dan ook alles aan om te zorgen dat ze niet zomaar ontdekt worden.

Eerder riep ik al 'collateral damage'. Mocht je Pi-servertje ingezet worden voor dit soort taken, dan loop je het risico dat je internet verbinding wordt afgesloten. Genoeg phishing mail triggert vanzelf een keer een melding naar je internetprovider dat er iets mis is bij jou.
En kom er dan maar eens van af. Ik heb wel eens voor iemand met de servicedesk van een ISP moeten boksen omdat de PC was geinfecteerd met rommel. Da's geen pretje en heeft toch gauw een maand geduurd voordat de internet verbinding werd hersteld.

En de mensen stom genoeg zijn om in dingen als phishing mails te trappen. Nog meer collateral damage Jij bent dat op z'n minst moreel verantwoordelijk daar voor als je je server willens en wetens onvoldoende hebt beveiligd. Als je het niet weet, sja, blijft kut. Weet je het wel of doe je onderzoek of bevraagt mensen die er wat van weten, zoals de TS, kudo's!

Wil ik hier mee zeggen dat je het dan maar niet moet doen?
Nee. Zeker niet. Het is een leuk onderwerp. Je moet je wel goed bewust zijn van het feit dat er risico's zijn en je daar een beetje in verdiepen. Dus, kudo's @wobelaar , goed bezig!
Zeker lekker gaan doen, beveilig de boel goed, veel plezier :)
wolly_a schreef op maandag 30 maart 2020 @ 23:43:
Kijk ook eens naar deze link: https://www.pestmeester.nl/

Ziet er heel compleet uit, maar mijn kennis is te beperkt om te zien of het allemaal snor zit met de veiligheid. Misschien dat daar iemand anders overheen kan kijken.
Dat ziet er inderdaad heel compleet uit. Qua basis installatie vind ik dat een prima tutorial.
Het gaat helaas niet dieper in op SSL/HTTPS instellingen van NginX, maar daar kan je ook prima dingen aan tweaken. Bijvoorbeeld HSTS en PKP, beperktere cyphersuites en forceren op TLS1.2 en hoger.
HSTS verwijdert ook meteen de noodzaak voor een port-80 redirect configuratie :)

Hetzelfde voor SSH. Helemaal puik dat er certificaten worden ingesteld ipv passwords (dat is echt ontzettend veel beter) icm wat restricties op wie er mag inloggen (geen root login over SSH).
Ook daar kan je nog wat tweaken aan de instellingen, maar als je het linea recta zo zou implementeren zit je best goed.

Het gebruik van PHP5 wordt inmiddels afgeraden, want dat is End-of-life sinds 1 januari 2019. Geen updates, geen bugfixes, nada.
Zie ook: https://www.php.net/supported-versions.php
Kortom, vervang dat voor PHP7.4. Die blijft nog jaren in support en je krijgt ook gewoon updates via je packagemananger.
Ik weet niet van wanneer die tutorial is, maar ik gok dat die gewoon een tikkie verouderd is.

Ook wordt er PHPMyAdmin geinstalleerd in die tutorial. Opzich niet slecht, maar dan zou ik toch graag een htaccess (apache) of serverblock (nginx) configuratie zien die daar nog wat dingen inperkt. Bijvoorbeeld alleen toegang vanaf het lokale LAN.
PHPMyAdmin is een ontzettend machtige tool, maar er worden vrij vaak bugs in gevonden die een securityprobleem kunnen opleveren. Die zet je het liefst achter slot en grendel, so to speak.

Ook MySQL zou je volledig van de buitenwereld kunnen afschermen op TCP/IP gebied. By default bind MySQL aan alle beschikbare netwerkinterfaces. Beste om die gewoon te binden aan localhost via de configuratie files. Mysql_secure_installation is een goede tool, maar er kan wat mij betreft nog een schepje bovenop.

Ik ben helaas geen groot kenner van e-mail configuraties, maar als ik het zo zie is het in de basis best OK. Denk niet dat het voor de TS van toepassing is, dus dat mogen we hier nu wel even skippen.
Wie er wel mee bezig gaat: kijk even wat je nog kan verbeteren aan die config.

[ Voor 23% gewijzigd door McKaamos op 31-03-2020 08:48 ]

Iemand een Tina2 in de aanbieding?


Acties:
  • +2 Henk 'm!

  • wobelaar
  • Registratie: Maart 2015
  • Laatst online: 16-08 13:02
daupie schreef op maandag 30 maart 2020 @ 23:23:
Poortje alleen openzetten naar IP-adres van de cliënt?
Heb ik inderdaad overna gedacht, maar aangezien mijn 'cliënt' oftewel mijn vriendin een dynamic IP heeft moet ik die blijven wijzigen... Dus zeker niet ideaal.
Wintervacht schreef op maandag 30 maart 2020 @ 23:26:
[...]

Ik lees hier even tussen de regels door hoor, waar ben je nou precies bang voor?
Ik ben voornamelijk bang dat mensen de rest van ons thuisnetwerk aan zullen vallen, verder wist ik niet eens wat een botnet was eigenlijk 😅 nu wel... En dat zou ehhhh minder fijn zijn (zacht uitgedrukt).
Room42 schreef op maandag 30 maart 2020 @ 23:31:
@Wintervacht Ik heb er anders ook belang bij dat zijn Pi niet in een botnet terecht komt. Jij ook, toch? 8)7
Dus:
- bij voorkeur enkel poort 80 en 443 forwarden,
- een redirect naar 443 op poort 80,
- alle software up-to-date houden,
- En ga je een database installeren, gebruik dan zeer lange wachtwoorden (die hoef je maar 1x in te typen),
- en géén phpMyAdmin installeren, want dat maakt de toegang tot je database weer kwetsbaar.
Zou te doen moeten zijn denk ik! :) Bedankt!
Wintervacht schreef op maandag 30 maart 2020 @ 23:49:
[...]
'Gehackt worden' is een hypeterm die veel gebruikt word op faceboek en dergelijke congregaties van desinformatie en moedwillige onwetendheid, daarom ben ik benieuwd waar het vandaan komt.
Ja geen idee eigenlijk, denk voornamelijk mede-studenten en college's. Waarvan de mede studenten zeggen: 'Je moet niet portforwarden! Is vet onveilig!'

En in de college's wordt gezegd: 'The internet is a scary place, zelfs de beste beveiliging volstaat nooit helemaal.'

_________________________________________________________________________________

In ieder geval, allemaal hartstikke bedankt voor jullie berichten! Hier kan ik mee vooruit! _/-\o_ _/-\o_

(Geen zorgen @McKaamos jij krijgt een apart antwoord op je zeer uitgebreide bericht _/-\o_ , maar ik moet nu toch echt weer gaan opletten op mijn college, dus dat doe ik later ;) )

Acties:
  • +1 Henk 'm!

  • wobelaar
  • Registratie: Maart 2015
  • Laatst online: 16-08 13:02
@McKaamos Laat ik nogmaals beginnen met je ontzettend te bedanken. Man wat een uitgebreid bericht! Ik moest het eerst drie keer doorlezen voordat het allemaal was doorgedrongen wat je had gezegd. Daarnaast sorry voor mijn late reactie, school vergt erg veel tijd en ben dus nog niet verder gegaan met de webserver. Ik wilde eigenlijk wachten met antwoorden totdat ik stappen had ondernomen naar aanleiding van jouw bericht. Maar dat zou te lang duren en dan zou ik dus schandalig laat op je antwoorden.

Al met al, ik kan nog geen update geven over wat ik ermee heb gedaan en of ik tegen problemen ben aangelopen. Maar in ieder geval hartstikke bedankt voor alle info. Ik heb het echt ter harte genomen en ik zal in de toekomst als school weer wat minder druk wordt, al jouw gegeven kennis gebruiken om mijn pi te beveiligen 😉
Pagina: 1