Seite 1 von 2

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

Veröffentlicht: 18. Juli 2018 – 15:49 Uhr
von Louisinger
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?

Betreff: Verschlüsselung Ihrer Wapt-Passwörter

Veröffentlicht: 18. Juli 2018 - 23:01 Uhr
von Sfonteneau
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?

Betreff: Verschlüsselung Ihrer Wapt-Passwörter

Veröffentlicht: 19. Juli 2018 - 08:22 Uhr
von Louisinger
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.

Betreff: Verschlüsselung Ihrer Wapt-Passwörter

Veröffentlicht: 19. Juli 2018 – 14:10 Uhr
von Sfonteneau
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!

Betreff: Verschlüsselung Ihrer Wapt-Passwörter

Veröffentlicht: 19. Juli 2018 – 15:51 Uhr
von Louisinger
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.

Betreff: Verschlüsselung Ihrer Wapt-Passwörter

Veröffentlicht: 19. Juli 2018 – 16:34 Uhr
von Sfonteneau
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')

Betreff: Verschlüsselung Ihrer Wapt-Passwörter

Veröffentlicht: 19. Juli 2018 - 21:26 Uhr
von vcardon
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

Betreff: Verschlüsselung Ihrer Wapt-Passwörter

Veröffentlicht: 20. Juli 2018 - 08:16 Uhr
von Louisinger
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.

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

Veröffentlicht: 20. Juli 2018 - 09:31 Uhr
von Sfonteneau
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'])


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

Veröffentlicht: 20. Juli 2018 - 10:02 Uhr
von Louisinger
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 :/