🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #7250

Re: bruteforce-protection

#7250
From: Vincent Spruyt
Date: Sun, 06 Oct 2002 08:04
70 lines
4445 bytes
"Pieter Philippaerts" <Pieter@removethis.mentalis.org> schreef in
news:_yHn9.81106$49.10715264@amsnews02.chello.com: 

> "Vincent Spruyt" <info@computersecurity.be> wrote in message
> news:Xns929ED8F15394Dwww.computersecurity@195.130.132.65...
>> Nu vroeg ik me af of er geen minder omslachtige manier is in php om
>> dit te bereiken...
> 
> Een iets minder omslachtige manier [denk ik] is de volgende: als een
> gebruiker inlogt met een fout paswoord, wacht dan enkele seconden
> eerdat je hem verwittigd dat het paswoord fout is. Daarenboven wordt
> het maximum aantal connecties van eenzelfde IP adres gelimiteerd. Op
> die manier moet je geen history gaan bijhouden, maar enkel de IP
> adressen die op een bepaald moment geconnecteerd zijn.
> 
> Als je je afvraagt ofdat dit wel een goede bescherming is kan je even
> gaan rekenen: stel dat het paswoord 8 karakters lang is, waarbij er
> 100 verschillende karakters kunnen gebruikt worden. Als de aanvaller
> brute force gebruikt, dan gaat die gemiddeld vijf miljoen miljard keer
> moeten proberen eerdat hij de juiste combinatie gevonden heeft [wat in
> feite een onderschatting is aangezien je er hier vanuit gaat dat de
> aanvaller op voorhand weet dat het paswoord 8 karakters lang is]. Als
> je het maximum aantal gelijktijdige requests per IPs vastlegt op 5 en
> de wachttijd op 3 seconden, dan kunnen we uitrekenen dat de aanvaller
> er (5000000000000000 / 5) * 3 seconden over gaat doen [in het beste
> geval], wat dus equivalent is met ongeveer 95000 millennia.

thx! Nu postte ik deze vraag, met in het achterhoofd niet alleen bruteforce 
protection, maar ook een betere methode om het flooden van een aantal 
scripts die user input vragen tegen te gaan... En mag alles liever niet te 
traag gaan.
Zo heb ik een 'Whois' scriptje. Ik zou het nu zo willen beveiligen dat, 
wanneer iemand meer dan 5 submits doet binnen de 10 sec., dat de 6de niet 
meer zal werken, en dat hij een 5tal minuten zal moeten wachten.
Ik dacht aan iets in deze stijl:
Wanneer iemand een formsubmit doet, wordt in een of ander bestand 
hetvolgende opgeslagen:

ip:unixtimestamp\n

Stel dus dat hij dat 4 x doet, en daarna iemand anders, waarna deze persoon 
weer aan de beurt komt:

ip:unixtimestamp
ip:unixtimestamp
ip:unixtimestamp
ip:unixtimestamp
ip2:unixtimestamp2
ip:unixtimestamp

Wat ik nu moet doen is bij elke submit kijken of de persoon al 5 keer 
voorkomt in het lijstje. als dat zo is, moeten het grootste tijdstip en het 
kleinste met elkaar vergeleken worden. De rest volgt hieruit...

Mijn idee:

$lines = explode ( "\n", $bestand );
foreach ( $lines as $line ) {
list( $ip, $tijdstip ) = explode( ':', $line );
}

Het enige wat ik nu nog zou moeten kunnen doen, is de verschillende ip's 'n 
tijdstippen in andere variabelen gieten, die ik dan met elkaar kan 
vergelijken...

-- 
Computer games don't affect kids; I mean if Pac-Man affected us as kids, 
we'd all be running around in darkened rooms, munching magic pills and 
listening to repetitive electronic music. (Christian Wilson)
		- <url:http://www.computersecurity.be/> -
Technical Details
Message-ID: <Xns929F6695D53B9www.computersecurity@195.130.132.65>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-04!supernews.com!newsswitch.lcs.mit.edu!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <Xns929ED8F15394Dwww.computersecurity@195.130.132.65> <_yHn9.81106$49.10715264@amsnews02.chello.com>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,10aabab9b0f532fa
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-10-06 01:06:02 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-04!supernews.com!newsswitch.lcs.mit.edu!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
Newsgroups: be.comp.programming
Subject: Re: bruteforce-protection
From: Vincent Spruyt <info@computersecurity.be>
References: <Xns929ED8F15394Dwww.computersecurity@195.130.132.65> <_yHn9.81106$49.10715264@amsnews02.chello.com>
Organization: CSB
Message-ID: <Xns929F6695D53B9www.computersecurity@195.130.132.65>
User-Agent: Xnews/5.04.25
Keywords: www.computersecurity.be
X-Face: ndvatf(!8h`xUoD0bCL%?U!P0hU*scz_hkoe58x7_N]c`Y!K:!Wq'S29MK{TaDcYohc@+]A+XdehK/%zqyj:2,(\%z|S6=D7po"m*RF1.^q<jc&:)$SG}z5u=twOkoS"b=e$dPi>vi1sA^>V~i7K4R>gu]%"dz+hzWsywoYX)n)etQe\O!"!&bW(K'A5czax<$y9JIs:.F
Contact: info@computersecurity.be
Website: www.Computersecurity.be
Lines: 70
Date: Sun, 06 Oct 2002 08:04:09 GMT
NNTP-Posting-Host: 213.118.125.54
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1033891449 213.118.125.54 (Sun, 06 Oct 2002 10:04:09 MET DST)
NNTP-Posting-Date: Sun, 06 Oct 2002 10:04:09 MET DST