Hallo,
in einem meiner Skripte lade ich ein Paket auf den Server hoch. Diese Funktion benötigt zwei Passwörter (Administratorpasswort und Passwort für den privaten Schlüssel). Müssen wir das Passwort im Code fest codieren, da es ja im Paket enthalten ist?
[GELÖST] Verschlüsseln Ihrer Wapt-Passwörter
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
-
Louisinger
- Nachrichten: 27
- Anmeldung: 26. Juni 2018 - 09:40 Uhr
Zuletzt bearbeitet von louisinger am 20. Juli 2018 um 08:47 Uhr, 1 Mal bearbeitet.
- Sfonteneau
- WAPT-Experte
- Nachrichten: 2322
- Registriert: 10. Juli 2014 - 23:52 Uhr
- Kontakt:
Ich verstehe nicht, haben Sie Ihr WAP-Serverpasswort und Ihr Passwort für den privaten Schlüssel in ein WAP-Paket gepackt?louisinger schrieb: ↑18. Juli 2018 - 15:49 Uhr Müssen wir das Passwort im Code fest codieren, obwohl es in den Paketen vorhanden ist?
-
Louisinger
- Nachrichten: 27
- Anmeldung: 26. Juni 2018 - 09:40 Uhr
In einem Paket namens `dispatch`, das die automatische Installation von GROUP-Paketen ermöglicht,
führe ich nach der Bearbeitung meines Host-Pakets einen Build-Upload im Skript durch. Deshalb landete mein Passwort in einem Paket.
führe ich nach der Bearbeitung meines Host-Pakets einen Build-Upload im Skript durch. Deshalb landete mein Passwort in einem Paket.
- Sfonteneau
- WAPT-Experte
- Nachrichten: 2322
- Registriert: 10. Juli 2014 - 23:52 Uhr
- Kontakt:
Das dürfen Sie auf keinen Fall tun. Wapt-Pakete sind für jeden lesbar.louisinger schrieb: ↑19. Juli 2018 - 8:22 Uhr In einem Paket namens „dispatch“, das die automatische Installation von Gruppenpaketen ermöglicht.
Daher führe ich nach der Bearbeitung meines Host-Pakets einen Build-Upload im Skript durch. Aus diesem Grund landete mein Passwort in einem Paket.
Sensible Informationen sollten nur dann in einem Paket enthalten sein, wenn sie verschlüsselt sind
Beispielpaket: https://wapt.lesfourmisduweb.org/detail ... 4_all.wapt
Wenn Sie wapt-Pakete mithilfe eines Skripts (einer Crontab) auf einem Rechner erstellen möchten:
viewtopic.php?f=9&t=1341
Ansonsten, falls ich Ihr Vorhaben richtig verstanden habe, rate ich Ihnen, Folgendes zu lesen:
https://www.wapt.fr/fr/doc/CreationPaqu ... quets-wapt
Dadurch wird kein Maschinenpaket erstellt, aber es funktioniert sehr gut.
Eine weitere Möglichkeit:
https://blog.lesfourmisduweb.org/gestio ... e-package/
Kurz gesagt: Erklären Sie uns, was Sie tun möchten, und wir werden Ihnen eine Lösung anbieten.
Aber ganz klar: Bewahren Sie Ihr WAP-Passwort nicht in einem Datenpaket auf!
-
Louisinger
- Nachrichten: 27
- Anmeldung: 26. Juni 2018 - 09:40 Uhr
Ich stimme zu, dass das Speichern des Passworts in einem Skript innerhalb eines Pakets kontraproduktiv ist. Lassen Sie mich das erklären:
Ich wollte meine Benutzergruppen anhand ihres Hostnamens erstellen. Daher habe ich meine Gruppenpakete erstellt und das entsprechende Skript programmiert. Abhängig vom Hostnamen des Clients installiert das Paket `mnt-dispatch` das entsprechende Gruppenpaket. Anfangs verwendete ich `Wapt.install(group_name)`, was jedoch ein Problem verursachte: Das Paket wurde zwar auf dem Rechner installiert, aber nicht als Abhängigkeit erkannt! Deshalb wollte ich `Wapt.install()` durch `Wapt.edit_host()` und `Wapt.build_upload()` ersetzen, da `edit_host()` mir im Gegensatz zu `install()` ermöglicht, eine Abhängigkeit zum Host-Paket hinzuzufügen.
Hier ist der Code für die setup.py-Datei des mnt-dispatch-Pakets:
Verstehst du mein Problem jetzt etwas besser? Entschuldige, falls es nicht klar war.
Ich wollte meine Benutzergruppen anhand ihres Hostnamens erstellen. Daher habe ich meine Gruppenpakete erstellt und das entsprechende Skript programmiert. Abhängig vom Hostnamen des Clients installiert das Paket `mnt-dispatch` das entsprechende Gruppenpaket. Anfangs verwendete ich `Wapt.install(group_name)`, was jedoch ein Problem verursachte: Das Paket wurde zwar auf dem Rechner installiert, aber nicht als Abhängigkeit erkannt! Deshalb wollte ich `Wapt.install()` durch `Wapt.edit_host()` und `Wapt.build_upload()` ersetzen, da `edit_host()` mir im Gegensatz zu `install()` ermöglicht, eine Abhängigkeit zum Host-Paket hinzuzufügen.
Hier ist der Code für die setup.py-Datei des mnt-dispatch-Pakets:
Code: Alle auswählen
def install():
print('Start dispatching')
myWapt = Wapt(config_filename = makepath('c:', programfiles32, 'wapt', 'wapt-get.ini'))
print("write into ini file")
inifile_writestring(WAPT.config_filename, 'global', 'personal_certificate_path', '\\\\**************\c$\private\********.crt')
print("get hostname and computername")
computer_name = environ['COMPUTERNAME']
print('computer name = %s'%computer_name)
host_name = myWapt.host_packagename()
print('host name = %s'%host_name)
pathToTempDirectory = r'C:\Temp\%s'%computer_name
if isdir(pathToTempDirectory):
print('remove temp tree : ' + pathToTempDirectory)
remove_tree(pathToTempDirectory)
print('site name :')
site_name = computer_name[0:4]
print("site name is : %s" %site_name)
group_name = alias_groupe.get(switcher.get(site_name, 0), 'hors-lot')
print("group name is : %s"%group_name)
myWapt.edit_host(host_name, target_directory = "C:\Temp\%s"%computer_name, append_depends = group_name)
myWapt.build_upload(r'C:\Temp\%s'%(computer_name), private_key_passwd = '***', wapt_server_user = 'admin', wapt_server_passwd = '***')
return 0- Sfonteneau
- WAPT-Experte
- Nachrichten: 2322
- Registriert: 10. Juli 2014 - 23:52 Uhr
- Kontakt:
In diesem Fall müssen Sie ein separates Python-Skript erstellen, das als geplante Aufgabe ausgeführt wird.
Packen Sie es nicht ein. Andernfalls sind wir gezwungen, die Passwörter in das Paket aufzunehmen.
Skriptalgorithmus:
- Datenbankscan
- Analysieren Sie für jeden Artikel den Lagerbestand, um festzustellen, welche Abhängigkeiten hinzugefügt werden müssen.
- Bearbeiten Sie das Maschinenpaket.
- Abhängigkeiten hinzufügen
- Laden Sie das Maschinenpaket hoch.
Packen Sie es nicht ein. Andernfalls sind wir gezwungen, die Passwörter in das Paket aufzunehmen.
Skriptalgorithmus:
- Datenbankscan
- Analysieren Sie für jeden Artikel den Lagerbestand, um festzustellen, welche Abhängigkeiten hinzugefügt werden müssen.
Code: Alle auswählen
data = json.loads(wgets('https://%s:%s@%s/api/v1/hosts?columns=host_certificate&limit=10000' % (user,password,urlserver)))
for value in data['result']:
blabalba
- Abhängigkeiten hinzufügen
- Laden Sie das Maschinenpaket hoch.
Code: Alle auswählen
myWapt = Wapt(config_filename=makepath(r'C:\Users\Administrateur\AppData\Local\waptconsole\waptconsole.ini'))
tmpdir = 'c:/dummy'
myWapt.edit_host(machine,target_directory=tmpdir,append_depends='tis-firefox')
myWapt.build_upload(r'c:\waptdev\test',private_key_passwd=ur'passwordkey',wapt_server_user='admin',wapt_server_passwd=ur'passwordserver')
- vCardon
- WAPT-Experte
- Nachrichten: 278
- Anmeldung: 06. Oktober 2017 - 22:55 Uhr
- Ort: Nantes, Frankreich
Simon, du hast perfekt geantwortet.louisinger schrieb: ↑19. Juli 2018 - 8:22 Uhr In einem Paket namens „dispatch“, das die automatische Installation von Gruppenpaketen ermöglicht.
Daher führe ich nach der Bearbeitung meines Host-Pakets einen Build-Upload im Skript durch. Aus diesem Grund landete mein Passwort in einem Paket.
Ich füge eine weitere Sicherheitsebene hinzu, um sicherzustellen, dass diejenigen, die WAPT verwenden, ihre Passwörter NIEMALS in ein Paket packen, weder in der Community- noch in der Enterprise-Version.
Im Sicherheitsmodell von WAPT sind Pakete tatsächlich kein sensibles Gut im Sinne der Cybersicherheit.
Wenn Sie Ihr Schlüsselpasswort und Ihr Serverpasswort in Ihr Paket einbetten und dieses Paket von einer unbefugten und böswilligen Instanz abgefangen wird, dann übernimmt diese die Kontrolle über Ihr Netzwerk.
Eine nachträgliche Prüfung durch einen Sicherheitsauditor wird zweifelsfrei beweisen, dass Ihre Signatur zur Verbreitung der Schadsoftware verwendet wurde, und es wird Ihnen sehr schwerfallen zu beweisen, dass Sie den Schaden nicht absichtlich verursacht haben. Die WAPT-Dokumentation ist in diesem Punkt eindeutig und unmissverständlich.
Im besten Fall müssen Sie sich lediglich einen neuen Job suchen, der durch Ihren neuen Ruf belastet ist; andernfalls müssen Sie einen guten Anwalt aufsuchen, wenn Ihr Fehler einen Unfall mit irreparablen materiellen, finanziellen oder menschlichen Folgen verursacht hat.
Ein Wort an die Weisen.
Vincent
Vincent CARDON
Tranquil IT
Tranquil IT
-
Louisinger
- Nachrichten: 27
- Anmeldung: 26. Juni 2018 - 09:40 Uhr
Es wird also ein Skript! Das Problem bleibt jedoch bestehen: Mein Passwort ist fest im Code hinterlegt. Ich denke, ich werde den Benutzer zu Beginn des Skripts nach beiden Passwörtern fragen.sfonteneau schrieb: ↑19. Juli 2018 - 16:34 Uhr In diesem Fall müssen Sie ein separates Python-Skript erstellen, das als geplante Aufgabe ausgeführt wird.
Packen Sie es nicht ein. Andernfalls sind wir gezwungen, die Passwörter in das Paket aufzunehmen.
Skriptalgorithmus:
- Datenbankscan
- Analysieren Sie für jeden Artikel den Lagerbestand, um festzustellen, welche Abhängigkeiten hinzugefügt werden müssen.
- Bearbeiten Sie das Maschinenpaket.Code: Alle auswählen
data = json.loads(wgets('https://%s:%s@%s/api/v1/hosts?columns=host_certificate&limit=10000' % (user,password,urlserver))) for value in data['result']: blabalba
- Abhängigkeiten hinzufügen
- Laden Sie das Maschinenpaket hoch.
Code: Alle auswählen
myWapt = Wapt(config_filename=makepath(r'C:\Users\Administrateur\AppData\Local\waptconsole\waptconsole.ini')) tmpdir = 'c:/dummy' myWapt.edit_host(machine,target_directory=tmpdir,append_depends='tis-firefox') myWapt.build_upload(r'c:\waptdev\test',private_key_passwd=ur'passwordkey',wapt_server_user='admin',wapt_server_passwd=ur'passwordserver')
@vcardon Mir ist das Risiko bewusst, ein Passwort fest in ein Datenpaket einzubetten. Deshalb habe ich nach einer Alternative gefragt, aber danke für Ihren Hinweis.
- Sfonteneau
- WAPT-Experte
- Nachrichten: 2322
- Registriert: 10. Juli 2014 - 23:52 Uhr
- Kontakt:
Zur Info
Code: Alle auswählen
import waptguihelper
urlserver = inifile_readstring(makepath(install_location('WAPT_is1'),'wapt-get.ini'),'global','wapt_server')
mycrt = inifile_readstring(makepath(user_local_appdata(),'waptconsole','waptconsole.ini'),'global','personal_certificate_path')
passwordkey = waptguihelper.key_password_dialog('Password for private key',mycrt, '')
credentials_url = waptguihelper.login_password_dialog('Credentials for wapt server',urlserver,'admin','')
print(passwordkey['keypassword'])
print(credentials_url['user'])
print(credentials_url['password'])
-
Louisinger
- Nachrichten: 27
- Anmeldung: 26. Juni 2018 - 09:40 Uhr
Das Modul waptguihelper konnte nicht gefunden werden :/Sfonteneau schrieb: Zur Info
Code: Alle auswählen
import waptguihelper urlserver = inifile_readstring(makepath(install_location('WAPT_is1'),'wapt-get.ini'),'global','wapt_server') mycrt = inifile_readstring(makepath(user_local_appdata(),'waptconsole','waptconsole.ini'),'global','personal_certificate_path') passwordkey = waptguihelper.key_password_dialog('Password for private key',mycrt, '') credentials_url = waptguihelper.login_password_dialog('Credentials for wapt server',urlserver,'admin','') print(passwordkey['keypassword']) print(credentials_url['user']) print(credentials_url['password'])
