Styra om trafiken med iptables

Från FriBID
Hoppa till: navigering, sök

Steg 1. Sätta upp iptables[redigera]

Detta verkar fungera om man kör BankID-klienten i en virtuell maskin t.ex. KVM. Kommandona gör att trafiken går till localhost så man kan sätta upp en server som lyssnar på port 443 (https) där.

iptables -t nat -A OUTPUT -d 194.242.109.0/24 -p tcp -m tcp -j DNAT --to-destination 127.0.0.1
iptables -t nat -A PREROUTING -d 194.242.109.0/24 -p tcp -m tcp -j DNAT --to-destination 192.168.122.1

194.242.109.207 är cavainternal.bankid.com, men även andra IP-adresser i subnätet 194.242.108.0/22 verkar användas av BankID

Om man har iptables-regler som blockerar inkommande trafik, så kan man behöva köra öppna upp port 443:

iptables -A INPUT -s 194.242.109.0/24 -d 127.0.0.1/32 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 194.242.109.0/24 -d 192.168.122.1/32 -p tcp -m tcp --dport 443 -j ACCEPT

Man kan ev. behöva köra kommandot nedan om man kör KVM (det ska egentligen inte behövas dock):

sudo ifconfig virbr0 up 192.168.122.1/24

Steg 2. Lokal server/proxy[redigera]

Man kan sätta upp en proxyserver och konfigurera den så att den loggar allt som skickas och tas emot (det väsentliga för BankID är POST-datan från requesten och response-data). Förslagsvis borde man kunna använda mitmproxy.

Vill man inte att det skickas någon info till BankIDs servrar så kan man istället använda openssl enligt följande (måste köras som root pga portnumret):

openssl s_server -accept 443 -cipher DES-CBC3-SHA -bugs -quiet | tee logdata.bin