Wyłączanie Hyper-V bez jego usunięcia

Hyper-V ma upierdliwą cechę – blokuje działanie innych hypervisorów, przez co jeśli Hyper-V działa, nie mogę pracować na wirtualkach np. na VMware Workstation czy Oracle VM VirtualBoxie. Rozwiązanie jest proste:

bcdedit /set hypervisorlaunchtype off

Po restarcie Hyper-V będzie wyłączone i nie trzeba go usuwać z systemu. Jeśli chcemy je włączyć z powrotem, wystarczy wykonać:

bcdedit /set hypervisorlaunchtype on

i wykonać ponowny restart.

Szybkie tworzenie klucza, CSRek oraz konwersja certyfikatów w OpenSSL

Tworzenie klucza RSA 2048-bitowego:

openssl genrsa –out klucz.key 2048 //nie działa w powershell, tam trzeba podać pełną ścieżkę pliku

Następnie, aby stworzyć CSRkę (certificate signing request) warto mieć do tego przygotowany config. Przykładowy wygląda tak:

[ req ]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
utf = yes

[ dn ]
C=PL
ST=SL
L=Tychy
O=it.supra.tf
OU=IT
[email protected]
CN = it.supra.tf

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = it.supra.tf

Takie coś zapisujemy do jakiegoś pliku, np. config.cnf.
Następnie tworzymy CSR:

openssl req -new -key klucz.key -out it.supra.tf.csr -config config.cnf

Potem taki CSR musimy wykorzystać do podpisania certyfikatu w naszym CA. Jeśli pobierzemy plik w formacie DER zamiast Base-64, można go skonwertować w ten sposób:

openssl x509 -inform pem -in it.supra.tf.cer -out it.supra.tf.pem

Przy okazji te polecenie się przydaje do sprawdzenia zawartości CSRki:

openssl req -in shadowcontrol.anzenalab.local.csr -text -noout

Certyfikat składa się z certyfikatu serwera oraz łańcucha (serwerów, które potwierdzają ważność certyfikatu (może być ich wiele jeśli mamy wielostopniowe PKI, gdzie jest główny urząd certyfikacji i pośredni). Przykład docelowego certyfikatu:

-----BEGIN CERTIFICATE-----
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
certyfikat serwera
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
certyfikat urzędu certyfikacji, który podpisał certyfikat serwera
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
certyfikat urzędu certyfikacji, który podpisał certyfikat urzędu certyfikacji powyżej
(o ile taki urząd istnieje w PKI)
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD
XDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXD=
-----END CERTIFICATE-----

W następujący sposób można sprawdzić, czy certyfikat się zgadza z kluczem:

> openssl x509 -noout -modulus -in phpipam.crt | openssl md5
MD5(stdin)= 1144fb849c1b3abe152a3cbdf9ddce49
> openssl rsa -noout -modulus -in phpipam.key | openssl md5
MD5(stdin)= 1144fb849c1b3abe152a3cbdf9ddce49

Aktywacja klucza produktu dla Windowsa Server z poziomu CLI

Znalazłem to tutaj.

Dla Windowsa Server Standard:

Dism /online /Set-Edition:ServerStandard /AcceptEula /ProductKey:12345-67890-12345-67890-12345

Dla Windowsa Server Datacenter:

Dism /online /Set-Edition:ServerDatacenter /AcceptEula /ProductKey:12345-67890-12345-67890-12345

Ewentualnym rozwiązaniem może być:

slmgr /ipk 12345-67890-12345-67890-12345

Oczywiście musimy mieć połączenie z Internetem, by wszystko zadziałało.

Dodanie dodatkowych kontrolerów domeny w FortiGate do profilu LDAP, włączenie komunikatów o wygasających hasłach i opcja na odnowienie ich

Niestety, tych opcji aktualnie (w wersji FortiOS 6.4.1 jeszcze nie ma w interfejsie, więc trzeba to zrobić przez CLI. Dla przykładu mój profil i poniżej przykład dodania dodatkowych kontrolerów domeny:

anzena-forti # config user ldap
anzena-forti (ldap) # edit serba.local
anzena-forti (serba.local) # set secondary-server dc2.serba.local
anzena-forti (serba.local) # set tertiary-server dc3.serba.local
anzena-forti (serba.local) # set password-expiry-warning enable
anzena-forti (serba.local) # set password-renewal enable
anzena-forti (serba.local) # end

Zmiana nazwy certyfikatu CA w FortiGate

Dzięki temu certyfikat nie jest nazwany domyślnie tak jak na górze, lecz tak jak ten na dole:

anzena-forti # config vpn certificate ca
anzena-forti (ca) # rename CA_CERT_2 to SERBA-CA
table name 'CA_CERT_2' is not found!
Command fail. Return code 2 //jak widać wielkość liter ma znaczenie!
anzena-forti (ca) # rename CA_Cert_2 to SERBA-CA
anzena-forti (ca) # end