Script Memeriksa Account Zimbra Yang Menggunakan Username Sebagai Password bertujuan untuk meng-audit user-user Zimbra yang menggunakan username nya sebagai password.
Contoh seperti ini :
Saya mempunyai email rioprayoga@ilmuzimbra.com dan passwordnya rioprayoga.
Script ini sangat membantu agar seorang admin Zimbra dapat mengetahui dan merekomendasikan ke user yang bersangkutan agar merubah password yang tidak mudah ditebak.
Script dibuat oleh Imam Omar Mochtar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
""" Author : Imam Omar Mochtar Date : Sen Jun 6 13:56:06 WIB 2016 Func : Memeriksa akun yang menggunakan username sebagai password """ import socket import sys from com.zimbra.cs.account import Provisioning from javax.naming import Context, AuthenticationException from java.util import Hashtable from javax.naming.directory import InitialDirContext,SearchControls def checkLdap(conf): """ Mendapatkan ldap context """ settings = Hashtable() settings.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory") settings.put(Context.PROVIDER_URL, conf['url']) settings.put(Context.SECURITY_PRINCIPAL, conf['bind_dn']) settings.put(Context.SECURITY_CREDENTIALS, conf['bind_pass']) return InitialDirContext(settings) basedn = 'ou=people,%s'%(sys.argv[1]) url = "ldap://%s:389"%(socket.gethostname()) prov = Provisioning.getInstance() for ac in prov.getAllAccounts(None): if ac.isSystemAccount or ac.getAccountStatus().toString() != 'active': continue name = ac.getName() if name.find('@') != -1: name = name.split('@')[0] dn = 'uid=%s,%s'%(name, basedn) try: ldp = checkLdap({'url': url, 'bind_dn': dn,'bind_pass': name}) except AuthenticationException: continue print ac.getMail() |
Download script lalu letakkan pada directory /tmp pada server.
Untuk menjalankan script tersebut menggunakan command berikut. Script dijalankan menggunakan user zimbra.
1 |
zmpython checkUserPassword.py dc=ilmuzimbra,dc=om |
Script akan meng-infokan output user-user mana saja yang password nya menggunakan username-nya sendiri.
Bagi Kamu Yang Ingin Mendapatkan Penawaran Incident Support atau Local Support Untuk Perusahaan/Institusi Kamu Saat Ini. Silahkan klik dibawah ini dan tuliskan pesan di layanan chat yang tersedia