Client-Hook oder Server-Hook? Wou en OpenVPN-Skript leeft
E Skriptpad an enger Serverkonfiguratioun ass e Pad um Server. Wielt den Hook no der Maschinn, déi d’Aarbecht muss maachen, a stoppt dovun ze erwaarden, datt e Push Code op engem Laptop ausféiert.
D’Aufgab ass kloer: wann e Laptop sech verbënnt, soll sech eppes um Laptop änneren. D’Konfiguratioun, déi éditéiert gëtt, gehéiert zum Server, an do brécht d’Annam. E Pad an enger Serverdatei bezeechent eng Datei op deem Server, a keng Quantitéit Push ännert, wéien Prozess se ausféiert. D’Wiel tëscht den zwou Hooks ass haaptsächlech eng Decisioun, wéi eng Maschinn d’Aarbecht besëtzt, an d’Akzeptanz vun de Grenzen, déi doraus folgen.
Zwou Maschinnen, zwou Froen, déi als éischt ze beäntweren sinn
Frot, wou d’Zoustandserännerung soll geschéien, a frot dann, wéi en Event deem entsprécht. Wann d’Ännerung eng Autorisatioun pro Benotzer oder eng Konfiguratiounsentscheedung pro Client ass, gehéiert se dohinner, wou den Benotzerverzeechnes bekannt ass: de Server. Wann d’Ännerung eng Route ass, eng Resolver-Astelllung oder en lokalen Hëllefsprogramm op engem Endpunkt, gehéiert se op den Endpunkt, a just den Endpunkt kann se maachen.
Dës zwou Froen an der ëmgekéierter Reihenfolg ze beäntweren ass de Wee, wéi d’Leit dozou kommen, eng Batchdatei op e Windows-Laptop ze pushen. De Server weess, wien sech verbonnen huet; de Laptop weess, wéi säin eegene Netzwierkstap ausgesäit. Keen huet d’Informatioun vum aneren, an den Versuch schléit meeschtens stëll fehl anstatt mat engem kloeren Feeler.
Virun deenen zwou ass eng drëtt Fro derwäert: bitt d’Plattform iwwerhaapt de Hook, deen Dir wëllt? Eng Apparatur, déi hir Konfiguratioun selwer generéiert, bitt vläicht net déi selwecht Eventnummen, an en Desktop-Client, deen eng .ovpn-Datei importéiert, ass net onbedéngt dee selwechte Client, fir deen d’Datei geschriwwe gouf. D’Plattform als éischt ze bestätegen erspuert Iech, ëm en Hook ronderëm ze designen, deen et do net gëtt. Et seet Iech och, wéi eng Dokumentatioun wierklech fir d’Maschinn virun Iech gëllt.
D’Optioun op der Serversäit: een Event pro Verbindung
E client-connect-Skript leeft am Prozesskontext vum Server, wann en authentifizéierte Client sech verbënnt, an et kritt dokumentéiert Verbindungsdetailer wéi de common name an déi zougewisen Adress. Et ass déi richteg Plaz, fir e Konfiguratiounsfragment pro Client ze schreiwen, eng Politikentscheedung duerchzesetzen oder en Zoustand ze notéieren, deen de Server besëtzt.
Den Ënnerscheed, deen d’Leit verpassen, ass den Ënnerscheed tëscht deem Hook an engem Server-up-Hook. Den Up-Hook gëtt ausgeléist, wann de Server säin Tunnelapparat opmécht, wat op engem Server mat méi Clienten eemol beim Daemonstart geschitt. Et ass keen Event pro Login, a Code, deen do steet, leeft beim Start vum Service an net, wann d’Benotzer sech verbannen.
Op enger Apparatur mat Webinterface benotzt Dir deën ënnerstëtzten Erweiderungsmechanismus, anstatt déi generéiert Daemonsdateien ze editieren. Generéiert Dateie ginn beim nächsten Späicheren nei geschriwwen, an d’Neischreiwen entfernt Är Ännerung stëll am schlëmmsten Ament. Halt eng Kopie vum Erweiderungstext baussent der Apparatur, sou datt e Firmware-Update net och d’Absicht verléiert.
D’Optioun op der Clientsäit: Aarbecht, déi lokal muss lafen
E Gemeinschaftsclient kann e lokale Skript lafe loossen, wann den Tunnelapparat eropkënnt, an nach eng Kéier, wann d’Routen installéiert ginn. Dat sinn zwee verschidde Momenter, an déi falsch ze wielen erzeugt déi klassesch Course, an där en Hëllefsprogramm start, ier d’Route existéiert, vun där et ofhänkt.
Den Hëllefsprogramm muss op deem Client existéieren, fir de Kont, deen de Client lafe léisst, liesbar an ausféierbar sinn, an duerch eng explizit script-security-Astellung erlaabt sinn. E Skript, dat funktionéiert, wann Dir de Client als Administrateur start, seet Iech näischt iwwer e Service virum Login oder iwwer d’Sitzung vun engem anere Benotzer.
D’Numme spillell och eng Roll. Den Up-Hook entsprécht der Erstellung vum Apparat an route-up der Installatioun vun de Routen, awer eng Aufgab, déi en erreechbaart private Netzwierk brauch, soll d’Erreechbarkeet iwwerpréiwen, amplaz unzehuelen, datt d’Erstellung vum Apparat bedeit, datt all Route, Resolver-Antrag an Uwendung prett sinn.
Firwat d’Pushe vun ausféierbarem Code net um Menü steet
Gepushte Optioune sinn bewosst limitéiert, an Optiounen, déi Skripte ausféieren, gehéieren zu de Kategorien, déi de Server net däerf erofginn. Dës Aschränkung existéiert, well d’Alternativ engem kompromittéierten oder falsch konfiguréierte Server erlaabt hätt, op all Client, deen sech jeemools verbënnt, arbiträr Kommandoen auszeféieren.
D’Ausféierung vu Skripte lokal anzeschalten ännert dat net. Är script-security-Astellung erlaabt lokal Skripten, déi Dir ausgewielt hutt; se autoriséiert de Server net, nei ze liwweren.
Wann d’Zil just ass, VPN-Routen z’installéieren, benotzt déi ënnerstëtzt Routenkonfiguratioun, amplaz e Schema fir Fernausféierung ze erfinden. Wann d’Zil wierklech lokale Code erfuerdert, verdeelt en iwwer d’Endpunkt-Management-Werkzeuge vun der Organisatioun a revidéiert en wéi all aner Software, déi mat de Rechter vum Benotzer leeft.
Wat ze iwwerpréiwen, ier Dir engem vun den zwee Hooke vertraut
Schreift véier Saachen fir all Hook op: d’Maschinn, den Eventnumm, de Kont, ënner deem en leeft, an d’Zoustandserännerung, déi en erzéie soll. Test dann d’Verbindung, eng Reverbindung an de Wee fir d’Propretéit, well en Hook, deen bei der Reverbindung Zoustand verléiert, ass schléchter wéi een, deen ni gelaf ass.
Test ënner deem Kont, deen en tatsächlech ausféiert, an deem Moment, wou en tatsächlech ausgefouert gëtt. Den Handbuch openvpn(8) dokumentéiert béid Hook-Familljen an d’Push-Aschränkungen; d’Plattform, op där Dir deployéiert, dokumentéiert, ob se se iwwerhaapt ubitt. E Skript, dat an engem interaktiven Administrateurterminal geléngt, ass eng Hypothees, keng Iwwerpréiwung.