BVS Blog [dot] BE

De technische blog van de persoon gekend als BVS

IP Adressen blokkeren van je website

Filed under: Piraterij,Security — マシンの神 at 5:41 am on Saturday, April 7, 2012

Het is belangrijk om nooit SQL fouten weer te geven aan de ‘bezoekers’ van je website. Op die manier kunnen ze de opbouw van je database doorgronden om vervolgens misschien schade te proberen aanrichten. In plaats van een SQL foutmelding kan je beter de PHP mailfunctie inbouwen om automatisch een e-mailmelding te ontvangen van zodra iemand bijvoorbeeld een ‘ID’ probeert in te voegen in de querystring die niet numeriek is.

De meest courante pogingen zijn het invoegen van enkele aanhalingstekens om een foutmelding uit te lokken en zo je SQL query te zien te krijgen. Controleer daarom altijd of de $_GET variabelen numeriek zijn, zoniet zend een e-mailmelding naar de webmaster. Meestal gaat dit over meerdere pogingen met een bepaald IP-adres van China, Rusland, Afghanistan of andere landen.

Als je als webmaster die meldingen ontvangt dan wil je natuurlijk alles in het werk stellen om dit in de toekomst te voorkomen. Je kan via een eenvoudige manier de betrokken IP adressen of IP-adresreeksen de volledige toegang weigeren tot je website.

Maak een bestand aan met de naam .htaccess op je webserver of voeg onderstaande code toe aan je reeds bestaande .htaccess bestand:

order allow,deny
deny from 123.45.6.7
deny from 012.34.5.
allow from all

Deze code maakt het onmogelijk om je website te bezoeken komende van het IP adres 123.45.6.7 en van de IP adressen 012.34.5.0 tot 012.34.5.255. Via een eenvoudige whois lookup kan je nazien van welke internetprovider de misbruiken komen.

BVS Adviseert

1. Bouw e-mailmeldingen in voor elke ‘ongewone’ activiteit op je website scripts

2. Blokkeer de betrokken IP adressen met je .htaccess bestand

3. Rapporteer de inbraakpogingen aan de lokale federale politie of computer crime unit én aan de betrokken internetprovider

Beveilig uw internet-beleving

Filed under: Internet,Security — マシンの神 at 4:24 pm on Thursday, March 29, 2012

Na meer dan 15 jaar professionele ervaring met het internet heb ik zowel voorspoed als tegenslagen te verwerken gekregen wat betreft de veiligheid van PC’s, servers, e-mailadressen en web-applicaties. Reeds talloze keren heb ik inbraakpogingen gedetecteerd komende van Iran, China, Rusland, Brazilië, USA, Canada, … Hieruit heb ik geleerd welke methodes en technieken toe te passen om de internet-beleving superveilig te maken.

Enkele tips voor de gewone internet-gebruiker

  • vermijd recyclage van wachtwoorden: gebruik nooit hetzelfde wachtwoord voor verschillende websites/e-mailadressen. Wanneer iemand met malafide bedoelingen één wachtwoord te pakken krijgt, dan kan hij met datzelfde wachtwoord in je andere accounts inbreken.
  • gebruik steeds sterke wachtwoorden van minimum 8 karakters bestaande uit cijfers, letters (klein & groot) én leestekens. Bijvoorbeeld: 4d#Q%2§!z
  • zorg ervoor dat je een veilig toestel gebruikt om een nieuwe account (met wachtwoord) aan te maken of om een bestaand wachtwoord te wijzigen. Het is altijd mogelijk dat je Windows-PC besmet is met een virus of trojan zonder dat je virusscanner deze detecteert: de mazen van het net zijn nooit nauw genoeg om àlles tegen te houden. Ik adviseer hierbij sterk om een linux of mac computer te gebruiken die up-to-date is
  • klik niet op de blauwe ‘e’. Gebruik in de plaats hiervan Firefox, Google Chrome, Safari, Opera, …
  • Windows-gebruikers: zorg ervoor dat je een goed en up-to-date anti-virus programma hebt. Tegenwoordig zijn er goeie gratis alternatieven waardoor je zeker niet moet betalen voor een anti-virus. AVG Free anti-virus gebruik ik zelf reeds meer dan 6 jaar en ben er heel tevreden van. Na de installatie dien je de virus-database te updaten en doe daarna meteen een volledige scan van je computer. Dit kan al snel enkele uren in beslag nemen. Geef AVG de tijd om alles te controleren. Er wordt meteen en automatisch komaf gemaakt met gevonden bedreigingen.
    Let erop dat je alle andere anti-virus programma’s hebt verwijderd (zoals Norton en McAfee) vooraleer je AVG installeert.

Enkele tips voor de website ontwikkelaar

  • plaats een administratiemodule niet zomaar onder een mapje /admin/ op de webserver omdat dit de eerste locatie is die hackers opzoeken om vervolgens je login te proberen breken.  Een beter alternatief is een mapnaam die niet evident te raden is zoals bijvoorbeeld: /geheim294adm15/
  • zet geen link op de website (frontside) naar de administratormodule (back-office). Enkel de toegelaten gebruikers mogen de locatie kennen van de website administrator
  • vermijd het gebruik van makkelijk te raden gebruikersnamen zoals ‘admin’. Gebruik in de plaats hiervan opnieuw een niet-evidente username zoals bijvoorbeeld: ‘de23Site9u’
  • gebruik een sterk wachtwoord (zoals hierboven vermeld voor de gewone internet-gebruiker) die slechts éénmaal wordt gebruikt in combinatie met je geheime gebruikersnaam
  • maak gebruik van een gebruikersnaam en wachtwoord in combinatie met een tijdslot-systeem: verzin een code die berekend wordt op basis van het huidige uur, de huidige dag, maand, … Enkel de toegelaten gebruikers kennen de formule om de code voor het tijdslot te berekenen
  • combineer je login verder met een captcha code verificatie: dit zijn de schuin gedrukte cijfers en letters die normaliter enkel door een mens kunnen gelezen worden, en niet door een computerprogramma of script
  • maak gebruik van een IP-adres blocklist: na een aantal mislukte loginpogingen blokkeer je het gebruikte IP-adres zodat die zelfs de kans niet meer heeft om een loginpoging te doen
  • programmeer triggers op de administrator login pagina zodat je een mailtje ontvangt van zodra iemand (1) de loginpagina heeft geopend, (2) iemand een mislukte loginpoging heeft gedaan en (3) wanneer een login is geslaagd. Zorg ervoor dat je telkens de inhoud van alle ingegeven velden en het IP adres insluit in die meldingsmail zodat je kan traceren vanuit welk land en met welke internetprovider deze acties ondernomen werden
  • zet PHP Globals uit! Zet bovendien ook de PHP Errors uit voor een online productiesite
  • retourneer nooit SQL fouten naar de gebruiker want op die manier kan die zien hoe je databasetabellen en velden zijn opgesteld. Gebruik in de plaats hiervan een automatische mailmelding naar de webmaster
  • controleer in je script de ingegeven post-variabelen zodat die geen stukjes PHP- of javascript bevatten
  • wijzig regelmatig je FTP-, mySQL-, en login-wachtwoorden

Wat te doen wanneer je login gecompromitteerd werd?

Van zodra je al het kleinste vermoeden hebt dat er onfrisse praktijken gebeuren in je online verhaal dan kan je volgende acties ondernemen:

  • verander alle gerelateerde wachtwoorden en indien mogelijk ook de gebruikersnaam. Doe dit op een veilig toestel
  • verwijder indien nodig de volledige administrator-module van de online website. Zorg ervoor dat je er eerst een lokale backup van hebt genomen zodat je die na verificatie terug online kan zetten
  • meld alle inbraakpogingen aan je lokale of federale politie, de CCU (Computer Crime Unit), de FBI of stuur een mailtje naar abuse@… van de respectievelijke internetprovider vanwaar de poging kwam. Doe je verhaal zo duidelijk en gedetailleerd mogelijk en vergeet zeker niet het betrokken IP adres te vermelden. De politie heeft dit adres nodig om een onderzoek te kunnen starten.

De gebruikte veiligheidsmaatregelen zijn nooit compleet. Er kan altijd scherper beveiligd worden: niets is 100% safe. Door het gebruik van e-mailmeldingen kan je alle misbruikpogingen traceren en navenant reageren door betere of extra beveiligingen in te bouwen.

Bestanden zoeken in Linux

Filed under: Linux — マシンの神 at 4:43 pm on Sunday, March 25, 2012

Na vele jaren werken op dezelfde PC verzamel je al gauw duizenden tot tienduizenden eigen bestanden. In sommigen gevallen kan dit over honderdduizenden bestanden gaan. In dat geval is het soms moeilijk om een bestandje terug te vinden. Onder linux bestaat er een eenvoudig en performant commando om het hele bestandssysteem te gaan afzoeken naar een bestand (of een deel van een bestandsnaam).

Met een voorbeeldje kan dit het best gedemonstreerd worden. Laat ons veronderstellen dat je ooit een ontwerp gemaakt en je weet nog dat je dit bestand het opgeslagen met iets waarin het woord ‘ontwerp’ in voorkomt, maar verder weet je de volledige bestandsnaam niet en je weet ook niet meer in welke map je dit hebt geplaatst.

Met het commando ‘locate’ kan je dit snel terugvinden:

locate ontwerp

Indien je de melding krijgt dat de locate-database verouderd is, dan kan je die manueel updaten met dit commando:

sudo updatedb

In de meeste gevallen wordt het commando updatedb wekelijks uitgevoerd in een nachtelijke CRON-job verwerking, dus zal je deze database normaliter niet manueel moeten vernieuwen.

Ubuntu Proces gvfsd-metadata neemt 100% CPU in beslag

Filed under: Ubuntu — マシンの神 at 2:30 pm on Saturday, February 18, 2012

Het systeemproces gvfsd is de zogenaamde GNOME Virtual File System Daemon. Het draait op de achtergrond en zorgt ervoor dat je verschillende mediatypes automatisch kunt ‘mounten’ of koppelen aan Ubuntu. Dit zijn onder andere USB-sticks, externe harde schijven, CD, DVD maar ook netwerkverbindingen via Samba of NFS.

Soms kan het gebeuren dat het proces gvfsd-metadata bijna 100% van de CPU in beslag neemt. Als we de ‘oude denkwijze’ hanteren, dan zouden we dit proces gewoon afsluiten zonder er verder over na te denken. In linux is het heel uitzonderlijk dat er iets foutloopt dus we gaan dit toch even onderzoeken.

Mogelijke oorzaken van gvfsd-metadata overload:

  • de harde schijf is bijna vol: zorg ervoor dat je steeds minimum 10% van je schijf vrijhoudt
  • je hebt teveel kleine bestanden: we kunnen de thumbnail-cache van reeds bekeken foto’s leegmaken
  • je hebt teveel ‘verbindingen’: veel externe harde schijven en netwerkverbindingen tegelijkertijd en langdurig

Mogelijke oplossingen:

  • ruim je harde schijf op en maak ook de prullenbak leeg. Denk eraan: 10% is het absolute minimum
  • opruimen van de thumbnail-cache:
    1. sluit alle fotoviewers af
    2. rm ~/.thumbnails/fail/gnome-thumbnail-factory/*
    3. rm ~/.thumbnails/normal/*
  • de gegevensbestanden van gvfsd kunnen beschadigd raken, ruim deze op voor een instant resultaat:
    1. sluit je Gnome-sessie af
    2. ga naar een consolescherm met [CTRL][ALT][F1]
    3. log daar in met je gewone gebruikersgegevens
    4. rm -rf ~/.local/share/gvfs-metadata

Zoeken in tekstbestanden op linux

Filed under: Linux — マシンの神 at 9:53 pm on Friday, February 10, 2012

Met dit commando kan je een bepaalde tekst zoeken in verschillende (tekst)bestanden op linux:

grep -Rs --include=*.php zoektekst /var/www/*

Dit voorbeeld zal zoeken naar de term ‘zoektekst’ in alle bestanden met de extensie .PHP onder de map /var/www

De optie -R zorgt ervoor dat ook gezocht wordt in alle submappen

de optie -s zorgt ervoor dat foutmeldingen over lege bestanden of mappen niet zullen weergegeven worden

Next Page »

Categorie-Cloud

2000 Algemeen Besturingssystemen Databases Google Calendar Gratis Software GSM Hardware ICT Wetgeving Internet Legaal Linux Mac Microsoft Mozilla Firefox Mozilla Thunderbird mySQL Nokia Office OpenOffice.org Outlook Piraterij Security Software ontwikkeling Ubuntu Vista Windows XP