Database error door refresh

Database error door refresh

door Martijn Bos -
Aantal antwoorden: 10
Door het veelvuldig refreshen van een willekeurige Moodlepagina kan er geen verbinding met de database gemaakt worden en verschijnt de daarbij horende foutmelding. Hoe kan ik dit voorkomen? Server: Linux Fedora, Moodle 1.6
Gemiddelde van de beoordelingen:  -
Als antwoord op Martijn Bos

Kan dit weggehaald worden?

door Jan Dierckx -

Hoe kan ik dit voorkomen?

Misschien door het niet op een forum te plaatsen waar iedereen het truukje zomaar kan leren kennen droevig Kan een van de moderators het bericht misschien verwijderen?

Dit is een geschiktere plaats om zulke dingen te melden.

Enkele mogelijke (ideeën voor) oplossingen

Gemiddelde van de beoordelingen:  -
Als antwoord op Jan Dierckx

Re: Kan dit weggehaald worden?

door Martijn Bos -
Dit 'truukje' is uitgevonden door 2e jaars VMBO-ers maar het lijkt me niet erg lastig om uit te vinden. Dan lijkt het me belangrijk om daar aandacht aan besteden en niet alle bugs of tekortkomingen maar te verstoppen. Dat een engelstalig forum een betere plaats is voor dit soort truukjes betwijfel ik maar ik wist niet dat dit publiek geheime informatie was. 
Gemiddelde van de beoordelingen:  -
Als antwoord op Martijn Bos

Re: Kan dit weggehaald worden?

door Jan Dierckx -

Inderdaad kan je dit truukje zowat bij alle php / mysql applicaties proberen. Toch zie ik het liever niet nog eens een keer op de website van Moodle staan en nee, ook niet op het Engelstalige forum. Ik verwees je dan ook niet door naar het Engelstalige forum, maar naar een Moodle site die zich toespitst op veiligheidsproblemen.

Ben je ondertussen iets met de links die ik je stuurde?

Gemiddelde van de beoordelingen:  -
Als antwoord op Jan Dierckx

Re: Kan dit weggehaald worden?

door Martijn Bos -
Jan, de links bieden wel wat informatie waar we wat aan hebben maar we proberen meteen het probleem structureel aan te pakken. We gaan wat proberen met een Debian of Ubuntu distro, eens kijken of het op dat niveau wat kunnen doen. Mochten we hier wat ontdekken dan publiceren we dat.
Gemiddelde van de beoordelingen:  -
Als antwoord op Jan Dierckx

Re: Kan dit weggehaald worden?

door koen roggemans -
Foto van Heel behulpzame Moodlers Foto van Hoofdontwikkelaars Foto van Moodle HQ Foto van Vertalers
Sorry Jan, maar ik denk inderdaad dat de kennis van het probleem en de mogelijke oplossingen belangrijker zijn dan het probleem proberen verborgen te houden. Vandaar dat ik denk dat het beter is dat deze discussie blijft staan. Misschien komen er wel meer mogelijke oplossingen.
Gemiddelde van de beoordelingen:  -
Als antwoord op koen roggemans

Re: Kan dit weggehaald worden?

door Jan Dierckx -

Ik heb dit verkeerd ingeschat. Op het moment dat Martijn de vraag stelde, vreesde ik gewoon dat er geen echte oplossingen waren voor dit probleem behalve dan ingewikkelde serverinstellingen waar je als gewone Moodlebeheerder helemaal niets mee kan doen.
Dan heb ik eerlijk gezegd liever dat de hele discussie op een wat beslotener forum gevoerd wordt en niet op een forum waar elke leerling met Google meteen op terecht komt. Ondertussen zijn er blijkbaar toch wat oplossingen aangereikt en in dat geval lijkt me dit wel een waardevolle discussie.

Gemiddelde van de beoordelingen:  -
Als antwoord op Jan Dierckx

Re: Kan dit weggehaald worden?

door Martijn Services -

Persoonlijk ben ik ervoor om alles open en bloot te bespreken daar is de opensource gemeenschap ook zo groot door geworden. Uiteraard is het wel netjes om eerst de makers te benaderen bij een echte bug. En ze een paar dagen te geven maar dat is zelfs niet echt een must. Mocht je interesse hebben in het volgen van security problemen dan zou je eens moeten kijken op: www.securityfocus.org dan raak je pas echt paranoide smile. Als er fouten in software zitten staat het daar toch wel als eerste en soms met "proof of concept".

Even weer terug naar de eerste vraag.

Ik heb nog een leuke "How to" gevonden om een linux webserver te beveiligen.

http://www.freesoftwaremagazine.com/articles/hardening_linux?page=0%2C0

Het vraagt uiteraard wel wat kennis maar als ik eerlijk ben moet een "gewone Moodlegebruiker" die zelf een linux server installeert ook de moeite nemen om het OS zo goed mogelijk dicht te zetten. Zeker als hij voor veel mensen open staat. Natuurlijk kan je niet alles afvangen maar je kan wel minimaal een firewall(iptables) installeren en deze goed instellen. Omdat iptables niet echt heel vriendelijk is zijn er grafische tools voor bijv http://vuurmuur.sourceforge.net/ (werkt op de console)

Ik ben eigenlijk benieuwd of het Martijn Bos gelukt is om het probleem aan te pakken.

mvg

Martijn

 

Gemiddelde van de beoordelingen:  -
Als antwoord op Martijn Bos

Re: Database error door refresh

door Martijn Services -

Dit heeft denk ik meer te maken met mysql dan met moodle. je zou eens kunnen kijken of de het aantal threads voor mysql kunt verhogen en (ik ben nieuw met moodle) misschien de caching in moodle aan te zetten.

Tevens kan je in apache ook diverse modules installeren die "hammering" tegen gaan zodat mysql niet zo flink belast word door wat vmbo wannabe hackers ;)

optie voor apache:

Werkt op diverse niveau's maar voor jouw is denk ik de timeout setting belangrijk.

http://www.modsecurity.org/projects/modsecurity/apache/index.html

optie iptables(lijkt me persoonlijk de beste) :

Wat ik net vergeten was te melden is je firewall. In iptables kun je diverse settings maken om alles wat beter te laten lopen. Maar dat vereist nog wel wat zoek werk van je. Ik heb jammer genoeg niet alle kennis van iptables paraat. Met een beetje googlen kwam ik deze regel tegen:

iptables -A INPUT p TCP --dport 80 --syn -m limit --limit 5/second -j ACCEPT   

Tegen een DoS (Denial Of Service) attack dat is eigenlijk wat je omschijft. Nu krijgen ze een delay tussen de refesh attacks. Dus mysql zal niet meer zo snel foutmeldingen geven.

mvg

Martijn

Gemiddelde van de beoordelingen:  -
Als antwoord op Martijn Services

Re: Database error door refresh

door Martijn Bos -
Heren, dank voor de tips. Inmiddels hebben we de config van Shorewall (firewall) aangepast zodat het aantal verzoeken gelimiteerd is tot 10 met een maximum van 20 per seconde:

DNAT            net             loc:"ip-adres server"  tcp     www     -       -                       10/sec:20

In de loop van volgende week laat ik weten of het daadwerkelijk opgelost is.


Gemiddelde van de beoordelingen:  -