PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OPNSense Proxy und Android Client



mmmm
05.03.20, 15:34
Hallo liebe Community

Ich habe eine OPN Sense Firewall aufsetzt und nach dem Wiki eingerichtet. Auch den Proxy. Fall es jemanden interessiert:
https://wiki.opnsense.org/manual/how-tos/cachingproxy.html

Surfen funktioniert einwandfrei über den Proxy. Mein Problem ist android.

Zuerst hatte ich diese Logs:

Access Log:


2020-03-05T12:48:38.440000
172 192.168.2.11 TCP_MISS/204 239 GET http://connectivitycheck.android.com/generate_204 - ORIGINAL_DST/172.217.16.142 -

Genau diese Zeile ist es. Ich hatte extra alle Clients entfernt gehabt und nur das Handy auf den Proxy eingestellt gehabt.

Das MISS heißt das es ein Cache Problem gibt.

Daher habe ich auch den Cache Log:

2020-03-05T12:48:38 | SendEcho ERROR: sending to ICMPv6 packet to [2a00:1450:4001:808::200e]: (65) No route to host

Bei mir war OPNSense vor der Fritzbox mit IPv4 und IPv6 verbunden. Ich hatte daraufhin IPv6 auf beiden Geräten ausgeschaltet und nochmal versucht.

Mit dem Ergebnis, wenn ich Nochmal WLAN mit eingestelltem Proxy einschalte:
Access Log
2020-03-05T13:14:11.770000 34 192.168.2.11 TCP_MISS/204 239 GET http://connectivitycheck.android.com/generate_204 - ORIGINAL_DST/172.217.18.110 -
2020-03-05T13:14:11.100000 31 192.168.2.11 TCP_MISS/204 244 GET http://clients3.google.com/generate_204 - ORIGINAL_DST/172.217.22.110 -

So und jetzt habe ich vorher natürlich die Gegenprobe gemacht. Nämlich ein paar Sekunden vorher WLAN ohne Proxy eingeschaltet gehabt:

2020-03-05T13:14:04.020000 34 192.168.2.11 TCP_MISS/204 239 GET http://connectivitycheck.android.com/generate_204 - ORIGINAL_DST/172.217.18.110 -
2020-03-05T13:14:03.480000 124 192.168.2.11 TCP_MISS/204 244 GET http://clients3.google.com/generate_204 - ORIGINAL_DST/172.217.22.110 -

Mit ausnahme der ersten Zahl vorne (124 bzw 31) schaut alles gleich aus. In der Praxis ist der unterschied das unteres ohne eingestellten Proxy funktioniert. Oberer Log nicht.

Der Cache Log loggt jetzt nichts mehr seit dem IPv6 deaktiviert ist.

Cache selbst habe ich nach dieser Anleitung aktiviert:
https://wiki.opnsense.org/manual/how-tos/cachingproxy.html

wobei hier folgendes steht:

As the cache is not created by default you will need to stop and start the service under Services ‣ Diagnostics, this will ensure correct creation of the cache.

Den Punkt Services Diagnostics gibt es nicht mehr. Hier dürfte die Anleitung veraltet sein. Ich habe aber den Proxy selbst neu gestartet (unzählige male) und auch die ganze Firewall. Genau so wie die Netzwerkkarten (mußte ich um IPv6 erfolgreich zu deaktivieren)

Und ich habe die letzte Woche auch alle google und android Seiten durchforstet. Bei der wpad.dat PAC datei berücksichtige ich:

https://support.google.com/a/answer/2589954?hl=en
und die hier
https://support.google.com/chrome/a/answer/6334001?hl=de

Zertifikat ist ebenfalls auf das Handy geladen. Surfen geht am Handy über dem Proxy, genau so wie Whatsapp. vor allem aus whatsapp schliesse ich das die PAC datei (habe ich über die Weboberfläche erstellt) funktionieren dürfte.

Hier mein PAC File


/*
PAC file created via OPNsense
To use this file you have to enter its URL into your browsers network settings.
*/
function FindProxyForURL(url, host) {

var dstip = dnsResolve(host);


if (((shExpMatch(host, "(*.*.google.com|*.client-channel.google.com)")) || (shExpMatch(host, "(*.1e100.net|1e100.net)")) || (shExpMatch(host, "(*.22TEST.NET|22TEST.NET)")) || (shExpMatch(host, "(*.accuweather.com|accuweather.com)")) || (shExpMatch(host, "(*.ADITION.COM|A
DITION.COM)")) || (shExpMatch(host, "(*.adobe.com|adobe.com)")) || (shExpMatch(host, "(*.android.com|android.com)")) || (shExpMatch(host, "(*.APPLE.COM|APPLE.COM)")) || (shExpMatch(host, "(*.APPLINZI.COM|APPLINZI.COM)")) || (shExpMatch(host, "(*.APPNEXT.COM|APPNEXT.COM)"
)) || (shExpMatch(host, "(*.appspot.com|appspot.com)")) || (shExpMatch(host, "(*.avast.com|avast.com)")) || (shExpMatch(host, "(*.c.docs.google.com|*.*.docs.google.com)")) || (shExpMatch(host, "(*.clients.google.com|clients.google.com)")) || (shExpMatch(host, "(*.CMCM.COM|CMCM.COM)")) || (shExpMatch(host, "(*.crasHlytics.com|crashly
tics.com)")) || (shExpMatch(host, "(*.DIGICERT.COM|DIGICERT.COM)")) || (shExpMatch(host, "(*.FACEBOOK.NET|FACEBOOK.NET)")) || (shExpMatch(host, "(*.freevoipd
eal.com|freevoipdeal.com)")) || (shExpMatch(host, "(*.ggpht.com|ggpht.com)")) || (shExpMatch(host, "(*.GOOGLE-ANALYTICS.com|GOOGLE-ANALYTICS.com)")) || (shExpMatch(host, "(*.google.at2|google.at2)")) || (shExpMatch(host, "
(*.google.at|google.at)")) || (shExpMatch(host, "(*.google.com|google.com)")) || (shExpMatch(host, "(*.google.de|google.de)")) || (shExpMatch(host, "(*.googleapis.com|googleapis.com)")) || (shExpMatch(host, "(*.googledrive.com|googledrive.com)")) || (shExpMatch(host, "(*
.googlegroups.com|googlegroups.com)")) || (shExpMatch(host, "(*.GOOGLESYNDICATIO.com|GOOGLESYNDICATIO.com)")) || (shExpMatch(host, "(*.GOOGLESYNDICATION.COM|GOOGLESYNDICATION.COM)")) || (shExpMatch(host, "(*.GOOGLETAGMANAGER.com|GOOGLETAGMANAGER.com)")) || (shExpMatch(ho
st, "(*.GOOGLETAGSERVICES.com|GOOGLETAGSERVICES.com)")) || (shExpMatch(host, "(*.googleusercontent.com|googleercontent.com)")) || (shExpMatch(host, "(*.GOOGLEUSERCONTENT.COM|GOOGLEUSERCONTENT.COM)")) || (shExpMatch(host, "(*.googlevideo.com|googlevideo.com)")) || (shExpM
atch(host, "(*.gstatic.com3|gstatic.com3)")) || (shExpMatch(host, "(*.Gstatic.com|gstatic.com)")) || (shExpMatch(host, "(*.gvt1.com|gvt1.com)")) || (shExpMatch(host, "(*.ICLOUD.COM|ICLOUD.COM)")) || (shExpMatch(host, "(*.IMGUR.COM|IMGUR.COM)")) || (shExpMatch(host, "(*.K
SMOBILE.COM|KSMOBILE.COM)")) || (shExpMatch(host, "(*.MOBILEVOIP.COM|MOBILEVOIP.COM)")) || (shExpMatch(host, "(*.mozilla.com|mozilla.com)")) || (shExpMatch(host, "(*.mozilla.net|mozilla.net)")) || (shExpMatch(host, "(*.mozilla.org|mozilla.org)")) || (shExpMatch(host, "(*.MOZILLAMESSAGING.COM|MOZILLAMESSAGING.COM)")) || (
shExpMatch(host, "(*.MZSTATIC.COM|MZSTATIC.COM)")) || (shExpMatch(host, "(*.ONEDRIVE.COM|ONEDRIVE.COM)")) || (shExpMatch(host, "(*.opensuse.org|opensuse.org)")) || (shExpMatch(host, "(*.OPENSUSE.ORG|OPENSUSE.ORG)")) || (shExpMatch(host, "(*.origin.com|origin.com)")) || (
shExpMatch(host, "(*.popcap.com|popcap.com)")) || (shExpMatch(host, "(*.QQ.COM|QQ.COM)")) || (shExpMatch(host, "(*.samsung.com|samsung.com)")) || (shExpMatch(host, "(*.samsungapps.com|samsungapps.com)")) || (shExpMatch(host, "(*.samsungcloud.com|samsungcloud.com)")) || (
shExpMatch(host, "(*.samsungdm.com|samsungdm.com)")) || (shExpMatch(host, "(*.samsungknox.com|samsungknox.com)")) || (shExpMatch(host, "(*.samsungosp.com|samsungosp.com)")) || (shExpMatch(host, "(*.samsungotn.net|samsungotn.net)")) || (shExpMatch(host, "(*.sdkbox.com|sdk
box.com)")) || (shExpMatch(host, "(*.SKYPE.COM|SKYPE.COM)")) || (dnsDomainIs(host, "(*.THUNDERBIRD.NET|THUNDERBIRD.NET)")) || (shExpMatch(host, "(*.TWIMG.COM|TWIMG.COM)")) || (shExpMatch(host, "(*.TWITTER.COM|TWITTER.COM)")) || (shExpMatch(host, "(*.whatsapp.net|whatsapp.net)"
)) || (shExpMatch(host, "(*.WINDOWS.COM|WINDOWS.COM)")) || (shExpMatch(host, "(*.youtube.com|youtube.com)")) || (isInNet(dstip, "2.18.68.182", "255.255.255.255")) || (isInNet(dstip, "31.13.84.49", "255.255.255.255")) || (isInNet(dstip, "52.50.15.50", "255.255.255.255"))
|| (isInNet(dstip, "62.41.73.105", "255.255.255.255")) || (isInNet(dstip, "77.72.174.147", "255.255.255.255")) || (isInNet(dstip, "95.129.135.5", "255.255.255.255")) || (isInNet(dstip, "104.25.47.114", "255.255.255.255")) || (isInNet(dstip, "104.25.48.114", "255.255.255.
255")) || (isInNet(dstip, "104.25.159.15", "255.255.255.255")) || (isInNet(dstip, "104.25.192.102", "255.255.255.255")) || (isInNet(dstip, "169.47.42.198", "255.255.255.255")) || (shExpMatch(url, "ftp:")))) {
return "DIRECT";
}
if (((shExpMatch(host, "*.*")) || (shExpMatch(host, "*.*.*")))) {
return "PROXY 192.168.2.3:3128;PROXY 192.168.3.3:3128";
}

// If no rule exists - use a direct connection
return "PROXY 192.168.2.3:3128;PROXY 192.168.3.3:3128";


Bei Web Filtering habe ich keine Blacklist die ist deaktiviert. Bei der Weißen Liste habe ich obrige Domains in die Whitelist eingetragen. Laut der Beschriebung: https://docs.opnsense.org/manual/how-tos/proxywebfilter.html In "Unrestricted IP addresses" konnte ich sie nicht eintragen, da bekam ich einen Error.

Ja, und jetzt bin ich wieder irgendwie am Ende. Keine Ahnung warum ich mit googleplay keinen Internetkontakt habe. (youtube klappt nicht, aber chrome und maps klappt. Beim Wlan wird ein Rufzeichen angezeigt

Beim Proxy ist auch Clamav im Einsatz. ClamAV funktioniert soweit ich es erkenne. Die Updates werden gemacht und den Testvirus kann ich am PC weder auf https noch auf http herunterladen.

Weiß hier zufällig jemand noch irgend etwas das ich übersehen habe?

Vielen lieben Dank.

Martin

mmmm
09.03.20, 10:50
Hallo an die Runde

Ich bin etwas weiter gekommen.

Ich habe eine andere Firewall statt der opnsense für ein paar Minuten verwendet und mit der mitgeloggt.Zusätzlich zu den oben verlinkten urs kam ich noch drauf das unter anderem von Android auf diese zugegriffen wird:

googlevideo.com
microsoft.com
skype.com
ksmobile.com
die hatte ich ja schon in der pac datei eingetragen, sowohl nur die urls als auch mit *. davor.

Doch bei microsoft hatte er vor dem microsoft 3 mal einen punkt.
Da habe ich jetzt also *.*.*.microsoft.com und das ganze auch noch mit 2 mal einen * davor.

weiters wurde auf folgende Urls zugegriffen, die ich google zuordnen konnte und nicht im Netz fand und auch noch nicht in meiner PAC hatte:

ytimg.com
googleadservices.com
adjust.com
app-measurement.com

Die habe ich jetzt in die PAC und Whitelist eingetragen.

Das Ergebnis, mein altes Handy mit Android 4 kommt jetzt über den Proxy ohne Einschränkungen in das Internet.

Das neue Tablet meines Sohnes (mit dem ich das eigentlich mit der anderen Firewall getestet hatte), kann jetzt auf youtube, aber googleplay funktioniert dort noch immer nicht.

Daher werde ich weiter probieren und recherchieren müssen

Liebe Grüße

Martin

mmmm
09.03.20, 13:13
Ich habe nun nach den oberen Adressen im Internet gesucht und fand dabei diese Seite von google:

https://policies.google.com/technologies/types?hl=en-GB

admob.com
adsensecustomsearchads.com
adwords.com
doubleclick.net
googletagmanager.com
googletagservices.com
googletraveladservices.com
urchin.com

Und habe entsprechend diese Adressen in die PAC und whitelist aufgenommen. Es hat aber leider nichts gebracht. Auf dem neuen Android funktioniert nach wie vor das surfen und nach der Änderung vom Vormittag auch youtube über die app. (whatsapp und voip hat schon davor funktioniert). Google Play funktioniert aber noch nicht. Roblox habe ich nun ausprobiert. Auch Roblox bekommt leider keinen Kontakt.

mmmm
11.03.20, 14:57
Hallo liebe Runde

Ich habe heute in dem live view der Firewall folgende Zeile mehrmals gesehen:


LAN Mar 11 14:51:17 192.168.2.11:32839 fra16s07-in-f10.1e100.net:443 tcp Default deny rule

1e100.net steht in der wpad.dat Datei drinnen mit Direktem Zugang. (ich habe sie auch im ersten Beitrag oben gepostet)

Wie ist es möglich das ich bei der Adresse jetzt ein Default deny rule habe? Was habe ich hier vergessen umzustellen?

Vielen Dank für jeden Hinweis.

nopes
11.03.20, 17:57
Klingt jetzt erst mal normal, du schreibst ja selber, dass du einige Seiten Whitelistest, dann ist doch korrekt, dass alles andere verweigert wird. Cachen tut man heute besser nicht mehr, viele Dienste wollen das auch nicht, weil die zB Werbung einspielen wollen, da dort Geld dran hängt, ein weiterer Aspekt ist die Sicherheit, verschlüsstelten Verkehr cachen macht keinen Sinn, außer man fängt an die Verschlüsselung aufzubrechen, was ebenfalls keine Option sein sollte.

Warum machst du das/was willst du erreichen? [edit]Kind kontrollieren?

mmmm
12.03.20, 09:42
Klingt jetzt erst mal normal, du schreibst ja selber, dass du einige Seiten Whitelistest, dann ist doch korrekt, dass alles andere verweigert wird.

Danke für den Hinweis, werde ich mir ansehen.

Zur allgemeinen Frage. Ja, im Prinzip. Nicht direkt das Kontrollieren der Kinder. Das Surfverhalten ist mir relativ egal, ich vertraue hier meinen Kindern. Das Risiko das ich sehe ist eher das sie unbeachtet eine Seite anklicken mit einem Virus. Sie haben nicht die Erfahrung die ich habe. Und da ich am PC System auch Geschäftsdaten gespeichert habe, ist mir deren Sicherheit schon wichtig. Im Moment habe ich es so gemacht, das die PCs auch verschlüßelt nur über den Proxy gehen. Das funktioniert einwandfrei. Den Proxy kann man aber übergehen (diese Sperrung habe ich nicht gemacht), weil eben die Handys noch nicht funktionieren. Möchte aber dennoch probieren wie es mit den Handys über den Proxy funktioniert.