ntec Skrevet 26. november 2007 Del Skrevet 26. november 2007 Jeg driver en webside som de siste måndene får besøk av hundretalls forskjellige "besøkende" fra utenlandske IP-adresser. Websiden min blir åpnet av 10-100 ganger i løpet av 5 sekunder, så det tyder på at noen forsøker å angripe websiden min. Dette har blitt et problem, fordi at websiden min blir så belastet at mySQL-forbindelsen blir avbrutt i opptil 15 sekunder etter angrepene. Dermed blir de ekte besøkende møtt av "Feil oppstod, klarte ikke å koble opp mot databasen." Til nå har jeg over 800 IP-er i ban-lista, mens stadig flere IPer angriper websia... Er det flere som opplever dette? Hva kan jeg gjøre for å unngå angrepene? Kan jeg rapportere angrepene, og hvor skal det rapporteres til? Hvis noen er interessert, så kan vi samle oss en gjeng som utarbeider en banlist.. (eller en annen løsning) Eksempel på angrep, hentet fra loggen: "IP time()" 85.210.25.219 1195839433 66.16.88.232 1195839434 75.4.164.104 1195839434 24.63.65.112 1195839434 68.43.131.43 1195839434 24.0.58.14 1195839434 69.177.237.35 1195839436 72.14.65.99 1195839436 190.161.88.156 1195839436 88.158.199.17 1195839436 77.71.44.175 1195839436 24.177.53.254 1195839436 70.236.7.147 1195839436 67.188.69.14 1195839436 86.4.89.22 1195839437 88.85.103.213 1195839437 Lenke til kommentar
Wild Berries Skrevet 26. november 2007 Del Skrevet 26. november 2007 Hei. Har ikke så mye å tilby, men test denne siden WHOIS Der kommer det opp navn og nummer. Vennlig Hilsen W_B Lenke til kommentar
Loomy Skrevet 27. november 2007 Del Skrevet 27. november 2007 (endret) Hva kan jeg gjøre for å unngå angrepene? Ikke så fryktelig mye. Det du derimot kan gjøre er å blokkere IPene før de når selve siden (f.eks med en htaccess-fil hvis du ligger på Apache-server). Så slipper du vertfall at de spiser opp databasen din. Kan jeg rapportere angrepene, og hvor skal det rapporteres til? Vanligvis på epost til abuse@<isp>. ISP finner du vha. WHOIS på IP-adressene. Hvis noen er interessert, så kan vi samle oss en gjeng som utarbeider en banlist.. (eller en annen løsning) Kunne vært ålreit, men problemet er at 99% av IP-adresser brukt til DDOS-lignende angrep viser til "uskyldige" PC-er eid av skrotskaller som ikke klarer å sikre seg mot virus og denslags. Endret 27. november 2007 av Loomy Lenke til kommentar
InsertNumLock Skrevet 27. november 2007 Del Skrevet 27. november 2007 Virker som at du blir ddosset.. sender uendelig mye data mot serveren til den blir kjørt i senk.. Lenke til kommentar
ntec Skrevet 2. desember 2007 Forfatter Del Skrevet 2. desember 2007 har laget en php-kode som fungerer slik: include iplist.php (filen inneholder en array med iper) if in_array die(); har laget det slik at den sjekker om ipen til besøkende er i array, for hver side som blir åpnet... lurer på om en array med 10000 IP-adresser er krever mye resurser.. noen som vet? Lenke til kommentar
itsmebth Skrevet 3. desember 2007 Del Skrevet 3. desember 2007 D:\WAMP>php <?php $start = memory_get_usage(); $ar = array(); for($i = 0; $i < 10000; $i++) $ar[] = "255.255.255.255"; echo "Memory increase: " . (memory_get_usage() - $start); ?> ^Z Memory increase: 1026056 Lenke til kommentar
funkyboy Skrevet 4. desember 2007 Del Skrevet 4. desember 2007 Hva med å lage et script som ikke tillater mer enn x antall forespørsler fra samme ip pr. sekund? Dette burde jo være en smal sak ved hjelp av f.eks. $_SESSION[]. Har selv opplevd å sett omlag hundre og tyve hits fra samme ip i løpet av fem sekunder flere ganger, men går ut ifra at det er et script som benyttes for å fange opp epost- adresser. Tiltaket jeg gjør, er rett og slett å skrive epostadresser i ascii- kode, eller en kombinasjon av dette og vanlige bokstaver (Har også brukt javascript som plukker istykker eposten, og setter den sammen riktig ved output). Offtopic: Skjønner forøvrig ikke hvorfor sider som 1881.no gjør det samme. Firmamailen min er jo eksponert alle som har hensikter som angår spam. Regner med jeg sender dem en lettere irritert mail ganske snart, i og med at de også har bostedsadressen min feil, nesten et og et halvt år etter at jeg skiftet adresse. Lenke til kommentar
Vindstille Skrevet 5. desember 2007 Del Skrevet 5. desember 2007 D:\WAMP>php <?php $start = memory_get_usage(); $ar = array(); for($i = 0; $i < 10000; $i++) $ar[] = "255.255.255.255"; echo "Memory increase: " . (memory_get_usage() - $start); ?> ^Z Memory increase: 1026056 Så det blir 1MB? Uansett, hvis man skal lagre så mange IP-addresser er det vel lurt å gjøre det om til et tall. Lenke til kommentar
Vindstille Skrevet 5. desember 2007 Del Skrevet 5. desember 2007 Offtopic: Skjønner forøvrig ikke hvorfor sider som 1881.no gjør det samme. Firmamailen min er jo eksponert alle som har hensikter som angår spam. Regner med jeg sender dem en lettere irritert mail ganske snart, i og med at de også har bostedsadressen min feil, nesten et og et halvt år etter at jeg skiftet adresse. Hvis store, populære sider gjør dette tar nok spammerne og skriver om programmene sine til å ta denne typen ting ganske enkelt. Men så klart, noe er bedre enn ingenting. Lenke til kommentar
Cucum(r) Skrevet 6. desember 2007 Del Skrevet 6. desember 2007 Har ikkje PHP ei lagringsprosedyre som er basert på hashmapping, ala Pythons dict()? Det er iallfall den desidert kjappaste løysinga når det byrjar å bli mange nøkler. Lenke til kommentar
Vindstille Skrevet 6. desember 2007 Del Skrevet 6. desember 2007 (endret) Har ikkje PHP ei lagringsprosedyre som er basert på hashmapping, ala Pythons dict()? Det er iallfall den desidert kjappaste løysinga når det byrjar å bli mange nøkler. PHP bruker vel array() både for lister og hash table. $list = array("Professional PHP Programming", "Programming Perl"); $hashtable = array("php" => "Professional PHP Programming", "Perl" => "Programming Perl"); Om det er noen stor ytelsesforskjell mellom de to vet jeg ikke. Men hvorfor skal du egentlig bruke en hashtable? Du har jo bare en verdi, ingen nøkkel. Du kan jo selvfølgelig gjøre sånn {"192.168.1.1":None} (Python). Men hvordan det skal være raskere enn en liste/tuple ser jeg ikke helt. Kan jo hende du har sett, men det logiske er jo at en tuple er raskere enn en liste så lange du har samme nøkkel i begge. EDIT: Evt. kan du jo gjøre noe sånt. Da vil jo de fleste IP-adressene kun trenge å loope gjennom noen få keys. { 192: {168: {{1: {1: True 2: True, 101: True,}}}, 158: {{1: {2: True}}}, 169: {{1: {1: True}}}}, 186: {168: {{1: {1: True}}}, 158: {{1: {2: True}}}} 169: {{1: {1: True}}}} } Endret 6. desember 2007 av JonT Lenke til kommentar
Cucum(r) Skrevet 6. desember 2007 Del Skrevet 6. desember 2007 Det siste eksempelet ditt svarte på ditt eige spørsmål. Lenke til kommentar
MC2 Skrevet 7. desember 2007 Del Skrevet 7. desember 2007 (endret) Hva med å gjøre dette mye enklere å bare sette at serverside koden din skal sleep i 0.5-1 sekunder. Seriøse besøkere vil nesten ikke merke forskjellen mens noen som prøver å angripe den vil fort oppdage problemer. Og om du er beskymret for minnebruk ved lagring av ip addresser i arrays er det lurt å konvertere ipene til heltall (ip2long) som tar mindre plass. Men om oppsettet ditt ikke takler ca 9 requests per sekund burde du vurdere caching, om det er relevant. Endret 7. desember 2007 av MC2 Lenke til kommentar
Bluez71 Skrevet 7. desember 2007 Del Skrevet 7. desember 2007 Har hatt problemet i flere år. Tusen av angrip på Linux serveren min hver dag. I begynnelsen skulle jeg "ta de", sendte ut e-post til "[email protected]", og fikk tilomed noen svar som sa at "Thanks for your email. One of our servers had been compromised and acted as a bot to try to gain access to other machines. It has now been reformated.". Vannlighvis er det en server med svake passord (test / test) som har blitt hacket, og brukes nå til å prøve å brute force hacke seg inn i andre servere, ofte automatisk. Men nå til dags er sjansene mindre at de ser din klage mellom de millioner av Viagra reklamer som kommer inn i abuse e-posten deres daglig. Jeg har selv en abuse e-post nå, og som oftes går jeg "delete all" i stedet for å vasse igjennom 10 000 Viagra og "very good offer" reklamer. Ikke at jeg tror min server er brytt inn i enda.. Men man vet jo aldri. Lenke til kommentar
FrodeNilsen Skrevet 7. desember 2007 Del Skrevet 7. desember 2007 Hva med å gjøre dette mye enklere å bare sette at serverside koden din skal sleep i 0.5-1 sekunder. Seriøse besøkere vil nesten ikke merke forskjellen mens noen som prøver å angripe den vil fort oppdage problemer. Og om du er beskymret for minnebruk ved lagring av ip addresser i arrays er det lurt å konvertere ipene til heltall (ip2long) som tar mindre plass. Men om oppsettet ditt ikke takler ca 9 requests per sekund burde du vurdere caching, om det er relevant. Ingen dum ide. Hvis du heller setter forsinkelsen ved førstegangsbesøk (cookie er ikke satt), benytter ett timestamp i cookien, og setter forsinkelse hvis det er gått for kort tid siden forrige besøk, så vil ikke vanlige brukere få problemer. Du kan også ha økende forsinkelse ved for tette besøk. Lenke til kommentar
Dark Fire Skrevet 9. desember 2007 Del Skrevet 9. desember 2007 (endret) Hva med å lage et script som ikke tillater mer enn x antall forespørsler fra samme ip pr. sekund? Dette burde jo være en smal sak ved hjelp av f.eks. $_SESSION[]. DDoS -> forskjellige iper. Vanligste metoden er at en hacker mekker et php script som drar med seg alle zombiene sine (ofre av virus/sikkerhetshull) og angriper et spesifikt domene. Dette blir brukt verden over, og er hittil det mest effektive og mest brukte angrep blant script kiddies. Hva med å gjøre dette mye enklere å bare sette at serverside koden din skal sleep i 0.5-1 sekunder. Seriøse besøkere vil nesten ikke merke forskjellen mens noen som prøver å angripe den vil fort oppdage problemer. Og om du er beskymret for minnebruk ved lagring av ip addresser i arrays er det lurt å konvertere ipene til heltall (ip2long) som tar mindre plass. Men om oppsettet ditt ikke takler ca 9 requests per sekund burde du vurdere caching, om det er relevant. Smart. Hei forresten, MC2 #Xma Endret 9. desember 2007 av Mads15 Lenke til kommentar
Drømmemannen Skrevet 14. desember 2007 Del Skrevet 14. desember 2007 I en Linux-omgivelse burde det gå greit å lage et script som, hvis det kommer flere enn n requests på m sekunder, sperrer IPen ved hjelp av brannmuren i e.g. 10 minutter (kommandoer til iptables). Lignende hva fail2ban gjør med autentiseringsforsøk. Da slipper man lister med IP-adresser. Det går ikke utover vanlige brukere. Ved å invalidere session ved banning fyller man ikke opp minnet. Lenke til kommentar
Matsemann Skrevet 14. desember 2007 Del Skrevet 14. desember 2007 Nå sier de jo at angrepene kommer fra forskjellige IP-er samtidig, så vet ikke hvor god løsning det er. Det å sette sleep i koden duger jo heller ikke, da ingenting hindrer bot-ene i å åpne siden mange ganger. De venter jo ikke til siden er lastet før de gjør det på nytt. Lenke til kommentar
Drømmemannen Skrevet 14. desember 2007 Del Skrevet 14. desember 2007 Jeg vet ikke hvordan det foregår, men hvis det kommer én request per IP fra tusenvis av IPer så fungerer det klart ikke. Lenke til kommentar
Inc Skrevet 14. desember 2007 Del Skrevet 14. desember 2007 (endret) Skulle vært forbudt å tildele grønnskaller en maskin når det eneste de klarer er å lage helvete for resten av verden. Idioti blir verdens undergang. Endret 14. desember 2007 av regga Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå