onsdag 8. mars 2006 • 9 kommentarer

I jakten på båndbreddetjuver, spammere og annet pakk benytter jeg noen svært enkle teknikker for å finne ut hvordan jeg skal bli kvitt uønskede gjester, uten at jeg skal stoppe reelle besøkende eller søkemotorer.
Målet er svært enkelt: å forhindre uønskede kommentarer med reklame for ymse slibrige online-tjenester (casino, poker, etc.), samtidig som de samme spammerne ikke skal stjele båndbredde i forsøket på å legge igjen de omtalte kommentarene.
I tillegg ønsker jeg å stanse såkalte referer-spammere, det vil si spammere som forfalsker sin referer-informasjon (det vil si hvilket nettsted den besøkende kom fra) som legges igjen i webtjenerens loggfiler. Håpet til denne typen spammere er at loggene er fritt tilgjengelig for blant annet søkemotorer, slik at de får bedre rangering hos disse.
Først og fremst benytter jeg et ordfilter for å filtrere ut alle uønskede ord som skitne spammere måtte legge igjen i webloggen. Listen er imidlertid den siste forsvarslinjen, og bør brukes som et supplement til utestengelsen. (Se avsnittet “Utestengelse” lenger ned i artikkelen.)
Ordfilteret jeg benytter er en del av standardfunksjonaliteten i WordPress, og kan beskues på spam-siden min.
Jeg er flittig leser av loggene fra webtjeneren min, for flere formål. Ett av målene er å se hvilke agenter som besøker meg, hvor ofte de er innom og ikke minst hvor mye båndbredde de bruker. Det hender rett som det er at jeg finner uidentifiserte agenter i loggen, hvor båndbreddebruken er svært høy. Her gjør jeg en manuell vurdering av hvorvidt agenten skal få videre tilgang, eller hvorvidt den skal utestenges. I noen få tilfeller har jeg kontaktet agentens eier for ytterligere informasjon om agentens funksjon og hensikt.
Sporing av en agent gjøres mot en IP-adresse og er svært enkelt, enten du benytter for eksempel Linux eller Windows. Du starter et kommandovindu / konsoll og skriver henholdsvis:
for Linux, og:
for Windows.
I kommandovinduet vil du se enten IP-adressen eller vertsnavnet dersom reverse lookup er tilgjengelig. Basert på denne informasjonen kan du gjøre deg opp en viss mening om hvorvidt agenten bør utestenges eller ikke, for eksempel dersom agenten besøker deg via en åpen proxy-tjener.
På en Apache webtjener stenger du ute uønskede besøkende med .htaccess. Hensikten er todelt. For det første sperrer du selvfølgelig ute eventuelle spammere som måtte legge igjen skitne meldinger der de kan komme til. For det andre blir de forhindret i å stjele kostbar båndbredde fra domenet ditt, ved at du sperrer de ute før de i det hele tatt slipper inn. Som en bonus får spammerne ikke lagt igjen sin referer-informasjon i webtjenerens loggfiler.
Vil du gå litt mer sofistikert til verks finnes det en fil som heter “robots.txt“. Med “robots.txt” kan du gi instruksjoner til agenter som besøker ditt domene, for eksempel til hva som skal indekseres av søkemotorroboter, etc. Det er verdt å merke seg at useriøse agenter ikke hensyntar “robots.txt”.
Har du andre tips som er nyttige i denne sammenheng? Legg igjen en kommentar!
Det er mulig å forfalske informasjon du mottar, som for eksempel agentnavnet. Du bør derfor se all tilgjengelig informasjon under ett når du vurderer utestengelse!
Trackbackspam er et annet problem som jeg fant en effektiv løsning på.
Johan: Jeg bruker ikke Akismet fordi jeg selv ønsker kontroll over hva som filtreres ut, fremfor å overlate filtreringen til et system jeg ikke kontrollerer.
Lasse: Løsningen din ser veldig smart ut. Har du sett tilsvarende tillegg for WordPress? Forutsetningen er at jeg kan administrere det selv. I dag unngår jeg trackbackspam ettersom jeg sperrer adresser med .htaccess, noe som både gir meg redusert tyveri av båndbredde i tillegg til fraværende trackbackspam.
Jeg har ikke sett noe tillegg til WordPress noen gang, ei heller denne gangen
Jeg har satt opp dette selv, og det administreres ganske enkelt: TBs som ikke følger mine kriterier kommer på en liste hvor jeg har mulighet til å slette eller godkjenne. Det har kommet en god del hundre på denne listen, men ingen falske positive ennå.
I tillegg har jeg i administrasjonsmodulen min en mulighet til å liste og evt slatte de siste automatisk godkjente trackbacks, slik at jeg følger med om noen lærer seg å lure systemet mitt.
Johan: Nemlig! Poenget er at jeg selv vil ha den fulle og hele kontrollen over filtreringen, fremfor å sette det bort til et system jeg ikke selv kan kontrollere og administrere. Jeg tviler ikke på at det fungerer, jeg er bare litt kontrollfrik.
Lasse: Slik jeg har lest meg frem til ditt system modererer du trackbacks som ikke sendes fra det samme nettet det tilbaketråkkes til. Dette systemet høres unektelig snedig ut, selv om jeg aldri har undersøkt avsenderadressen for trackback opp mot selve adressen for trackbacket.
Allikevel vil jeg tro at .htaccess gjør samme nytten, selv om jeg ikke får utført noen validering av trackbacket, men kun sperrer de rått og brutalt ute. Noen kommentar til den ene metoden kontra den andre?
Med RSS kan du abonnere på nye kommentarer som postes til denne artikkelen.
Du kan legge igjen et trackback fra ditt eget nettsted ved å benytte trackback-adressen til denne artikkelen. Eventuelle tracback ser du under.
Enda flere artikler? Besøk arkivet.
Bekkelund.net er en blogg av Martin Bekkelund, hvor han lufter sine tanker om IT og IT-politikk. Martin arbeider til daglig som seniorrådgiver, foredragsholder og skribent i IT-bransjen, hvor han veileder bedrifter og organisasjoner i strategisk bruk av IT. Les mer...
© 1995-2012 Martin Bekkelund
Opphavsrett • RSS • Kontakt
Bza
9. mars 2006 0.03
Min webhost har installert en tilleggsmodul til Apache kalt mod_security som har effektivt satt en stopper for spam og uønskede kommentarer. Dette er en modul som sjekker referenten opp mot et kjent mønster og register av diverse variabler. Modulen returnerer enn “500 internal server error” til de som blir gjenkjent som “slemme” og dermed slipper jeg belastning på båndbredden.