Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Zrušení automatického vypínání testovacích verzí Windows po 60 minutách

Poslední evaluation Windows mají stejně jako vývojářská VM od MS tu nevýhodu, že se po 60 minutách vypínají. V případě, že se rozhodnete využít vývojářský VM od MS, pak MS přímo uvádí, že licence OS exspiruje prvním spuštěním VM.

Automatickému vypínání Windows po 60 minutách při exspirované licenci lze v případě evaluation verze zabránit zakázáním služby Software Protection Platform Service. Zde je nutné zdůraznit, že systém se sice nebude restartovat, ale i tak je nutné jej využívat v souladu s licenční smlouvou a pouze po dobu k testování určenou! Deaktivaci této služby doporučuji provést pomocí registrů:

HKLM/SYSTEM/CurrentControlSet/Services/sppsvc

Položku Start typu DWORD nastavte na hodnotu 4.

Bez běhu této služby není možné systém jakkoliv aktivovat (multilicenčně ani běžný produktovým klíčem) a problémy s aktivací bude mít i další SW Microsoftu, jako je Office nebo Visual Studio, který nebude schopen načíst ani digitální předplatné ze zadaného účtu.

Posted in: Vývoj počítačů

Změna znakové sady MS SQL serveru

V tomto článku bych se rád podělil o zkušenost se změnou znakové sady MS SQL serveru. Je několik cest, některé jsou dokumentované a podporované, jiné nikoliv.

Seznam podporovaných a výchozích znakových sad je možné najít v dokumentaci.

Změna znakové sady uživatelské databáze

V rámci instance MS SQL serveru je možné měnit collation pouze jedné databáze, nebo její části. K tomu slouží dokumentovaná a podporovaná cesta s využitím jazyka T-SQL. Ukažme si to na příkladu databáze jménem Products. Jako první bod je dobré vědět, jaká je stávající callation databáze, což nám vypíš příkaz:

SELECT name, collation_name FROM sys.databases WHERE name = 'Products'
--pro celý server můžeme použít
SELECT CONVERT(nvarchar(128), SERVERPROPERTY('collation'));

Nyní můžeme přistoupit k samotné změně na kódování Czech_CI_AS, což provedeme následujícím skriptem:

-- přepneme databázi do jednouživatelského módu 
ALTER DATABASE Products SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
-- změníme kódování
ALTER DATABASE Products COLLATE Czech_CI_AS; 
-- Vrátíme databázi do plnohodnotného režimu 
ALTER DATABASE Products SET MULTI_USER

Nyní máme hotovo. Tato změna má dopad na celou jednu databázi, ostatní neovlivňuje a nastavení serveru také nemění. Bez problémů funguje na všech verzích od 2005 po 2022.

Změna collation pouze jednoho sloupce

Pokud budeme potřebovat překódovat jen jeden sloupec databáze i to je možné. Je to velmi jednoduchý jeden řádek T-SQL kódu, opět si ukážeme příklad:

ALTER TABLE ProductGuid ALTER COLUMN Description nvarchar(1000) COLLATE Czech_CI_AS

Změna znakové sady serveru

Nyní si popíšeme cestu, jak změnit znakovou sadu serveru, neovlivní nastavení uživatelských databází. Tento postup je dokumentovaný Microsoftem a podporovaný.

Přejděte do složky, kde máte nainstalovaný SQL server a v ní do složky Setup Bootstrap.V této cestě spusťte příkazovou řádku, nebo PowerShell. Např..: C:\Program Files\Microsoft SQL server\140\Setup Bootstrap

V této cestě pak spustíme následující příkaz:

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=SQL2017 /SQLSYSADMINACCOUNTS=ServerDB\wnd_rebuid /SAPWD= wnd_auth_sql2017 /SQLCOLLATION=Czech_CI_AS

V PowerShellu by to vypadalo následovně:

.\Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=SQL2017 /SQLSYSADMINACCOUNTS=ServerDB\wnd_rebuid /SAPWD= wnd_auth_sql2017 /SQLCOLLATION=Czech_CI_AS

Výše uvedený příklad je pro Windows autentizaci, pokud budeme využívat SQL autentizaci, pak zadáváme login v jednoduchém tvaru.

Po dokončení příkazu máme hotovo, doporučuji restartovat instanci. Tato cesta funguje od verze 2008 R2.

Nedokumentovaná a nepodporovaná cesta

Tato cesta změní Callation celého serveru včetně všech uživatelských databází. Je velmi důležité mát kompletní zálohu a i tak mohu tento postup schválit jen pro testování, případně vývoj, nikoliv produkci.

Opět přejdeme k složky SQL serveru, přesněji k umístění souboru sqlserver.exe, například: C:\Program Files\Microsoft SQL server\MSSQL14.SQL2017\MSSQL\Binn

V této cestě opět spustíme příkazovou řádku jako správce. Nyní zastavíme všechny služby SQL serveru přes jeho řídící konzoli. Do příkazové řádky pak zadáme např.:

sqlservr -m -T4022 -T3659 -s"SQL2017" -q"Czech_CI_AS"

Význam parametrů je následující:

  • m: single user režim
  • T4022: Vynechání spouštěcích procedur
  • T3569: logování všech chyb při startu SQL serveru
  • s: název instance, pokud je pojmenovaná, pro default název není potřeba uvádět
  • q: požadovaná collation

Po dokončení procesu stiskneme CTRL + C a potvrdíme vypnutí serveru.

Nyní můžeme server pomocí management konzole spustit a máme nastavenou novou callation na všech databázích.

Postup je testován na verzi 2005 a novější.

Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows 8 a 8.1

Základy zabezpečení domácí sítě

Předvánoční čas bohužel je nejnáročnější na kybernetickou bezpečnost domácností. Shánění dárků, charity, posílání přání a balíků vede k tomu, že jsme méně opatrní vůči emailům vydávajícím se za přepravce, nebo známé eshopy. Pojďme se podívat na to, jak si nastavit domácí síť tak, abychom minimalizovaly dopady.

Nastavení routeru

Router (lidově většinou nějaká Wifina) je základem každé domácí sítě. S tímto zařízením stojí a padá celá domácí síť. Pojďme se podívat na to, co bychom potřebovali na daném zařízení nastavit, nebo zkontrolovat.

  1. Aktualizace – musíme mít vždy nejnovější verze firmware a bezpečnostních aktualizací
  2. Vypnutí vzdálené správy – nepovolit vzdálené nastavení routeru
  3. Bezpečné přihlašování – silné heslo a definovaná 2 konkrétní MAC adresy (2 zařízení), které smí do nastavení přistoupit
  4. Silné zabezpečení Wi-Fi – používat nejnovější standardy zabezpečení Wi-Fi sítě (co jde, aby to všechna naše zařízení uměla)
  5. Silné heslo k Wi-Fi síti
  6. Samostatná síť pro hosty – naše přítele a členy rodiny, kteří v naší domácnosti nežijí, nepouštíme do vlastní sítě
  7. Omezení zařízení, která se mohou připojit k Wi-Fi – ideální je zadat MAC adresy zařízení, která se mohou správnými údaji přihlásit
  8. Blokování portů – doporučuji nechat dostupné jako cílové porty jen: 443, 587, 993, 995, všechny ostatní porty zakázat v celé síti
  9. Směrem do internetu doporučuji nevystavovat nic
  10. Veškeré DNS servery nastavit na hodnotu: 1.1.1.2 (cloudflare secure DNS) a 185.228.169.9 (Clean browsing secure dns)

Nastavení počítače

I když bude domácí Wi-Fi dobře nastavená, cesta nekončí. I počítač se musí dále zkontrolovat a případně nastavit.

  1. DNS v OS musíme nastavit stejně, jako jsme to udělali u routeru, tedy na 1.1.1.2 a 185.228.169.9. Pro IPv6 si najděte odpovídající konfiguraci, nebo IPv6 úplně zakažte.
  2. Mějte kvalitní bezpečnostní SW, Bitdefender (BitDefender pro domácnost (it-market.cz)), Eset (Eset Antivirus | Antivirové programy ESET NOD32 | Alza.cz) nebo jiný kvalitní placený bezpečnostní SW
  3. Nastavit DNS pomocí DOH ve Windows 11: Jak nastavit DNS-over-HTTPS ve Windows 11? (instaluj.cz) adresa DNS serveru: https://security.cloudflare-dns.com/dns-query
  4. Nastavit si DNS pomocí DOH ve webový prohlížeči: DNS přes HTTPS – Spajk.cz na adresu: https://security.cloudflare-dns.com/dns-query
  5. Instalovat každý měsíc všechny aktualizace Windows
  6. Instalovat každý měsíc všechny aktualizace všech programů

Nastavení telefonů

Stejně jako v případě počítače je potřeba nastavit i všechny telefony. Největší problém notebooků a telefonů je to, že danou domácí síť opouští.

  1. Instalovat všechny dostupné aktualizace telefonu i veškerých aplikací
  2. Nainstalovat si kvalitní placený bezpečnostním SW
  3. Nastavením bezpečných DNS pro Wi-Fi i mobilní data

Práce s emailem a sociálními sítěmi

Další část bezpečnosti jsou naše uživatelské návyky. Pojďme se podívat na to, co a jak bychom měli dělat k tomu, abychom minimalizovali riziko problému.

  1. E-shop ani dopravce nás nebude kontaktovat prostřednictvím sociální sítě
  2. U všech emailů validujeme skutečného odesílatele – v Outlooku stačí najet myší na odesílatele a neklikat, po chvíli se otevře skutečná adresa odesílatele
  3. Doporučuji instalovat analyzátor hlaviček: Find the right app | Microsoft AppSource
  4. Veškeré odkazy NEOTEVÍRAT a nejdříve analyzovat – stačí zkopírovat do VirusTotal – Home, nechat analyzovat a v záložce Detail ověřit, že adresa vede do firmy, kam opravdu chceme
  5. Neznámé emaily neotevírat!

Mobilní zařízení

Mobilní zařízení opouští naší domácí síť, jde o telefony, notebooky apod. Pojďme se podívat na to, co dělat, abychom minimalizovali riziko.

  1. NEPŘIPOJOVAT SE k veřejným sítím – Když už musíme, zajistit, že po síti budeme otevírat jen jízdní řády, mapy nebo jiný zdroj obecných informací a vše ostatní nebude provádět datové přenosy ani na pozadí
  2. I mobilní data využívat obezřetně – jde o bezpečnější variantu, nežli využívání veřejné Wi-Fi, ale i tak je vhodné minimalizovat potenciálně citlivý provoz
  3. Otevírat jen důvěryhodné weby, které dobře známe
  4. Minimalizovat datový provoz
  5. NEOTEVÍRAT odkazy ze SMS, chat a dalších informačních kanálů
  6. Zásilky sledovat výhradně pomocí čísla zásilky a oficiálního webu nebo oficiální aplikace
  7. NEOTEVÍRAT přílohy a odkazy v emailech
  8. Využívat pro přístup k internetu VPN od poskytovatele našeho bezpečnostního SW

E-shopy

Před objednáním, nebo zadáním přihlašovacích údajů, je potřeba si ověřit:

  1. Že jsme skutečně na eshopu, kde chceme být (kontrola URL adresy pomocí Whois nebo virustotal a https certifikátu).
  2. Že se eshop se nenachází na seznamu rizikových od ČOI: Rizikové e-shopy – COI
  3. Ověřit si obchodníka v rejstříku dle IČO: ARES – Ekonomické subjekty (mfcr.cz)
  4. Platit zásilky na dobírku, máte jistotu, že nepřijdete o peníze, když by se jednalo o podvod
  5. Neuvádět informace o platební kartě ani číslo účtu
Posted in: Vývoj počítačů

Validace emailů v karanténě a jejich uvolnění

Dnes malinko netradičně bych se rád podělil o nějaké body, kterými se řídím, když jako správce Exchange online uvolňuji emaily z karantény. Celkově libovolné pravidlo může obsahovat chybu, takže nám v karanténě může skončit něco neprávem, ale častěji má stroj pravdu. Myslím si, že následující postup bude platiti ne jen pro administrátory Exchange online, ale i pro administrátory Exchange on-premises i dalších emailových serverů.

Pravidla jsou souhrnem mých zkušeností, kdy se snažím eliminovat chyby dané vlastními pravidly a zároveň postupovat co nejvíce bezpečně, tedy nevěřit tomu, že by měl být email uvolněn. Raději zahodím validní fakturu, nebo příkaz generálního ředitele, nežli pustit jediný Phish nebo malware.

  1. Validujeme předmět a odesílatele, zda jde o validní správu, nebo je již zde zřejmý spam, či podvod
  2. Důvodem karantény není Phish – výjimky pro adresy v bodech 3a, 3b a 3c
  3. Ověříme, zda Composite authentication obsahuje hodnotu: pass
    1. Výjimkou je: SMTP mail from address: zasilka@uschovna.cz
    1. Výjimkou je: Sender address: noreply@zasilkovna.cz
  4. Otevřeme hlavičku emailu
  5. V hlavičce najdeme: smtp.mailfrom a ověříme, že souhlasí s doménou v adrese odesilatele
  6. Zobrazíme náhled zprávy
  7. Překlikneme na kartu: Prostý text
  8. Všechny odkazy prověříme službou virustotal.com, případně ručním podáním do sandboxu vlastního antivirového řešení
  9. Pokud má email přílohy, validujeme jejich formát (koncovku) – nesmí být spustitelná, nebo ve formátu pro makra
  10. Pokud email obsahuje přílohy a splnil bod 9, stáhneme zprávu a necháme ji proskenovat antivirovým řešením a nahrajeme ke skenu do virustotal.com
  11. Pokud je soubor bezpečný, otevřeme jej ve Windows Sendbox a následně proskenujeme všechny odkazy, které obsahuje službou virustotal
  12. Pokud email splnil všechny body 1 až 11 (v případě validace bezpečnostním SW je bez nálezu), může být uvolněn příjemci
  13. Pokud je důvodem karantény transportní pravidlo, můžeme pokud známe přesný důvod, zvážit jeho editaci
Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Přidání PC do domény pomocí PowerShellu

Někdy se může hodit naskriptovat si přidání PC do domény. Může se jednat o to, že tuto akci z nějakého důvodu, např. nasazení LAPS, budeme chtít provést jako poslední akci z MDT task sekvenci. Nejsnazší je pak tuto akci provést jako spuštění PowerShell skriptu, který bude využívat nějaký servisní účet k této akci určený.

Problematiku práce s heslem v PowerShellu nechám na jiné téma, přestavte si, že máme přihlašovací údaje uložené někde v registru instalačního serveru. V ukázce níže jsou údaje součástí kódu, což není z pohledu bezpečnosti správně, ale naplnění jednotlivých proměnných může být rozličným způsobem.

$u = "domena\mdt" 
$d = "domena.local"
$p = ConvertTo-SecureString "5EiCJnRrgNrdQC3ZyEZauWg4PGPtMoIM10GC6qF618esuNKVva" -Force
$c = New-Object System.Management.Automation.PSCredential $u, $p
Add-Computer -DomainName $d -Credential $c

Výše uvedený kód vyžaduje, aby PowerShell běžel ve Full Language mode. Proměnná $c opisuje, co se na pozadí stane, když zapíšeme:

$c = Get-Credential

Pokud využijeme konstrukci Get-Credential, tak se nám zobrazí okno pro zadání loginu a hesla.

Posted in: Windows server

Reset hesla pro obnovu AD (DSRM )

Zapomněli jste heslo pro admina k obnově AD a Váš systém běží? Nevadí, pomocí následujících příkazů v příkazové řádce spuštěné jako správce jej můžete resetovat.

ntdsutil
ntdsutil: set dsrm password
Reset DSRM Administrator Password: reset password on server null
Please type password for DS Restore Mode Administrator Account: 
Please confirm new password: 
Password has been set successfully.
Reset DSRM Administrator Password: q
ntdsutil: q

Protože výše je vypsáno vše, co je vidět v příkazové řádce, zvýraznil jsem tučně to, co skutečně jako správce zadáváte. Pokud provádíte operaci vzdáleně, bude jiné zadání v prvním řádku režimu Reset DSRM Administrator Password, viz dokumentace: How to reset the Directory Services Restore Mode administrator account password – Windows Server | Microsoft Learn

Posted in: Windows server

Report nastavení všech GPO

Nejeden admin si především při přebírání prostředí kladl otázku, jak exportovat všechna GPO nastavení do čitelné podoby, aby se nemusel probírat jednotlivými objekty. Moje doporučení je, opravdu vzít si GPO konzoli a probírat se všemi jednotlivými objekty pro jednotlivá OU samostatně, ale cesta, jak vytvořit report obsahující vše je.

Běžný HTML report, stejný jako vrací gprusult /h lze ze všech GPO objektů vytvořit následujícím PowerShell příkazem:

Get-GPOReport -All -ReportType HTML -Path "D:\pom\AllGPOs.html" 

Cestu se ve výše uvedeném příkladu změňte dle libosti. Možná lepší je strojově čitelný formát XML, který by nám dokázal lépe filtrovat a prohledávat konfiguraci ve srovnání s HTML. XML report se pak vytvoří pomocí následujícího příkazu:

Get-GPOReport -All -ReportType Xml -Path "D:\pom\AllGPOs.xml" 

Pokud jde o strojově čitelný formát JSON, tak v něm už to tak přímočaré není, ale s trochou umu v PowerShellu jej jistě vytvoříte.

Posted in: Windows 10, Windows 11, Windows 8 a 8.1

Úprava času pro zadání hesla do Windows

Jak jistě víte, doba, za kterou musíte stihnout zadat přihlašovací údaje do systému Windows je omezena, takže se vám opět ukáže přihlašovací obrazovka, i když jste velmi pomalými úhozy nepřestali psát a můžete začít znovu. Výchozí nastavení je vyladěno velmi dobře, proto většina lidí tento stav nikdy nezažije, pokud nepřeruší úkon přihlašování se.

Problém jsou lidé, kteří mají různé tělesné postižení, jež jim ztěžuje práci s počítačem a např. psaní na klávesnici je pro ně opravdu velmi náročnou a hodně pomalou činností. Pro tyto lidi je zde primárně Windows Hello, které jim umožní přihlásit se obličejem, otiskem prstu či krátkým pinem, ale co dělat, když z nějakého důvodu není technologie k dispozici?

Pomocí registrového klíče HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI
je možné nastavit v milisekundách dobu pro zadání hesla. Konkrétně pomocí hodnoty IdleTimeOut typu DWORD, kam se zadává čas v milisekundách, po který má být možné vyplňovat přihlašovací údaje.

Back to Top