Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Kompletten Traffic durch Proxy leiten (Linux)

Mitglied: emiliamiller

emiliamiller (Level 1) - Jetzt verbinden

21.09.2019 um 01:49 Uhr, 654 Aufrufe, 4 Kommentare, 2 Danke

Hallo zusammen, bin neu hier und würde mich freuen wenn mir jemand unter die Arme greifen kann

Folgendes Problem:

Wir haben folgende Konstellation im Betrieb die lokalen Windowsrechner müssen nicht über einen Proxy heraus da Sie sich mit der AD authentifizieren.
Alle anderen Geräte kommen nur über einen Proxy mit Autentizierung heraus sofern sie nicht in der AD aufgenommen sind.

Die Proxy-Daten sehen in etwa so aus:

Proxy: proxy.firmenname.de
Port: 8080
AD-Username: bla
AD-Password: blupp

Unter Windows scheint dies nicht allzuschwer zu sein, unter Linux und darauf wird das Projekt letzten Endes aufbauen dagegen schon.

Ich habe heute gediegene 6 Stunden vor diesem Problem gesessen und gefühlt die Daten in x-verschiedenen Dateien hinterlegt, sei es /etc/environment
/etc/apt.conf, die bash.bashrc oder halt .profile bzw. direkt in der GUI des Network-Managers unter Ubuntu 19.04.


Und immer noch gibt es das ein oder andere Programm was sich nicht nicht daran hält, sei es auch nur docker das wieder die Details in einer anderen Datei
haben möchte.
Als ich heute versucht habe LineageOS unter Ubuntu 19.04 spaßeshalber zu kompilieren habe ich schnell bemerkt was für eine
Clusterf.... das sein kann, weil integrale Teile eben nicht auf einen zentralen Ort zugreifen in dem die Proxydaten hinterlegt sind, oder ich hab ihn noch nicht gefunden.


Erschwerend dazu kommt, das mein Abschlussprojekt die gleichen Probleme haben wird.

Ich möchte eine lokale Installation des Suse Manager Server auf einen eigens dafür abgestellten HP-Server mit genug Ressourcen installieren, der wiederum andere
Suse sowie Redhat-Clients (vermutlich virtualisiert unter Hyper-V im gleichen Subnetz) mit Updates versorgt.
Logischerweise dürfte es sich dort ähnlich verhalten und somit habe ich schon meinen alten Raspberry Pi 2 ausgegraben den ich im Zweifel als "Mittelsmann" dazwischenschalten würde.

Also folgendermaßen [Suma-Server ]---- kompletter Traffic --> [ Raspberry Pi 2 ] (Proxydaten hinterlegt + ETH0 eingebaut & ETH1 per Gbit-USB) --> [ INTERNET ]
Mir ist klar das der Raspberry Pi im Normalfall ein bottleneck ist aber da der Testserver sowieso an einen Switch mit 100Mbit hängt, ist es zu vernachlässigen.

Im Zweifel kann ich die URL's die für den Suma-Server benötigt werden freischalten lassen bzw. eintragen lassen das die genannten URL's für die im Suma-Server angebene IP
ohne Authentifizierung durchgelassen werden, das sollte aber nur im absoluten Notfall geschehen sollte sich keine andere Lösung finden.


Hoffe das ist nicht allzuschwer zu realisieren da mir die Zeit davon läuft und google in diesem Fall echt keine Hilfe ist.
Wenn das lokal auf der Linux-Kiste (SLES Manager) über IPTables zu realisieren ist umso besser, aber selbst die Registriereung der Test-Subscription während der Installation könnte dann vermutlich schon Probleme bereiten.


Für jede Art der Hilfe wäre ich zutiefst dankbar, da solche Probleme das an sich bereits sehr komplexe Projekt verkomplizieren...
Mitglied: emiliamiller
21.09.2019 um 10:41 Uhr
Klasse das du mich das googlen gelehrt hast

Manchmal Frage ich mich warum Menschen die nichts zur Problemlösung beizutragen haben sich überhaupt die Mühe machen,
so ein unnötigen Post abzugeben.

Aber analysieren wir das ganze mal.

Die ersten Beiträge bei google beschäftigen sich mit dem setzen der Proxyvariablen über sowas wie /etc/environment, das taugt aber nix
hab ich schon durch.

Der Rest beschäftigt sich mit transparent-proxies (Squid z.B) ohne Authenfizierung was ja logisch ist, den ein transparent proxy ist nur deshalb transparent weil er keine Authentifizierung erfordert.

Steht selbst die Leute bei Squid schreiben:
http://www.squid-cache.org/Versions/v2/2.7/cfgman/auth_param.html


Ich will die Lösung echt nicht auf dem silbertablett geliefert bekommen aber ein lmgtfy ist irgendwie ein wenig altbacken.
Trotzdem danke für deine Mühen.
Bitte warten ..
Mitglied: ASP.NET.Core
21.09.2019, aktualisiert um 11:53 Uhr
Zitat von emiliamiller:
Unter Windows scheint dies nicht allzuschwer zu sein, unter Linux und darauf wird das Projekt letzten Endes aufbauen dagegen schon.

Hi,

das kann ich nicht bestätigen. Im Betrieb in dem ich arbeite sind Windows und Linux-Clients vorhanden, die beide nur über einen Proxy (Squid) ins Internet kommen. Bei Windows hast du die IE Proxy-Konfiguration. Die wird von einigen Programmen genutzt, wenn diese entweder das .NET Browser Control (baut auf dem IE auf) verwenden oder bei ihren Anfragen den IE-Proxy auslesen und entsprechend setzen (in .NET z.B. WebClient, HttpWebRequest, etc).

Dann gibt es noch (wie unter Linux auch) die Umgebungsariablen HTTP_PROXY und HTTPS_PROXY. Gegebenenfalls ist auch NO_PROXY wichtig, um bestimmte interne URLs vom Proxy auszuschließen. Hast du die gesetzt? Sowohl unter Windows als auch Linux werden diese Variablen von den meisten Programmen berücksichtigt, wenn man sie global setzt (z.B. in der bashrc unter Linux, oder den Benutzer-Systemvariablen von Windows).

Einziger Unterschied ist, dass Linux auch die jeweils klein geschriebenen Varianten (http_proxy, https_proxy, no_proxy) berücksichtigt und einige wenige Applikationen nur damit funktionieren. Das ist ein wenig Tricky, daher würde ich immer beide setzen. Aber sonst nehmen sich Win und Linux da nicht viel: Es kommt schlicht auf die Anwendung an, ob die Umgebungsvariablen bzw. bei Win auch noch der IE-Proxy genutzt werden. Durchaus gibt es noch Applikationen, die nichts davon unterstützen. Manche machen es sich einfach und benutzen nur ihre eigene Proxy-Konfiguration.

Dazu gibt es noch so Programme wie Visual Studio Code, die einfach nicht sauber funktionieren wollen. Beispielsweise hat da das Installieren von Plugins durch unseren Proxy nie funktioniert, an anderen Stellen wurde der Proxy aber genutzt. Obwohl ich den Proxy da in den VS Code eigenen Einstellungen gesetzt hatte. Das ist dann schlichtweg schlampige Entwicklung, das kann dich je nach Anwendung durchaus auch treffen. Müsste es bei VS Code mal wieder testen, der letzte Versuch war irgendwann Anfang des Jahres.

Docker nutzt die HTTP(S)_PROXY Variable auch nicht. Das hat aber weniger mit Schlamperei als viel mehr mit der Struktur zutun: Technisch ist das eine Client-Server Anwendung, bestehend aus dem Daemon und CLI-Client. Wenn du den Proxy setzt, kann deine Docker CLI darauf zugreifen. Aber bei einem docker pull nginx lädt eben nicht der Client dieses Image herunter, sondern leitet das an den Server weiter. Dieser läuft als Dienst, daher musst du hier den Proxy entweder im Server-Dienst (Systemd) oder der JSON Konfigurationsdatei hinterlegen.

Letztendlich sollte dir aber klar sein: So ganz trivial ist es im Alltag nicht, den kompletten Traffic durch einen Proxy zu leiten. Vor allem dann, wenn dieser Proxy den Datenverkehr noch aufbricht (MITM). Spätestens bei TLS bringt so was immer wieder Probleme. Es reicht schon wenn Programme mit Checksummen arbeiten (was ja prinzipiell auch sinnvoll ist, sowohl hinsichtlich Sicherheiet als auch irgendwelchen Transportfehlern, die zu korrupten Daten führen). Sobald das der Fall ist, kannst du nicht nur überall den Proxy hinterlegen, sondern auch gleich euer Zertifikat.

Und dann wirst du immer noch Ausnahmefälle haben, wo das eben nicht funktioniert/vorgesehen ist. Als schneller Workaround hilft dann bestenfalls das komplette Deaktivieren der Zertifikatsverifizierung. Gibt auch Kollegen, die sich den Stress gar nicht erst machen und das pauschal erst mal abschalten. Ist natürlich sicherheitstechnisch ein Fiasko und macht die Transportverschlüsselung auch erheblich zunichte, wenn aufgrund des eigenen MITM Zertifikatsfehler als Normal angesehen werden und keiner mehr darüber nachdenkt. Wenn es bei dir ohnehin schon eng wird, würde ich zumindest von so MITM-Geschichten nach Möglichkeit die Finger lassen.

Lokale Repos/Mirrors

Ein anderer Ansatz wäre, dass du lokale Repositorys aufbaust, die so was wie Pakete oder Images cachen. Das kommt beispielsweise bei Docker in Frage, den Linux-Paketmanagern oder auch NPM, NuGet & co. Am Beispiel von Docker hast du einen Server, der Docker-Images aus dem Netz laden darf. Alle anderen Clients gehen nicht direkt ins Internet, sondern greifen auf diesen Mirror-Server zu. Der kann sich häufig genutzte Images (z.B. Nginx, Apache etc) im Cache vorhalten. Wenn also 5 Leute das Image laden, wird es nur 1x aus dem Internet gezogen.

Die Adresse von dem Server muss natürlich in NO_PROXY wieder bedacht werden, wenn du für andere Programme die Proxy-Variablen dennoch setzt. Aber das hat bei größeren Umgebungen bzw. schlechten Internet-Leitungen den Performance-Vorteil und für dich als Admin hast du damit die Möglichkeit, Docker-Images einigermaßen zu kontrollieren. Das fängt bei Lizenz-Scans an und hört bei Schwachstellen-Prüfungen auf. So toll Docker auch ist, muss man immer bedenken: Wenn der Author ein neues Image pusht, kann das in eurer Umgebung mit Root-Rechten laufen.

Ist keine direkte Lösung für dein Problem und gerade wenn es zeitlich eng wird auch nicht unbedingt sinnvoll sofort umzusetzen. Aber je nachdem wie eure Umgebung so aussieht, ob du da nach dem Projekt auch weiter arbeiten wirst, wäre das für später eine Überlegung wert.
Bitte warten ..
Mitglied: emiliamiller
21.09.2019 um 14:53 Uhr
Danke immerhin das du dir die Mühe gemacht hast das so umfangreich zu erläutern
Bin gerade unterwegs und muss mir das nachher in Ruhe durchlesen.

Mit Docker habe ich zuerst herumexperimentiert und dabei recht schnell bemerkt wie aufwändig die Umsetzung in dieser
Umgebung war.
Mal funktionierte das eine dafür dann das andere nicht, wollte zuerst was mit Docker bzw. genauer mit RHEL Satellite machen und habe
danach auf Suse Manager umgeschwenkt, weil dort die Lernkurve steiler ist bzw. der Umfang nicht so groß wie bei ersterem

Verstehe nun übrigens auch warum gerade der Traffic der über den Proxy läuft (also ohne direkt mit Windows AD zu authentifizieren) kein
MITM betreibt und die Zertifikate dort auch denen der tatsächlichen Seite entsprechen.

Muss das mal mit der Abteilung durchkauen wie ich das am besten mache, weil so ist die Installation schon PITA geschweige den die spätere Konfiguration und einbinden der Subscriptions.
Hätte das ganze vermutlich daheim schon zwei mal umgesetzt wenn ich mich ständig mit dem Proxy herumplagen müsste, eventuell eine Option sollten da keine Ausnahmen gemacht werden können.

Es muss doch irgendwie möglich sein das hinzukriegen, eine Distribution wie Tails macht ja auch nichts andere als den gesamten Traffic durchzuleiten, kann ja nicht sein das die Authentifizierung das alles zu nichte macht.
Ist echt zum Haare raufen, wie viel Zeit ich alleine dafür verbracht habe (Wochen) nach irgendeiner Lösung zu suchen daran herumzuarbeiten, da beschäftigt man sich am Ende mehr damit um den Proxy herumzuarbeiten als um das eigentliche Thema der Projektarbeit.


Hatte was von Privoxy gelesen, aber bei gefühlten 100 Tabs die ich für die Recherche schon offen habe, geht das mittlerweile schon unter.
Nochmals danke das du dir die Zeit genommen hast, auch wenn es letztlich keine wirkliche Lösung zu dem Problem ist.

VG & ein schönes Wochenende
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Traffic über Socks5 Proxy Tunneling
Frage von DrGamyEntwicklung1 Kommentar

Hallo an alle :) Zunächst geht es darum den gesamten Traffic über einen Socks(5) Proxy weiter zu leiten: Ich ...

Windows 10

Lokaler Proxy der den Traffic durch VPN leitet?

Frage von ehnoahWindows 101 Kommentar

Grüße euch, da ich IPv6 habe ist es mit meiner Konsole grauenvoll zu spielen. Daher meine Frage: Kann ich ...

Firewall

Linux Proxy für Browser und Terminal (Global?)

Frage von matze2090Firewall1 Kommentar

Hallo, ich habe auf der Arbeit als Firewall und Router IPFire laufen. Als Client nutze ich Windows 10 und ...

E-Mail

Mailarchivierung unter Linux mit transparentem SMTP Proxy

Frage von StefanKittelE-Mail4 Kommentare

Hallo, ich bin auf der Suche nach einer einfachen Lösung zur Email-Archivierung unter Linux. Der Kunde hat einen Root-Server ...

Neue Wissensbeiträge
Windows Netzwerk

Ereignis-ID 20226 RasClient Ursachencode 829 VPN Verbindung wird abgebrochen

Anleitung von Hardstyles vor 5 TagenWindows Netzwerk

Hallo zusammen, nach Stundenlanger Analysen und test konnten wir den Fehler Lösen. es geht um folgende Fehler Meldung in ...

Windows 10

Windows 10 Version 1903: Update KB4522015 blockt VMware Workstation

Information von kgborn vor 9 TagenWindows 10

Nur eine kurze Information für Leute, die schon Windows 10 Version 1903 in Betrieb haben und dort VMware Workstation ...

VB for Applications

Fritzbox Telefonbuch - XML-Importdatei aus Excel erstellen

Tipp von PeterleB vor 9 TagenVB for Applications1 Kommentar

Das Thema geistert schon seit Jahren durch verschiedene Foren. Habe mich jetzt mal damit etwas intensiver befasst und hoffe, ...

Administrator.de Feedback
Entwicklertagebuch: Editor Version 6
Information von admtech vor 11 TagenAdministrator.de Feedback1 Kommentar

Hallo Administrator User, in der letzten Post habe ich über die berichtet. Hier will ich nun einen ersten Ausblick ...

Heiß diskutierte Inhalte
Windows Server
Dateioperationen bei Stromausfall
gelöst Frage von mkrausseWindows Server47 Kommentare

Ein wunderschönen guten Morgen! Ich hoffe das Thema wurde nicht schon Dutzendmal behandelt, aber eine Suche meinerseits hat leider ...

LAN, WAN, Wireless
Hausnetzwerk mit Routern
Frage von perhaps-labs.comLAN, WAN, Wireless19 Kommentare

Hallo an Alle, ich habe ein Riesenhaus erworben und möchte nun überall ein Netzwerk dafür installieren. Das Haus hat ...

Debian
Linux VM nach umzug langsam
Frage von bofh110Debian18 Kommentare

Hallo, ich habe meinen Server von 2012R2 auf 2019 neu installiert. Also erst die VM´s exportiert und anschließend nach ...

Batch & Shell
pdf - Dateien aus Netzwerkordner in bestimmter Reihenfolge ausdrucken
Frage von dani75chBatch & Shell17 Kommentare

Hallo zusammen Wir bekommen von einem Kunden dreimal täglich Lieferscheine und dazugehörende Listen und Barcodes in einen Netzwerkordner übermittelt. ...