Apache2 mod_log_forensic

Er du også træt af at hackere roder rundt på dit webhotel? Nåh ikke … nå men jeg har altså et par kunder der koder cirka ligeså godt som smeden laver konfekture … og det har været lidt en udfordring at finde ud af hvordan hackerne kommer ind når man ikke kender koden. I den situation er det rart at kunne genskabe de requests en angriber laver … og der kommer mod_log_forensic ind i billedet, det er et modul til Apache der logger hele requesten.

Rediger /etc/apache2/sites-enabled/000-default og sæt flg. ind i VirtualHost blokken:

og ret:

til:

Afslut med:

Tast nu serverens ip i din browser og refresh et par gange, og tjek så din accesslog:

Her ser du din almindelige log-linie, med med et forensics id tilføjet. Første del af forensics id’et (11709) er process-id på den apache process der har serviceret klienten. Forensics id kan bruges til at slå op i forensics loggen med:

Har har du både post og get variabler, http headers, coockies, url … ja generelt alt hvad du skal bruge for at kunne genskabe requesten.

Lige pt. anvender jeg det bare som beskrevet her, men jeg har overvejet at koble noget automatik på der automatisk detekterer og logger hackerangreb.

Tripwire

Her er en quick’n’dørty guide til at få Tripwire op at køre og monitorere et websites webdir … sådan just-in-case du forventer at få ubudne gæster, så er det rart at vide hvad de har pillet i :-)

Først installeres softwaren:

Under install skal du indtaste (oprette) password til den krypterede database.

Så redigerer du tw.pol og kører

efterfulgt af

Begge gange bliver du bedt taste din kode.

Du kan efterfølgende, for at teste, køre

Der skulle også være sat et cronjob op til at køre den én gang om dagen.

Her er et eksempel på en config fil:

 

Sådan bygger du en ny kerne på Debian og Ubuntu Linux

Ja det er faktisk ret simpelt men jeg havde selv brug for at få det opfrisket da jeg rendte ind i et USB netkort som havde den mest bizare fejl jeg nogensinde er rendt på … netkortet døde når jeg loggede ind på maskinen via ssh på det ramte netkort, og f.eks. cat’ede en logfil.

Jeg talte med nogle forskellige folk og vi kom frem til at det nok var smart at prøve den nyeste kerne og se om ikke problemet var løst, der var et par bugs i driveren som var blevet rettet men som Debian ikke havde fulgt op på.

Ideen er at vi ender med en .deb pakke som vi efterfølgende kan installere på flere maskiner, start med at hente linux kernen:

Der skal bruges lidt pakker til arbejdet:

Pak tarballen ud og hent config fra dit nuværende system, dette bevirker at alle compile-indstillinger som debian folkene har valgt at køre med automatisk overføres til din kommende build:

Derefter køres config processen:

Jeg ændrede ikke noget, jeg gemte blot config som den var … jeg er ikke klar over om det ændrede noget, men umiddelbart vil jeg forvente at evt. nye parametre vil blive tilføjet i den process om nødvendigt, og hvis du har behov for at slå noget til/fra giver det jo sig selv :-)

Selve build processen kører i ét snuptag (-j 2, skal ændres til antallet af kerner på det system der kompillerer kernen):

Revisionen bestemmer du selv, og er primært til internt brug. Så hvis du f.eks. bygger en kerne til alle dine webservere kunne du kalde den 1.0-web og så rulle versionsnummeret hvergang du bygger en ny kerne.

Lav en kop kaffe, se et afsnit af Dr. who eller hvad du nu har lyst til for det tager lidt tid, når den er færdig har du to .deb filer som du kan installere:

Reboot og nu skulle din nye kerne gerne boote automatisk.

Godnat, og sov godt :-)

DSB / Securitas siger “IT Sikkerheden er i orden”

Den første automat-reaktion på sådan en udtalelse ér og bør altid være “BULLSHIT!” – sådan en sætning kan ikke stå alene den bør altid efterfølges af en eller anden form for “Fordi …”-sætning.

Det gør den skam også i det her tilfælde, problemet er bare, at argumentet er “Fordi TDC Siger det” og det de blandt andet siger er, at den telefon vagterne er udstyret med kun bruges til at tage billeder af passagernes ID med og, at det efterfølgende opbevares på én central server som kún DSB og det Svenske Politi får adgang til.

For de af jer der ikke helt er med vil jeg lige tillade mig, at opsummere, den Svenske stat har indført  ID Kontrol ved grænsen til Danmark, de politiske og samfundsmæssige omstændigheder herved behandler jeg ikke i dette indlæg, det betyder også, at blandt andet DSB har fået pålagt transportør ansvar – hvilket er en mekanisme der gør, at et transport selskab der flyver / kører / sejler en person til et andet lands grænse også er forpligtet til, at transportere denne person tilbage hvis personen bliver afvist ved grænsen.

Det er blandt andet den mekanisme der gør, at flygtningene ikke bare tager et fly til Danmark, men begiver sig ud på, at krydse middelhavet i hjemmelavede både og andet skidt.

DSB Håndterer sagen ved at kontrollere folk inden de får lov at stige på toget, dette har de ansat Securitas til, og en af de to har så valgt at TDC skal lave et system så de kan affotografere folks ID så de senere kan bevise. at de faktisk har tjekket personen.

Problemerne er at hverken TDC eller DSB har nogen sønderlig god track-record ifht. IT og da slet ikke IT Sikkerhed, når de pointerer at, der er styr på tingene fordi data er krypteret så demonstrere de samtidig en enorm uvidenhed mht. IT Sikkerhed, derudover beder de os stole på, at de siger sandheden når de påstår, at telefonerne ikke bruges til andet end og at, billederne ikke opbevares på telefonen.

Det jeg vil vide før jeg er tilfreds ér:

  1. Hvilken uafhængig trediepart har bekræftet, at det foregår som de påstår? At billederne kun er på telefonen i kort tid og at telefonen ikke bruges til andet?
  2. Hvad har de gjort for at sikre sig at fremmede magter ikke har bagdøre i den telefon og den server/serversoftware de benytter?
  3. Hvad er de præcise procedurer for at nogen får adgang til data? Og hvem kontrollerer at disse procedurer bliver overholdt?

Jeg kender, med rimelig stor sandsynlighed svarene: 1: ingen, 2: intet, 3: “Hvad mener du?”, Ingen!

Og dét er dét der bekymrer mig!

Mén når det så er sagt, så er sikkerheden formodentligt ligeså god som resten af det offentlige og dine personlige data er i lige god hænder hos TDC som de er hos CSC, og det Svenske politi har efter min bedste vurdering (*host*hackersagen*host*) en væsentlig bedre forståelse for IT Sikkerhed end den danske.

Så bør du være harm og fornærmet over det her tiltag og den mangel på respekt der udvises, ja gu bør du det!

Bør det afholde dig fra at rejse med DSB til Sverige … nej, du bliver i forvejen registreret i hoved og røv af en flok inkompetente mennesker der hverken respekterer dig eller dine rettigheder.

Velkommen til Danmark anno 2016 …

Pound Loadbalancer Quick Reference

I just stumbled upon this thing at a clients setup … so im in the process of learning this.

Status of the Load Balancer:

To disable 192.168.1.21 :

To enable:

 

How to load SSH Keys from FAT32 / Bypass permission requirement in SSH

Mounted FAT devices in UNIX System does not support permissions, hence SSH gives this warning:

First you should take a second to think about the reason for this warning, once you did that you can bypass it like this:

Have fun kids! 😉

SSH Keys på en USB Stick (OsX)

Jeg har strikket to små shellscripts sammen der kan hhv. loade og unloade mine ssh nøgler fra en USB Stick på min OSX Maskine.

load_ssh_private.sh:

unload_ssh_private.sh:

Filerne skal ligge i samme mappe som din id_rsa fil og du skal chmod +x’e begge filer, derudover skal du vælge at åbne dem med programmet “Terminal” og hvis du ønsker at scriptet skal lukke terminal vinduet efter det er udført skal du sætte det op i indstillingerne for terminal programmet.

Hvis din USB Stick kører Fat32 (evt. fordi du også bruger den på Windows eller Linux) se her: http://www.specialhosting.dk/how-to-load-ssh-keys-from-fat32-bypass-permission-requirement-in-ssh/

Nagiosmodule for HAProxy Health monitoring

This is just a quick hack, and it could certainly be better. I.E. it could get the list af active backends automaticly, and this assumes that you only have one websites with these backends in.

I plan a projekt where im going to upgrade til Icinga … and if i do that i might rewrite all my homemade plugins and publish them on Github, but for now this is it:

I ran it though NRPE and i had to give my NRPE user access to “/var/run/haproxy/admin.sock”.

Monitoring HaProxy

This is a work in progress, i have been given the task to monitor a haproxy load balancer, and i plan to collect some of my best tricks here.

Hatop

hatopThis is a cool ncurses library that will give you an overview over which backends are considered “up” and which are down. You also have some different ways of interacting with haproxy, for an instance you can put a backend into maintenance mode.

First add the following to you “global” block in haproxy.cfg:

And then:

And finally:

Log files:

By default all the log-lines are stashed away in the same file, which means that up- and down messages ends up in the middle of a lot of POST and GET requests, so i made a few changes to syslog:

And then i can monitor /var/log/haproxy-extra.log for all but the POST and GET requests, i realise that an error mssage containing either “POST” or “GET” will be lost, but so far i havent discovered any false-negatives.

Nagios

Im not quite done here yet, i found this module, and gotten it to work:

I had to comment out “use warnings;” in the perl file (line 19) and install some modules:

But i havent done any long time testing yet … im going to though :-)

Brightness / backlight på din bærbare

Jeg er blevet rigtigt glad for i3wm, og er begyndt at bruge det som min primære workstation. Dog rendte jeg idag i et problem jeg ikke havde prøvet før … af en eller anden årsag havde min bærbare skruet helt ned for brightness og jeg kunne næsten ikke se hvad jeg lavede.

Der var dog en super simpel fix:

 

Vi mangler et smart slogan ;-)