Zabezpečení Domino HTTP pomocí Let’s Encrypt ssl certifikátu

Posted by Petr Santrucek on November 18th, 2016 | Category:

S plánovanou změnou u mobilních klientů IBM Verse pro IBM Notes Traveler po 1.1.2017 vyvstává nutnost zabezpečit Domino HTTP server pomocí důvěryhodného certifikátu.
http://petrkunc.net/lotus-notes/zabezpecte-si-traveler-server/

Ukážeme si postup, v našem případě jde o Domino instalované na CentOS 6.x.

Nejprve musíme připravit prostředí - nainstalovat Python 2.7

yum install epel-release
rpm -ivh https://rhel6.iuscommunity.org/ius-release.rpm
yum --enablerepo=ius install git python27 python27-devel python27-pip python27-setuptools python27-virtualenv -y



Úspěšná instalace bude mít tento výstup:
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
 Installing : python27-libs-2.7.12-1.ius.el6.x86_64                                                                       1/6
 Installing : python27-2.7.12-1.ius.el6.x86_64                                                                            2/6
 Installing : python27-setuptools-27.3.1-1.ius.el6.noarch                                                                 3/6
 Installing : python27-devel-2.7.12-1.ius.el6.x86_64                                                                      4/6
 Installing : python27-virtualenv-15.0.3-1.ius.el6.noarch                                                                 5/6
 Installing : python27-pip-8.1.2-1.ius.el6.noarch                                                                         6/6
 Verifying  : python27-2.7.12-1.ius.el6.x86_64                                                                            1/6
 Verifying  : python27-virtualenv-15.0.3-1.ius.el6.noarch                                                                 2/6
 Verifying  : python27-pip-8.1.2-1.ius.el6.noarch                                                                         3/6
 Verifying  : python27-setuptools-27.3.1-1.ius.el6.noarch                                                                 4/6
 Verifying  : python27-libs-2.7.12-1.ius.el6.x86_64                                                                       5/6
 Verifying  : python27-devel-2.7.12-1.ius.el6.x86_64                                                                      6/6

Installed:
 python27.x86_64 0:2.7.12-1.ius.el6                             python27-devel.x86_64 0:2.7.12-1.ius.el6
 python27-pip.noarch 0:8.1.2-1.ius.el6                          python27-setuptools.noarch 0:27.3.1-1.ius.el6
 python27-virtualenv.noarch 0:15.0.3-1.ius.el6

Dependency Installed:
 python27-libs.x86_64 0:2.7.12-1.ius.el6




Nyní je třeba instalovat Lets encrypt
yum install git
yum install epel-release
cd /root/
git clone https://github.com/letsencrypt/letsencrypt



Výstup bude takovýto:
Initialized empty Git repository in /root/letsencrypt/.git/
remote: Counting objects: 41893, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 41893 (delta 43), reused 0 (delta 0), pack-reused 41807
Receiving objects: 100% (41893/41893), 11.81 MiB | 5.49 MiB/s, done.
Resolving deltas: 100% (29850/29850), done.



Nyní je možno zavolat generování prostředí pro Lets encrypt:
cd letsencrypt
./letsencrypt-auto



Výstup zde:
Creating virtual environment...
Installing Python packages...
Installation succeeded.
Version: 1.1-20080819
Certbot doesn't know how to automatically configure the web server on this system. However, it can still get a certificate for you. Please run "letsencrypt-auto certonly" to do so. You'll need to manually configure your web server to use the resulting certificate.



Nyní je možno zavolat samotné generování certifikátu.
Image:Zabezpečení Domino HTTP pomocí Let’s Encrypt ssl certifikátu

Pokud vše proběhne v pořádku, uvidíte podobný výpis.
Image:Zabezpečení Domino HTTP pomocí Let’s Encrypt ssl certifikátu
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/www.mojezaloha.cz/fullchain.pem. Your cert
   will expire on 2017-02-16. To obtain a new or tweaked version of
   this certificate in the future, simply run letsencrypt-auto again.
   To non-interactively renew *all* of your certificates, run
   "letsencrypt-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le


Pak je třeba provést generování nového souboru KeyRing.kyr a naimportovat do něj certifikáty.

C:\SSL>copy /b privkey1.pem+cert1.pem server.txt
privkey1.pem
cert1.pem
        1 file(s) copied.

C:\SSL>c:\lotus\notes\kyrtool.exe =c:\lotus\notes\notes.ini create -k c:\ssl\keyfile.kyr -p lotusnot
es

C:\SSL>cd /lotus/notes

C:\Lotus\Notes>kyrtool.exe

C:\Lotus\Notes>c:\lotus\notes\kyrtool.exe =c:\lotus\notes\notes.ini create -k c:\ssl\keyfile.kyr -p
lotusnotes

Keyfile c:\ssl\keyfile.kyr created successfully


C:\Lotus\Notes>c:\lotus\notes\kyrtool.exe =c:\lotus\notes\notes.ini import all -k c:\ssl\keyfile.kyr
 -i c:\ssl\server.txt

Using keyring path 'c:\ssl\keyfile.kyr'
Successfully read 2048 bit RSA private key
SECIssUpdateKeyringPrivateKey succeeded
SECIssUpdateKeyringLeafCert succeeded


C:\Lotus\Notes>


Image:Zabezpečení Domino HTTP pomocí Let’s Encrypt ssl certifikátu

Nyní umístěte do \Domino\Data soubory keyring.kyr a keyring.sth a restartujte Domino http task pomocí "tell http restart". Pokud běží na serveru i Traveler, je třeba provést restart tasku pomocí "restart task traveler".

Pokud se nyní připojít na server pomocí prohlížeče, měli byste vidět, že spojení je zabezpečno a je důvěryhodné.
Image:Zabezpečení Domino HTTP pomocí Let’s Encrypt ssl certifikátu
V našem případě po rozkliknutí vidíte, že certifikát pochází z Lets Encrypt CA a je důvěryhodný.
Image:Zabezpečení Domino HTTP pomocí Let’s Encrypt ssl certifikátu

Nyní je jen třeba hlídat platnost certifikátu a nezapomenout obnovu:-

Hromadný reset lokálních účtů Administrator v doméně

Posted by Petr Santrucek on October 23rd, 2016 | Category:

Pro zkušené správce Windows infrastruktury to bude "stará vesta", ale spousta administrátorů o této možnosti pouze tuší. Je to obvyklý problém, který zaskočí správce v nejméně vhodnou chvíli. Máte server (nebo stanici) v doméně. Z nějakého důvodu přijdete o vazbu na Active Directory a potřebujete se přihlásit jako lokální administrátor. Bohužel, obvykle v čase máte několik hesel, která jste použili pro tento lokální účet. A jako na potvoru si nevzpomenete.
Řešením je resetovat takový účet. Možnosti jsou např. tyto:
1. Systémové řešení s pomocí instalačního DVD Windows pro verze 7/8 - http://www.howtogeek.com/96630/how-to-reset-your-forgotten-windows-password-the-easy-way/
2. Systémové řešení s pomocí instalačního DVD Windows pro verzi 10 - http://www.howtogeek.com/222262/how-to-reset-your-forgotten-password-in-windows-10/
3. Použít některé specializované CD/DVD s upravenou  distribucí Linuxu obsahující nástroj pro reset hesel lokálních účtů, např. toto http://pogostick.net/~pnh/ntpasswd/

To je řešení, pokud už je pozdě a k účtu Administrator neznáme heslo. Tomu se dá ale předejít. S pomocí doménových politik (Group Policy) lze centrálně resetovat jakýkoliv lokální účet serverů/stanic v doméně.

Postup je následující:

1. Spusťte konzoli Group Policy Management  vzberte vhodnou politiku nebo vytvořte novou
Image:Hromadný reset lokálních účtů Administrator v doméně

2. Vyberte politku "Computer Configruation" - Preferences" - "Control Panel Settings" - "Local Users and Groups"
Image:Hromadný reset lokálních účtů Administrator v doméně

3. Vytvořte nastavení pro uživatele
Image:Hromadný reset lokálních účtů Administrator v doméně

4. Nastavte politiku pro vestavěný "built-in" účet Administrator
Image:Hromadný reset lokálních účtů Administrator v doméně

A nyní už jen zbývá počkat, až se politika rozšíří po doméně. Pokud jste netrpělivý, použijte na strojích příkaz "gpupdate".

Pro fajnšmekry je zde i možnost naskriptovat stejnou úloh:

Set WshNetwork = WScript.CreateObject("WScript.Network")
strComputer = "."
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator,user")
objUser.SetPassword "NEW.PASSWORD" ' Enter new password between brackets
objUser.SetInfo



 

NAKIVO Backup&Replication 6.2 - nový build

Posted by Petr Santrucek on October 15th, 2016 | Category:

Před pár dny vyšla verze 6.2 nsátroje NAKIVO Nakivo & Replication a už je k dispozici nový build této verze.

Image:NAKIVO Backup&Replication 6.2 - nový build

Bohužel, na stráce poznámek k tomuto vydání (Release notes) http://www.nakivo.com/helpcenter/display/RN/v6.2+Release+Notes není nic uvedeno, takže nevíme, co vlastně tento build opravuje či vylepšuje.

Hromadná změna mailové domény v Active Directory skriptem Powershellu

Posted by Petr Santrucek on July 23rd, 2016 | Category:

Dostal jsem zadání, které bude zejména ve větších firmách, které neustále fúzují, restrukturalizují, nakupují jiné firmy, atd. častější úkol. Šlo o hromadnou změnu (ano,můžete najmout studenta, co to za 200 Kč/hodinu přebouchá, ale ten čas a chyby a vůbec, smí se takhle vykořisťovat studenti?) "přes noc".

Po hodinách googlení, experimentování a omylů (jako Jára Cimrman jsem byl průzkumníkem slepých uliček) se našlo řešení. Když selhaly pokusy vygenerovat maily prostým jmeno.prijmeni@novadomena.com, protože ve jménech byla diakritika, našlo se elegantní řešení v podobě prosté náhrady (ostudou je, že mě nenapadlo, jako byť dávno bývalého programátora, že by mohla existovat nějaká metoda REPLACE i v PowerShellu).

#########################################################
# Name: ChangeEmail.ps1
############# ##########################################


$myusers = Get-ADuser -Filter { enabled -eq $true -and mail -like '*@staradomena.cz'} -Properties givenName, Surname, EmailAddress
foreach ($myuser in $myusers)
{
$emailaddress = $myuser.EmailAddress
$emailaddress = $emailaddress.Replace('staradomena.cz', novadomena.com')
$myuser.emailaddress = $emailaddress
Set-ADuser -Identity $myuser -emailaddress $emailaddress -whatif
}



Snad tenhle kousek skriptu někomu ulehčí život a ušetří procházení "slepých uliček":-)