Hallo,
zu dem von mir angesprochenen Problem, dass es für einen Knoten im
Freifunknetz möglich ist, mit HNA Routen den gesamten Netz-Traffic über
sich zu leiten, habe ich mal ein Script geschrieben, das das verhindert.
Das Script überprüft die Routen, die in der olsr Rutentabelle sind, ob
sie sich in dem erlaubten Bereich befinden. wenn sie das nicht sind,
werden Pakete von dem Gateway, wo die Routen herkommen für eine Stunde
gedropped. Da OLSR dann keine Verbindung mehr bekommt, schmeißt es die
Routen raus.
Nach einer Stunde darf der Node dann wieder, so dass
Konfigurationsfehler einen nicht für immer aus dem Netz schmeißen.
Ich werde das Script mal eine Weile bei mir testen, man muss es nur in
die crontab tun.
Außerdem konnte ich mich so mal an lua versuchen :-)
Sven
On 24.03.2015 08:58, [email protected] wrote:
Hi ihrs,
das größte Problem ist die Informationsverbreitung zum Thema Schutz. Es wird
immer gesagt, dass die Leute verschlüsseln sollen, in unsicheren Netzwerken VPN
nutzen sollen und dies und das. Jedoch finden sich nur schwer HowTos oder
Leitfäden, besonders auf den Freifunkseiten, wie ich das ganze mache. Man
sollte da anfangen.
In Ansbach wurde anscheinend der VPN-Server gehackt, womit wir nicht viel zu
tun haben, da wir ja den Berliner Server nutzen. Und zu Bedenken an unserer
Infrastruktur hatte Sven sich schon geäußert.
So vile von mir dazu.
Carsten
--- Ursprüngliche Nachricht ---
Von: Ulrich Kalloch <[email protected]>
Datum: 23.03.2015 22:53:59
An: [email protected]
Betreff: Re: [FFP] HACK Freifunk Ansbach wir sollten da mal drüber sprechen
Hallo Bernd,
ich denke nicht an die betrachtung von user seite oder in richtung
unserer prediger mich eingeschlossen.
ich denke in richtung unserer infrastrucktur, und ob da unbedachte punkte
ein trisstes dasein fristen.
sonntag ist denke ich ein guter tag zum treffen :-)
mfg
On 23.03.2015 22:30, Bernd Nemetz wrote:
Hallo Ulli,
On 23.03.2015, at 20:51, Ulrich Kalloch <[email protected]> wrote:
https://freifunk-ansbach.de/freifunk-ansbach-mesh-gehackt-und-observiert/
ich denke wir können da eine menge draus lernen
wie denkt ihr darüber ?
ganz einfach, das ist das was wir schon immer predigen [1] und jedem
Nutzer mit auf dem Weg geben.
Verschlüsseln!!!
Das Freifunknetz ist wie hinter Deinem DSL, dort kann jeder mitlesen
und Daten abschnorcheln. Also verstehe ich diese Panik nicht so richtig.
Auch verstehe ich den Hinweis nicht, das der fall der Störerhaftung das Problem
beseitigen würde. Das Problem besteht dann immer noch, da jeder per WLAN
die Daten abgreifen kann.
mfg
Ulli
Gruß Bernd
[1]
http://wiki.freifunk-potsdam.de/Freifunk-FAQ#Wie_steht_es_um_die_Sicherheit_meiner_Daten.3F
p.s. sorry fürs falsche posten ...
_______________________________________________
Users mailing list
[email protected]
https://lists.freifunk-potsdam.de/listinfo/users
_______________________________________________
Users mailing list
[email protected]
https://lists.freifunk-potsdam.de/listinfo/users
_______________________________________________
Users mailing list
[email protected]
https://lists.freifunk-potsdam.de/listinfo/users
_______________________________________________
Users mailing list
[email protected]
https://lists.freifunk-potsdam.de/listinfo/users
#!/usr/bin/lua
rtables = {"olsr"}
allowed_nets = {"<=10.22.0.0/16", "<=6.0.0.0/8", "=0.0.0.0/0", "<=192.168.22.0/24"}
bantable = "BANNED"
bantime = 3600
require("luci.ip")
function strsplit(inputstr, sep)
if sep == nil then
sep = "%s"
end
local t={} ; i=1
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
t[i] = str
i = i + 1
end
return t
end
function banip (ip)
if ip then
tfile = io.open("/proc/net/xt_recent/"..bantable,"w")
tfile:write("+"..ip)
tfile:close()
end
end
function checknet (op,ip,net)
if op == "=" or op == "" then
return ip == net
elseif op == "<" then
return net:contains(ip)
elseif op == ">" then
return checknet("<",net,ip)
elseif op == "<=" then
return (checknet("<",ip,net) or checknet("=",ip,net))
elseif op == ">=" then
return (checknet(">",ip,net) or checknet("=",ip,net))
end
end
function checknets (ip)
ip = luci.ip.IPv4(ip)
for i,net in ipairs(allowed_nets) do
local op,net = net:match("^([<>=]*)(%d+%.%d+%.%d+%.%d+/%d+)$")
net = luci.ip.IPv4(net)
if checknet(op,ip,net) then
return true
end
end
return false
end
tfile = io.open("/proc/net/xt_recent/"..bantable,"r")
if tfile then
tfile:close()
else
io.popen("iptables -I INPUT -m recent --rcheck --seconds "..bantime.." --name "..bantable.." --rsource -j DROP")
end
routes = {}
for i,t in ipairs(rtables) do
p=io.popen("ip route show table "..t)
for line in p:lines() do
local list = {}
for w in string.gmatch(line,"[^%s]+") do
table.insert(list,w)
end
if list[2] == "via" then
table.insert(routes,{net = list[1], gw = list[3]})
end
end
end
for i,r in ipairs(routes) do
if not checknets(r.net) then
print(r.net.." not in allowed nets, banning "..r.gw)
banip(r.gw)
end
end
_______________________________________________
Users mailing list
[email protected]
https://lists.freifunk-potsdam.de/listinfo/users