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čů, 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: Základy PowerShellu

Podepisování kódu v PowerShellu

Dnes to bude trochu bezpečnostní téma i když jen tak na půl. Podepisování skriptů rozhodně souvisí s jejich validací a bezpečností. Pokud se někdo pokusí modifikovat podepsaný skript, podpis se stane neplatným a modifikovaný skript se nevykoná, což samo o sobě může působit bezpečně.

Problém je, že jde obcházet ExecutionPolicy, takže jde spustit i nepodepsaný skript a teoreticky i skript s nevalidním podpisem. Na druhou stranu se musí uznat, že je rozhodně bezpečnější skripty podepisovat a pro běh daný podpis vyžadovat, nežli se na to vykašlat, protože tím útočníkovi zvedáme cenu útoku.

Problémem je, kde vzít správný certifikát. Patřičný certifikát lze vystavit pomocí interní certifikační autority v podnikové síti, ale musí být správně nastaven a správně ošetřeno, komu a s jakou platností se certifikát vydává. V domácím prostředí to nelze důvěryhodně udělat.

Nyní již ke skriptu, který umí podepsat zvoleným certifikátem libovolný soubor.

Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert
$cert = Read-host -promt „Zadej Thumbprint podposového certifikátu“
$cesta = Read-Host -promt „Zadej cestu k souboru“
Set-AuthenticodeSignature -FilePath $cesta -Certificate (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | where Thumbprint -eq  $cert) -TimestampServer http://timestamp.comodoca.com

Časový server doporučuji zaměnit za interní, ale i takto s veřejnou certifikační autoritou půjde podepsat certifikátem od autority interní.

Posted in: Základy PowerShellu

Runas v PowerShellu

Určitě jste se octli v situaci, kdy je potřeba spustit něco jako jiný uživatel. V GUI je to jednoduché, stačí kontextové menu, ale má to háček, na PC se načte v minimální podobě profil daného uživatele, jak na to bez toho? Řešením je PowerShell nebo cmd, kdy v CMD místo proměnné zadáte username přímo do příkazu runas.

$ucet = Read-Host -promt "Zadej login"
Runas /noprofile /user:$ucet "powershell.exe"

Z PowerShellu pak už pod daným uživatelem spustíte cokoliv. Když bych chtěl napsat runas korektně PowerShellově, tak by to vypadalo takto:

Start-Process powershell.exe -Credential (Get-Credential) 

Nevýhodou zápisu výše je, že se chová jako GUI, tedy dojde k naštení minimální potřebné části profilu uživatele.

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.

Posted in: Windows server

Export dat z AD pro tvorbu organizačního diagramu

Dne jen krátký příspěvek v podobě příkazu, který exportuje data připravená pro tvorbu diagramu pracovníků v organizaci pomocí Excelu.

$Path = Read-Host -promt "Zadej cestu k výstupnímu souboru"
Get-ADUser -Filter * -Properties *| Select name, @{n='Manager';e={(Get-ADUser $_.manager).name}}, title, department | Export-Csv $Path -NoTypeInformation -Encoding UTF8 -Force

Alternativa pro zpracování ve Visio:

Import-Module ImportExcel -Force
$Path = Read-Host -promt "Zadej cestu k výstupnímu souboru" 
Get-ADUser -Filter * -Properties *| Select name, @{n='Manager';e={(Get-ADUser $_.manager).name}}, title, department | Export-Excel -Path $Path -Force

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

Jak vytvořit kopii disku bez koše a stínových kopií?

Situaci, kdy máte starý disk, který je už plný nebo nefunguje, a potřebuje z něj všechna data zkopírovat na nový, už zažil asi každý. Většina uživatelů zvolí možnost vybrat vše a kopírovat pomocí průzkumníka souborů, ale nabídnu alternativní cestu příkazem robocopy.

Pokud budu chtít na nový disk zapsat vše, včetně obsahu koše, stínových kopií a systémových souborů se zachováním oprávnění, bude příkaz vypadat takto:

Robocopy.exe H:\ J:\ /MIR /COPYALL

Pokud budeme chtít vynechat koš a složku System volume information, tak využijeme příkazu:

Robocopy.exe H:\ J:\ /MIR /COPYALL /XJD /XD 'H:\$RECYCLE.BIN'

Výše uvedený příklad nebude zahrnovat spojovací body pro adresáře díky užití přepínače /XJD.

Je důležité si uvědomit, že se nejedná o klon diskového oddílu nebo disku, ale pouze o souborový duplikát diskového oddílu se zachováním ACL pro jednotlivé složky a soubory.

Posted in: Windows 10, Windows 11, Windows server

Odinstalace programů PowerShellem

Nainstalovat program příkazovou řádkou, nebo pomocí PwerShellu, klidně i vzdáleně, není nic až tak těžkého. Pro msi balíčky máme msiexec a pro balíčky z MS Store máme rovněž integrované jednotné nástroje, horší je to s exe soubory, tam potřebujeme pokyny od vydavatele aplikace. Otázkou pak zůstává, jak vzdáleně takové programy odinstalovat.

Vzdálený přístup na systém nám může zajistit vzdálená relace, nebo v případě software distribuovaného jako msi také parametr ComputerName. Pokud chceme odebrat program, který byl instalován jako MSI, pak potřebujeme identifikační číslo dané instalace programu. Identifikační číslo nejsnáze zjistíme příakzem:

Get-WmiObject Win32_Product | select Name, Version, IdentifyingNumber | FL
#pro vzdálený počítač
Get-WmiObject Win32_Product -ComputerName pc2 | select Name, Version, IdentifyingNumber | FL

Následuje již příklad se samotnou odinstalací programu:

(Get-WmiObject Win32_Product | where IdentifyingNumber -eq "{C17F6DEF-D34C-4B75-97E1-D81062408B4A}").Uninstall()
#pro vzdálený počítač
(Get-WmiObject Win32_Product -ComputerName pc2 | where IdentifyingNumber -eq "{C17F6DEF-D34C-4B75-97E1-D81062408B4A}").Uninstall()

Pokud budu chtít odebrat programy, které jsou instalované pomocí exe souborů, pak potřebuji malinko jiný příkaz, ale i to se dá zvládnout vzdáleně, tentokrát již s pomocí vzdálené relace (Enter-PSSession).

Get-Package -ProviderName Programs -IncludeWindowsInstaller | select Name, Version, Source, ProviderName | FL
#příklad odinstalace 7zipu
Get-Package -Name "7-zip*" | Uninstall-Package
Back to Top