[GELÖST] Verschlüsseln Ihrer Wapt-Passwörter

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
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.
Louisinger
Nachrichten: 27
Anmeldung: 26. Juni 2018 - 09:40 Uhr

18. Juli 2018 – 15:49 Uhr

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?
Zuletzt bearbeitet von louisinger am 20. Juli 2018 um 08:47 Uhr, 1 Mal bearbeitet.
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

18. Juli 2018 - 23:01 Uhr

louisinger schrieb: 18. Juli 2018 - 15:49 Uhr Müssen wir das Passwort im Code fest codieren, obwohl es in den Paketen vorhanden ist?
Ich verstehe nicht, haben Sie Ihr WAP-Serverpasswort und Ihr Passwort für den privaten Schlüssel in ein WAP-Paket gepackt?
Louisinger
Nachrichten: 27
Anmeldung: 26. Juni 2018 - 09:40 Uhr

19. Juli 2018 - 08:22 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.
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

19. Juli 2018 – 14:10 Uhr

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.
Das dürfen Sie auf keinen Fall tun. Wapt-Pakete sind für jeden lesbar.
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

19. Juli 2018 – 15:51 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:

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
Verstehst du mein Problem jetzt etwas besser? Entschuldige, falls es nicht klar war.
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

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.

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
- Bearbeiten Sie das Maschinenpaket.
- 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')
Benutzeravatar
vCardon
WAPT-Experte
Nachrichten: 278
Anmeldung: 06. Oktober 2017 - 22:55 Uhr
Ort: Nantes, Frankreich

19. Juli 2018 – 21:26 Uhr

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.
Simon, du hast perfekt geantwortet.

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
Louisinger
Nachrichten: 27
Anmeldung: 26. Juni 2018 - 09:40 Uhr

20. Juli 2018 - 08:16 Uhr

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.

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
- Bearbeiten Sie das Maschinenpaket.
- 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')
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.

@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.
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

20. Juli 2018 - 09:31 Uhr

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

20. Juli 2018 - 10:02 Uhr

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'])

Das Modul waptguihelper konnte nicht gefunden werden :/
Gesperrt