abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 22:33 | Komunita

Společnost Red Hat na svém blogu oznámila, že Red Hat Enterprise Linux (RHEL) bude možné provozovat zdarma na 16 serverech.

Ladislav Hagara | Komentářů: 7
včera 14:55 | Bezpečnostní upozornění

Pod společným názvem DNSpooq byly zveřejněny informace o 7 bezpečnostních chybách v DNS caching a DHCP serveru dnsmasq. Jedná se o cache poisoning (CVE-2020-25686, CVE-2020-25684, CVE-2020-25685) a buffer overflow (CVE-2020-25687, CVE-2020-25683, CVE-2020-25682, CVE-2020-25681). Jejich kombinací lze dosáhnout závažnosti CVSS 9.8. Chyby jsou opraveny v dnsmasq 2.83.

Ladislav Hagara | Komentářů: 1
včera 13:33 | Nová verze

Byla vydána nová stabilní verze 19.07.6 (Changelog) linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Řešena je také řada bezpečnostních chyb. Především v dnsmasq (DNSpooq).

Ladislav Hagara | Komentářů: 0
včera 08:00 | Nová verze

Google Chrome 88 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 88.0.4324.96 přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 36 bezpečnostních chyb. Nálezci nejvážnější z nich (CVE-2021-21117) bylo vyplaceno 30 000 dolarů.

Ladislav Hagara | Komentářů: 10
včera 07:00 | Nová verze

Byla vydána nová verze 4.4.2 svobodného programu pro skicování, malování a úpravu obrázků Krita (Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
19.1. 14:33 | Komunita

Vedle Hectora "marcan" Martina a Asahi Linuxu portují Linux na Apple Silicon aneb na počítače Apple s novým ARM procesorem M1 také lidé ze společnosti Corellium. V sobotu se na Twitteru pochlubili bootováním Linuxu na M1. Dnes zveřejnili zdrojové kódy (Preloader-M1 a Linux-M1).

Ladislav Hagara | Komentářů: 53
19.1. 11:33 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje na kritické zranitelnosti v Orbit Fox pluginu pro WordPress. Správci CMS WordPress, kteří mají nainstalované rozšíření Orbit Fox, by měli provést co nejdříve upgrade rozšíření na poslední verzi 2.10.3. Dvě nedávno nalezené zranitelnosti, stored XSS a možnost eskalace oprávnění, umožňují útočníkovi kompletní ovládnutí webové stránky.

Ladislav Hagara | Komentářů: 0
19.1. 11:11 | Zajímavý projekt

bladeRF-wiphy je open source IEEE 802.11 / Wi-Fi kompatibilní SDR VHDL modem pro bladeRF 2.0 micro xA9. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2.

Ladislav Hagara | Komentářů: 0
19.1. 09:11 | Bezpečnostní upozornění

V sobotu brzo ráno někdo naboural administrátorský účet diskusního fóra OpenWrt a odcizil citlivá data uživatelů (emailové adresy, API klíče, statistiky, ...).

Ladislav Hagara | Komentářů: 1
19.1. 08:00 | Nová verze

Byla vydána verze 1.9.0 emulátoru terminálu Terminology (GitHub) postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 3
Jestliže používáte distribuci CentOS, kterou náhradu plánujete vzhledem k oznámenému ukončení vydávání?
 (29%)
 (2%)
 (2%)
 (24%)
 (0%)
 (2%)
 (41%)
Celkem 170 hlasů
 Komentářů: 3, poslední 10.1. 13:01
Rozcestník

Náhrada MS Always On VPN Wireguardem

26.12.2020 10:43 | Přečteno: 1769× | Výběrový blog | poslední úprava: 26.12.2020 10:44

Úvodní upozornění: tento text se netýká Linuxu, zabývá se automatickým ovládáním Wireguardu na Windows.

Wireguardu jsem už pár let odolávala. Vadilo mi, že není v jádře, že je kolem něj neskutečný humbuk, že ho neumí RouterOS... Časem ovšem humbuk trochu utichl, jádro už patchovat není potřeba a i ten Mikrotik už ho má v betaverzích RouterOS7. Což ještě nemusí nic znamenat, ale příslib tu je. :-)

A tak jsem zkusila. A zamilovala se...

Dnes na něj mám z IPSecu převedenou většinu tunelů používaných pro propojení zabbixových proxy s centrálním serverem, používám ho pro připojení notebooku do své soukromé VPNky a nakonec jsem začala i zkoumat, jestli by nešel smysluplně využít na klientských stanicích se systémem od Microsoftu.

U implementace pro Windows mě příjemně překvapilo, že je možné přes wireguardí tunel - po drobné úpravě nastavení - využívat skupinové politiky aplikované při startu (čili automatické instalace a updaty aplikací, či spouštění startovacích skriptů), čímž je tento software do jisté míry schopen suplovat microsoftí Always On VPN device tunnel, obsažený v nejvyšších edicích Windows. V dnešní době, kdy všichni i s počítači zmizeli z kanceláří na home office, se podobná funkčnost hodí.

Jediná chyba na kráse byla v absenci ekvivalentu Trusted Network Detection, který u AOVPN automaticky shazuje VPNku v případě, že se počítač připojí do interní firemní sítě. Ne každý má potřebu protunelovávat se gigabitovými linkami uvnitř firmy. V Linuxu není problém si automatické shazování a nahazování tunelů naskriptovat v Network Manageru, ale jak na to ve Windows?

Na prvním místě se nabízelo spouštění ovládacího skriptu přes naplánované úlohy [Scheduled Tasks]. Windows umějí spouštět naplánované úlohy v reakci na zápisy do eventlogu, takže jsem začala pátrat a celkem rychle se dobrala k eventu 4004 v protokolu Microsoft-Windows-NetworkProfile, který se objevuje v okamžiku, kdy Windows detekují změny stavu sítě.

Na tento event jsem tedy navázala ovládací powershellový skript, který jsem nakonec vyrobila ve dvou variantách. První varianta detekuje interní síť podle DNS suffixu servírovaného DHCP serverem (podobně jako to dělá AOVPN), druhá funguje jen u firemních sítí s podporou IPv6 a orientuje se podle připojených šestkových prefixů.

Varianta 1: identifikace podle nastavení DNS

Trusted Network Detection v AOVPN ověřuje přítomnost ve firemní síti podle přípony DNS, kterou počítač dostane od DHCP serveru. V první chvíli jsem se tedy vydala tímto směrem. V úvodu skriptu je nejprve potřeba nastavit několik proměnných:

Vlastní skript, v mém případě pojmenovaný wgchange-dns.ps1, pak vypadá takto:

# Nazev WG tunelu
$tunnelIf = "wg-pokus"
# Domena, podle jejiz pritomnosti v prohledavanych suffixech
# se rozhoduje, zda shodit ci nahodit tunel
$domain = "janaj.firma"
# Pokud je nastaveno na true, bude pred nahozenim WG
# kontrolovat existenci pocitanych pripojeni
$checkCost = $true
# Cesta k souboru, do ktereho je zapisovana aktualni cinnost.
# Pokud neni nastaveno, nezapisuje se nikam.
$logFile = ""

$wgDir    = "$([Environment]::GetEnvironmentVariable("ProgramFiles"))\WireGuard"
$wgExe    = "$($wgDir)\wireguard.exe"
$wgConfig = "$($wgDir)\Data\Configurations\$($tunnelIf).conf.dpapi"

# Pripadne donacteni lokalnich zmen konfigurace z externiho souboru
$configFile = "$(split-path -parent $MyInvocation.MyCommand.Definition)\wgchange-dns.config.ps1"
if ( Test-Path -Path $configFile -PathType Leaf ) {
    . ($configFile)
}

# --------------------------------------------------
# Zapise aktualni cas a zpravu na standardni vystup,
# pripadne do souboru $logFile
# --------------------------------------------------
function Write-Log {
    param ( $msg )
    Get-Date -Format "HH:mm:ss" | Write-Host -NoNewline 
    Write-Host ": $($msg)"
    if($logFile -ne "") {
        Get-Date -Format "HH:mm:ss" | Out-File -Append -FilePath $logFile -NoNewline -Force
        Write-Output ": $($msg)" | Out-File -Append -FilePath $logFile -Force
    }
}

# -----------
# Shodi tunel
# -----------
function Down {
    Write-Log "Vypinam tunel."
    & $wgExe /uninstalltunnelservice $tunnelIf
}

# ------------
# Nahodi tunel
# ------------
function Up {
    Write-Log "Nahazuji tunel."
    & $wgExe /installtunnelservice $wgConfig
}

# ------------------------------------------------------
# Spocte pocet adapteru s nazvem odpovidajicim $tunnelIf
# (logicky 1 nebo 0)
# ------------------------------------------------------
function Get-WgCount {
    Get-NetAdapter | where { $_.Name -match $tunnelIf } |
        Measure-Object -Line | Select-Object -ExpandProperty Lines
}

# Pokud se system vypina, nereagujeme.
if ([ System.Environment ]:: HasShutdownStarted) {
    Wrile-Log "System se vypina, stav propojeni neresim. Konec"
    exit 0
}

# Spocitani pripojenych adapteru, pokud neni pripojeny zadny, shodime tunel.
$activeCount = Get-NetAdapter | where { $_.Status -match "Up" } |
             where { $_.Name -notmatch $tunnelIf } |
            Measure-Object -Line | Select-Object -ExpandProperty Lines
if ( $activeCount -eq 0 ) {
    # Pokud nechceme shazovat tunel pri odpojene siti,
    # můzeme tuhle podminku smazat
    if ( Get-WgCount -gt 0) {
        Write-Log "Vsechny adaptery jsou odpojene, shazuji tunel."
        Down
        exit 0
    }
    Write-Log "Vsechny adaptery jsou odpojene, koncim."
    exit 0
}

# Kontrola pocitanych spojeni, pokud existuje nejake aktivni, shodime Wireguard
if ($checkCost) {
    $b = $false
    [void][Windows.Networking.Connectivity.NetworkInformation, Windows, ContentType = WindowsRuntime]
    $profiles = [Windows.Networking.Connectivity.NetworkInformation]::GetConnectionProfiles()
    $adapters = Get-NetAdapter
    foreach ( $i in $profiles) {
        $cost = $i.GetConnectionCost()
        $rc = $cost.NetworkCostType -ne "Unrestricted" | where { $_ -ne $false } |
                Measure-Object -Line | Select-Object -ExpandProperty Lines
        $bd = $costs.BackgroundDataUsageRestricted | where { $_ -ne $false } |
                Measure-Object -Line | Select-Object -ExpandProperty Lines
        $rm = $costs.Roaming | where { $_ -ne $false } |
                Measure-Object -Line | Select-Object -ExpandProperty Lines
        if( ($rc -eq 0) -and ($bd -eq 0) -and ($rm -eq 0) ) { continue }

        if ( $adapters | where { "$($_.DeviceID)" -ieq "{$($i.NetworkAdapter.NetworkAdapterId)}" } |
                              where { $_.Status -eq "Up" } ) {
            $b = $true
            break
        }
    }
    
    if( $b ) {
        if( Get-WgCount -gt 0) {
            Write-Log "Nektery z adapteru pouziva pocitane spojeni, shazuji tunel."
            Down
            exit 0
        }
        else {
            Write-Log "Nektery z adapteru pouziva pocitane spojeni, nechavam tunel shozeny."
            exit 0
        }
    }
}

# Zjisteni poctu adapteru, ktere mají nastaveny suffix zadany v $domain
$domainCount = Get-DnsClient | where { $_.InterfaceAlias -notmatch $tunnelIf } |
               where { $_.ConnectionSpecificSuffix -cmatch "^$($domain)\.{0,1}" } |  Get-NetAdapter |
               where { $_.Status -match "Up" } |
               Measure-Object -Line | Select-Object -ExpandProperty Lines
# Spocteni aktivnich WG tunelu
$wgCount = Get-WgCount

# Pokud zadne adaptery nevyhledavaji v $domain a zaroven neni nahozeny WG, nahodime ho.
if( ($domainCount -eq 0) -and ($wgCount -eq 0) ) {
    Up
}
# Pokud naopak takovy adapter existuje a WG je nahozeny, shodime ho.
elseif ( ($domainCount -gt 0) -and ($wgCount -gt 0) ) {
    Down
}
# Jinak jen zapiseme hlasku.
else {
    Write-Log "Neni potreba cokoli menit."
}

Varianta 2: identifikace podle prefixu IPv6

Hodí se tam, kde je ve firemní síti nasazený protokol IPv6. Šestkový prefix by teoreticky měl být jedinečný a není závislý na rozmarech DHCPka či SLAAC. Oproti DNSkové variantě zmizela proměnná $domain, kterou nahradila proměnná $prefix. Prefix je porovnáván jako prostý řetězec proti zkrácenému zápisu adres z powershellového příkazu Get-NetIPAddress, pokud tedy například chceme identifikovat firemní ULA prefix fd0a:4eec:658e::/48, vložíme do proměnné $prefix řetězec fd0a:4eec:658e:.

Skript wgchange-ipv6.ps1 je zde:

# Nazev WG tunelu
$tunnelIf = "wg-pokus"
# Prefix IPv6, podle jehoz pritomnosti mezi lokalne nastavenymi
# adresami se rozhoduje, zda shodit ci nahodit tunel.
$prefix = "fd0a:4eec:658e:"
# Pokud je nastaveno na true, bude pred nahozenim WG
# kontrolovat existenci pocitanych pripojeni
$checkCost = $true
# Cesta k souboru, do ktereho je zapisovana aktualni cinnost.
# Pokud neni nastaveno, nezapisuje se nikam.
$logFile = ""

$wgDir    = "$([Environment]::GetEnvironmentVariable("ProgramFiles"))\WireGuard"
$wgExe    = "$($wgDir)\wireguard.exe"
$wgConfig = "$($wgDir)\Data\Configurations\$($tunnelIf).conf.dpapi"

# Pripadne donacteni zmen konfigurace z externiho souboru
$configFile = "$(split-path -parent $MyInvocation.MyCommand.Definition)\wgchange-ipv6.config.ps1"
if ( Test-Path -Path $configFile -PathType Leaf ) {
    . ($configFile)
}

# --------------------------------------------------
# Zapise aktualni cas a zpravu na standardni vystup,
# pripadne do souboru $logFile
# --------------------------------------------------
function Write-Log {
    param ( $msg )
    Get-Date -Format "HH:mm:ss" | Write-Host -NoNewline 
    Write-Host ": $($msg)"
    if($logFile -ne "") {
        Get-Date -Format "HH:mm:ss" | Out-File -Append -FilePath $logFile -NoNewline -Force
        Write-Output ": $($msg)" | Out-File -Append -FilePath $logFile -Force
    }
}

# -----------
# Shodi tunel
# -----------
function Down {
    Write-Log "Vypinam tunel."
    & $wgExe /uninstalltunnelservice $tunnelIf
}

# ------------
# Nahodi tunel
# ------------
function Up {
    Write-Log "Nahazuji tunel."
    & $wgExe /installtunnelservice $wgConfig
}

# ------------------------------------------------------
# Spocte pocet adapteru s nazvem odpovidajicim $tunnelIf
# (logicky 1 nebo 0)
# ------------------------------------------------------
function Get-WgCount {
    Get-NetAdapter | where { $_.Name -match $tunnelIf } |
        Measure-Object -Line | Select-Object -ExpandProperty Lines
}


# Pokud se system vypina, nereagujeme.
if ([ System.Environment ]:: HasShutdownStarted) {
    Wrile-Log "System se vypina, stav propojeni neresim. Konec"
    exit 0
}

# Spocitani pripojenych adapteru, pokud neni pripojeny zadny, shodime tunel.
$activeCount = Get-NetAdapter | where { $_.Status -match "Up" } |
             where { $_.Name -notmatch $tunnelIf } |
            Measure-Object -Line | Select-Object -ExpandProperty Lines
if ( $activeCount -eq 0 ) {
    # Pokud nechceme shazovat tunel pri odpojene siti,
    # můzeme tuhle podminku smazat
    if ( Get-WgCount -gt 0) {
        Write-Log "Vsechny adaptery jsou odpojene, shazuji tunel."
        Down
        exit 0
    }
    Write-Log "Vsechny adaptery jsou odpojene, koncim."
    exit 0
}


# Kontrola pocitanych spojeni, pokud existuje nejake aktivni, shodime Wireguard
if ($checkCost) {
    $b = $false
    [void][Windows.Networking.Connectivity.NetworkInformation, Windows, ContentType = WindowsRuntime]
    $profiles = [Windows.Networking.Connectivity.NetworkInformation]::GetConnectionProfiles()
    $adapters = Get-NetAdapter
    foreach ( $i in $profiles) {
        $cost = $i.GetConnectionCost()
        $rc = $cost.NetworkCostType -ne "Unrestricted" | where { $_ -ne $false } |
                Measure-Object -Line | Select-Object -ExpandProperty Lines
        $bd = $costs.BackgroundDataUsageRestricted | where { $_ -ne $false } |
                Measure-Object -Line | Select-Object -ExpandProperty Lines
        $rm = $costs.Roaming | where { $_ -ne $false } |
                Measure-Object -Line | Select-Object -ExpandProperty Lines
        if( ($rc -eq 0) -and ($bd -eq 0) -and ($rm -eq 0) ) { continue }

        if ( $adapters | where { "$($_.DeviceID)" -ieq "{$($i.NetworkAdapter.NetworkAdapterId)}" } |
                              where { $_.Status -eq "Up" } ) {
            $b = $true
            break
        }
    }
    
    if( $b ) {
        if( Get-WgCount -gt 0) {
            Write-Log "Nektery z adapteru pouziva pocitane spojeni, shazuji tunel."
            Down
            exit 0
        }
        else {
            Write-Log "Nektery z adapteru pouziva pocitane spojeni, nechavam tunel shozeny."
            exit 0
        }
    }
}


# Zjisteni indexu wireguardiho adapteru, podle nej pak bude v nasledujicim
# prikazu tento adapter vyrazen z vyhledavani
$wgIndex = Get-NetAdapter | where { $_.Name -match $tunnelIf } | Select-Object -ExpandProperty ifIndex
if("$($wgIndex)" -eq "") {
    $wgIndex = -1
}

# Spocteni aktivnich adres odpovidajicich hledanemu prefixu
$addrCount = Get-NetIPAddress | where { $_.InterfaceIndex -notmatch $wgIndex } |
            where { $_.AddressState -notmatch "Deprecated" } |
            Select-Object -ExpandProperty IPAddress | where { $_ -cmatch "^$($prefix)" } |
            Measure-Object -Line | Select-Object -ExpandProperty Lines
# Spocteni aktivnich WG tunelu
$wgCount = Get-WgCount

# Pokud zadne adaptery nemaji adresu odpovidajici prefixu a neni nahozeny tunel, nahodime ho.
if( ($addrCount -eq 0) -and ($wgCount -eq 0) ) {
    Up
}
# Pokud naopak takovy adapter existuje a WG je nahozeny, shodime ho.
elseif ( ($addrCount -gt 0) -and ($wgCount -gt 0) ) {
    Down
}
# Jinak jen zapiseme hlasku.
else {
    Write-Log "Neni potreba cokoli menit."
}

Testování

Při zkušebním spuštění skriptu nejspíš napoprvé skončíme hláškou že spouštění skriptů není povolené. Toto chování lze ovlivnit poweshellovým příkazem Set-ExecutionPolicy, ovšem to ovlivní všechny spouštěné skripty. Včetně těch, které uživatel dostane mailem odněkud z Číny a poklepe na ně.

Proto raději použijeme parametr příkazového řádku:

poweshell.exe -executionpolicy remotesigned -File "wgchange-ipv6.ps1"

Automatické spouštění

Pokud máme nastaveno a otestováno, můžeme přistoupit k automatickému spouštění. Otevřeme si MMC snap-in Správa počítače [Computer Management] (případně rovnou spustíme compmgmt.msc) a v plánovači úloh vytvoříme novou úlohu. Zadáme název, účet pod kterým to celé má běžet, povolíme spouštění nezávisle na přihlášení a spouštění s nejvyššími oprávněními.

Přepneme se na kartu Aktivační události [Triggers] a vytvoříme novou událost. Listbox Začátek úlohy [Begin the task] přepneme na Při události [On an event], v listboxu Protokol [Log] vyhledáme Microsoft-Windows-NetworkProfile/Operational, Zdroj [Source] přepneme na Network Profile a do ID události [Event ID] zapíšeme 4004. Můžeme pro jistotu nastavit i položku Zastavit úlohu spuštěnou déle než [Stop task if running longer than].

Přepneme se na kartu Akce [Actions] a vytvoříme novou akci. Do textového pole Program či skript [Program/script] vepíšeme

%SystemDir%\WindowsPowerShell\v1.0\powershell.exe

a do Přidat argumenty [Add arguments] zadáme

-executionpolicy remotesigned -File "Disk:\cesta\k\nasemu\skriptu\wgchange-ipv6.ps1"

Cestu ke skriptu a jeho název je samozřejmě nutné upravit tak, aby odpovídaly skutečnosti.

Na kartě Podmínky [Conditions] zrušíme Spustit úlohu pouze při připojení k napájení [Start the task only if the computer is on AC power].

Všechno uložíme a zkusíme, co to bude dělat. Není špatné si pro první testy zapnout ve spouštěném skriptu logování nastavením proměnné $logFile.

Pokud vše funguje, můžeme si celé nastavení zkusit zautomatizovat přes skupinové politiky.

Drobnosti

Tunelování IPv6 ULA adres

Pokud máte firemní síť s dualstackem a tunel chcete - třeba kvůli případným konfliktům síťových rozsahů - provozovat jen přes IPv6 ULA rozsah, bude vhodné přidat prefix tohoto rozsahu do tabulky prefixových politik tak, aby mu počítač dával přednost před prefixem ::ffff:0:0/96, to jest před adresami IPv4.

Nějaké povídání na toto téma najdete zde, já k tomu jen doplním, že podle mě je lepší místo manipulace s celým prefixem fc00::/7 přidat jen ten jeden konkrétní firemní prefix na pozici vyšší než 35. S adresami uvedenými ve skriptu by tedy úprava proběhla pomocí příkazu netsh interface ipv6 add prefixpolicy fd0a:4eec:658e::/48 37 25 store=persistent. Alespoň tedy teoreticky. V praxi se všechno tvářilo pohodově do chvíle, než jsem počítač restartovala; pak jsem skončila s tabulkou obsahující jen ten jeden přidaný prefix.

C:\WINDOWS\system32>netsh interface ipv6 show prefixpolicies
Querying active state...

Precedence  Label  Prefix
----------  -----  --------------------------------
        37     25  fd0a:4eec:658e::/48

Řešením bylo přidat ten jeden prefix a ostatní explicitně znovu nastavit. Vypadalo by to nějak takto:

netsh interface ipv6 set prefixpolicy ::1/128             50 0  store=persistent
netsh interface ipv6 set prefixpolicy ::/0                40 1  store=persistent
netsh interface ipv6 add prefixpolicy fd0a:4eec:658e::/48 37 25 store=persistent
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96       35 4  store=persistent
netsh interface ipv6 set prefixpolicy 2002::/16           30 2  store=persistent
netsh interface ipv6 set prefixpolicy 2001::/32           5  5  store=persistent
netsh interface ipv6 set prefixpolicy fc00::/7            3  13 store=persistent
netsh interface ipv6 set prefixpolicy fec0::/10           1  11 store=persistent
netsh interface ipv6 set prefixpolicy 3ffe::/16           1  12 store=persistent
netsh interface ipv6 set prefixpolicy ::/96               1  3  store=persistent

Čekání na nahození tunelu při startu

Pokud chceme spouštět skupinové politiky při startu přes tunel, je vhodné nastavit dobu čekání na dostupnost Active Directory. Toho můžeme dosáhnout pomocí skupinových politik (či lokálně přes gpedit.msc) v položce 'Konfigurace počítače/Šablony pro správu/Systém/Zásady skupiny/Zadat dobu čekání pro zpracování zásad při spuštění' [Computer Configuration/Adminitrative templates/System/Group policy/Specify startup policy processing wait time]. Podle dokumentace by ve výchozím nenastaveném stavu měl systém používat hodnotu 30 sekund, ale při testech to jaksi nefungovalo, nečekalo. Poté, co jsem tam těch třicet sekund explicitně zadala, se aplikace politik chytla.

DNS

A ještě k DNS - pokud se používají DNS za tunelem, Wireguard si podle všeho při nahození tunelu zapne i blokování DNS komunikace mimo tunel, patrně kvůli ochraně proti případným DNS leakům. A protože Wireguard nijak nedetekuje, jestli je tunel průchozí nebo ne, může nastat situace, kdy firemní síť přestane odpovídat (výpadek spojení, problém se serverem atd.) a uživatel se najednou nedostane ani na Seznam/Novinky/Facebook/atd.

Řešením samozřejmě je buď umístit druhou stranu tunelu na opravdu spolehlivou linku (například někam do datacentra), nebo raději mít k dispozici druhý nameserver, přístupný přes druhého nezávislého peera (třeba v jiné pobočce firmy).

A to je asi tak vše.

Nasazení do ostrého provozu plánuji po novém roce, uvidíme, co na mě pak ještě vypadne. Kdyžtak to sem doplním.

Testováno s Wireguardem 0.3.4 a Windows 10 rel. 1909 a 20H2.

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Náhrada MS Always On VPN Wireguardem, obrázek 1 Náhrada MS Always On VPN Wireguardem, obrázek 2 Náhrada MS Always On VPN Wireguardem, obrázek 3

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Gréta avatar 26.12.2020 18:29 Gréta | skóre: 28 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem

sem toteďka myslela že *.ps1 sou zdrojáky v pascalu :D

26.12.2020 20:11 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
Případné stížnosti, prosím, směrovat do Redmondu... :-)
29.12.2020 10:58 Luděk Postrašil (SEO UX Experts s.r.o.)
Rozbalit Rozbalit vše PS/1, PS/2, OS/2
PS/1 je architektura počítačů od IBM. Pak byla ještě PS/2 - z ní se dodnes používá např. stejnojmenný konektor pro připojení klávesnic a myší. Také dělali skvělý operační systém OS/2 - ten se dodnes používá v některých bankomatech, ale i jinde. Naši zákazníci na něj nedají dopustit.
26.12.2020 20:06 SPT Telecon
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
Dekuji mnohokrat za poskytnute informace. Velmi uzitecne!
26.12.2020 21:22 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
A tučňáček nebude?
Max avatar 26.12.2020 22:01 Max | skóre: 69 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
Přidán.
Zdar Max
Měl jsem sen ... :(
26.12.2020 22:45 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
A přitom to není o Linuxu. :-)

Díky...
26.12.2020 23:39 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
Šťastné a veselé! 8-D
26.12.2020 23:41 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
Nápodobně... :-)
Max avatar 27.12.2020 01:25 Max | skóre: 69 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Náhrada MS Always On VPN Wireguardem
Tučňák není za Linux, ale za kvalitní článek, já kdysi dostal tučňáka za článek o Win. Značí to technickou úroveň/kvalitu článku, nikoli zaměření. A to je myslím dobře.
Zdar Max
Měl jsem sen ... :(
29.12.2020 11:14 Luděk Postrašil (SEO UX Experts s.r.o.)
Rozbalit Rozbalit vše VPN pro starší verze
Pominu teď, že provozovat Windows je zvrácenost.

Bude to fungovat i na starších verzích? Ono, když má někdo tento legacy systém, tak právě obvykle nepoužívá nejnovější verzi 10. Dobré VPN řešení by mělo fungovat minimálně na Windows XP, ty jsou stále běžně v provozu. Znám i nadšence, kteří dodnes používají Windows 98 a přímo si v tom libují. Mají to vytuněné i po vizuální stránce (desktopové styly Akt X nebo Matrixu atd. včetně nastylovaného WinAmpu). Ale to je spíš v domácnostech - firem a organizací se týkají víc ty XPčka.
29.12.2020 11:15 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: VPN pro starší verze
Netuším. Můžete to vyzkoušet a poreferovat.
Max avatar 29.12.2020 13:02 Max | skóre: 69 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: VPN pro starší verze
Ve firemním prostředí se WinXP sice stále používají, ale né pro klienty, ale pro různé kiosky a další průmyslové zařízení.
Pro klientská zařízení nemá smysl cokoli podporovat pro Windows Vista a starší.
Pokud to budu vztahovat na to, co znám a co spravuji, tak je i tlak se těch WinXP zbavit. A tam jsou dvě možnosti, buď migrace na Linux, nebo výměna hw.
Visty se ani nezačaly používat, toho se hned každý zbavil. Kdo měl Win8, ten přešel na Win10 a zbyla jen hrstka lidí, co tento OS bez podpory, používá.
V dnešní době se tedy bavíme o Windows 7 a Windows 10. Kdo měl Win7 ve firmě, tak pokud mohl, přešel na Win10. Pak tu jsou opět průmyslová zařízení, kde je pak podobná cesta jako u těch s WinXP, tj. přechod na Linux, nebo výměna hw.
S Win7 na desktopu je to pak paralela jako u lidí s WinXP. Prostě nechtějí přejít na supportovaný OS z nějakých vlastních důvodů, tj. většinou nejsou schopni se přizpůsobit změnám, nebo ani nechtějí a raději sestrvají na OS, který nemá bezpečnostní update. Jejich nejčastější argument je, že oni vir nikdy nechytli. A to, že někteří přeinstalovávají PC každý rok je pak jen náhoda :). Stejně tak je nezajímá, že kdokoli bude chtít (cílit na ně), tak se do PC dostane hnedle jedle.
Zdar Max
Měl jsem sen ... :(
29.12.2020 13:29 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: VPN pro starší verze
Já si teda taky myslím, že lézt na Internet z (v případě XP léta) nepodporovaného systému je docela kaskadéřina. Když už není jiná možnost, tak provozovat je někde v oddělené síti bez přístupu ven.

Ale na druhou stranu nejsou to moje data... ;-)
xkucf03 avatar 29.12.2020 13:39 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Jak provozovat MS Windows

Tímhle způsobem je správné přistupovat ke každým Windows (nebo jinému proprietárnímu OS). Ideálně virtualizovat, udělat obraz disku a když něco ve Windows shnije, tak se prostě obnoví celý disk. Ta virtuálka nebo fyzický počítač pak běží v oddělené síti, za firewallem, nemůže s nikým komunikovat a nic nemůže komunikovat s ní – kromě počítače, který slouží jako překladiště pro výměnu dat.

Díky tomu odpadá i ten problém s VPN – ten případný VPN klient běží jinde než na těch Windows (dávat do nich heslo k firemní VPN nebo soukromé klíče je hazard).

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
29.12.2020 13:43 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: Jak provozovat MS Windows
Hmm, ideální svět je fajn, ale já musím pracovat s běžným lidským materiálem. Čili co nejvíc blbuvzdorně.
29.12.2020 21:50 j
Rozbalit Rozbalit vše Re: VPN pro starší verze
Hele a co ti na tom prijde kaskaderskyho? Realne kdyz u toho bude sedet bfu, spusti na tom maximalne browser. Ten muze mit principielne zcela aktualni. A na druhou stranu, kdyz mas deravej browser, tak te ani nejaktualnejsi system nezachrani.

A pokud se budem bavit na tema smb pusteny do verejnyho netu, tak nevidim zasadni rozdil v tom, jestli to je na xp, w7 nebo w10. Nejzasadnejsi problem je stejne v tom, ze kokoti z M$ naprosto nezvladaj system nastavit nejak svepravne bydefault a jeste ti hazou klacky pod nohy, kdyz si to chces nastavit osobne.

---

Dete s tim guuglem dopice!
Max avatar 29.12.2020 22:01 Max | skóre: 69 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: VPN pro starší verze
No, moc browserů, co podporují WinXP, není. Každopádně není pravda, že s děravým browserem jsi druhej. Záleží, jaké bezpečnostní techniky máš na stroji nasazeny. Pravdou ale je, že pro WinXP toho už moc neexistuje (= není podporováno).
Takže ve finále jsi druhej už jen tím, že používáš WinXP.
Zdar Max
Měl jsem sen ... :(
30.12.2020 00:14 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: VPN pro starší verze
Navíc málokdo používá jen prohlížeč. A u některých chyb stačí třeba otevřít obrázek co došel mailem nebo i jen zobrazit v Průzkumníku náhled dokumentu.
29.12.2020 13:33 j
Rozbalit Rozbalit vše Re: VPN pro starší verze
Az na to, ze win7 jsou supportovany jeste nejmin 2 roky.

Pricemz widloaktualizace jeste nikdy nezabranili nikomu si spustit virus. M$ "antivir" sem videl v "akci" jednou jedinkrat ... alergickej je na hwidgen.

Lidi preinstalovavaji widle predevsim proto, ze je to zdaleka nejrychlejsi a casto jedina cesta, jak na widlich resit libovolnej problem. Ty si myslis, ze kdyz moje ovecka dorazi s tim, ze ji neco nefunguje, ze tomu obetuju vic nez 10 minut? Pokud to neni kravina na prave tech 10 minut, tak mu stroj prepisu nacisto a problem je za cca dalsich 15 minut vyresen.

Stejne neexistujou zadny pouzitelny logy naprosto niceho ... u poloviny erroru si na webech kokotu z M$ prectes, ze je mas ignorovat ... tak proc je ti kreteni generujou.

BTW: Ve vetsine prumyslovych stroju ktery sem videl jsou vevnitr prave XP. A jeste nejmin 20-30let tam budou. Protoze tyhle stroje se nekupujou na 5 let a pak do popelnice. Ze stejnyho duvodu spousta firem udrzuje ty XP/w7 na desktopech. Protoze jim na tom bezi nejaka aplikace ktera generuje vystupy prave pro ten stroj, a novejsi verzi vystupu z novejsi verze aplikace ten stroj neumi pouzit.

---

Dete s tim guuglem dopice!
Max avatar 29.12.2020 17:58 Max | skóre: 69 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: VPN pro starší verze
Support W7 skončil před rokem. Nyní už běží jen placený support, který moc lidí mít asi nebude. Stejně tak si ho asi moc firem platit nebude. Navíc komerční programy přestávají oficiálně podporovat Win7, příkladem budiž velmi rozšířený informační systém Helios.
Já zásadně nic nepřeinstalovávám, vždy se snažím vše vyřešit a kápnout na problém, i když bych to měl řešit celý den. Výsledkem je, že jsem tím ve finále ušetřil spoustu času nejen sobě, ale i jiným správcům, co si přišli pro radu. Ten, kdo problémy řeší přeinstalací a reálně je tedy neřeší, se nikdy nic nenaučí, neposune ho to nikam a zůstane zamrzlý a vlak bude ujíždět a ujíždět.
Zdar Max
Měl jsem sen ... :(
xkucf03 avatar 29.12.2020 18:04 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Svobodný software vs. černá skříňka – odlišný přístup k řešení problémů
Já zásadně nic nepřeinstalovávám, vždy se snažím vše vyřešit a kápnout na problém, i když bych to měl řešit celý den. Výsledkem je, že jsem tím ve finále ušetřil spoustu času nejen sobě, ale i jiným správcům, co si přišli pro radu.

Tohle mi dává smysl u svobodného softwaru, kde máš možnost se podívat dovnitř a zjistit, jak to tam funguje (byť i to může zabrat dost času). Ale ne u proprietárního softwaru, který funguje jako černá skříňka, kde se věci prostě dějí a ty často nemáš šanci zjistit proč, natož, abys to chování mohl změnit.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Max avatar 29.12.2020 21:37 Max | skóre: 69 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Svobodný software vs. černá skříňka – odlišný přístup k řešení problémů
To, co jsem napsal, se vztahuje k Windows. A ano, jde to těžce diagnostikovat, ale zatím mám celkem slušnou úspěšnost.
Zdar Max
Měl jsem sen ... :(
Jendа avatar 31.12.2020 15:57 Jendа | skóre: 76 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Svobodný software vs. černá skříňka – odlišný přístup k řešení problémů
Já teda naprostou většinu problémů se svobodným softwarem vyřešil bez koukání do zdrojáku, natož jeho měnění. Jedná se tedy o věc návrhu a architektury, ne o svobodnost.
xkucf03 avatar 31.12.2020 16:13 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Svobodný software vs. černá skříňka – odlišný přístup k řešení problémů

Já se do něj párkrát dívat musel nebo jsem i něco měnil. Ale i když to sám neděláš a jen třeba najdeš hotové řešení na internetu, tak toto řešení dost často pochází od někoho, kdo se do těch zdrojáků podíval – a v případě proprietární černé skříňky tohle nikdo udělat nemůže – jen výrobce toho softwaru, který na to má monopol a na kterého jsi odkázaný.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
29.12.2020 21:36 j
Rozbalit Rozbalit vše Re: VPN pro starší verze
Jasne, takze celej den resis problem, abys ve finale zjistil, ze si stejne nic nezjistil a firma plati zamestnance, kterej nic nedela, protoze ceka az uspokojis svoje ego. Efektivita sama. Z toho uz ti co maji zkusenosti davno vyrostli a predevsim je za to nikdo neplati.

Myslis ten helios (green), kterej uz par let nasazujou v CT a kazdej kdo kolem toho jen projde nadava kudy projde? Myslis ten, co pro nej soudruzi vyrobili novy (a zcela nefukcni)* UI, pojmenovali to Nephrite a snazej se to prodat jako novej system, pochopitelne za plnotucnou cenu?

BTW: helios (green) bezi na .NET a vcelku vpohode i (nativne) v tuxovi, ale pst, to se nesmi rikat moc nahlas. A pochopitelne to neni oficielne podporovana konfigurace.

BTW2: To sis pri tom svym sedmickobijstvy nestacil vsimnout, ze M$ vydal dx12 pro win7 ze? Procpak oni to safra asi tak delaj, kdyz je to ten unsupported system pro kterej dx12 "NIKDY" nebude (do w98se byl backportovanej dx9 taky vpodstate az v okamziku, kdy uz byly nepodporovany).

*Jen z toho co mi ted z hlavy prijde na mysl, tak pokud nekdo ve widlich pouziva jiny nez 100% meritko, tak se to rozpadne zcela dokonale, vcetne toho ze zmizej vsechny ikony. Dalsi ubeficura je to, ze naprosto cokoli kdekoli vytece z obrazovky, takze se naprosto bezne stava, ze to cosi na co ma user kliknout, je nekde asi tak metr vedle monitoru.

---

Dete s tim guuglem dopice!
Max avatar 29.12.2020 21:45 Max | skóre: 69 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: VPN pro starší verze
Takže to, že se mi vložená energie do zjištění řešení vrátila + pomohla i jiným, chápeš tak, že to není rentabilní? :D. Já si naopak myslím, že to, co děláš ty, je nerentabilní. Neustále něco přeinstalovávat, protože něco nevím, to je podle mně vyhozený čas, který bych ti nezaplatil ;-).

Jinak to s tím dx12 je z roku 2019, jak to souvisí s tím, že v roce 2020 skončil bezplatný support? Nijak, prostě už na to většina lidí nesežene security update.

Pokud jde o Helios, mně se to řešení také nelíbí. Je to tlustý klient, je to celkem líný atd. To ale nemění nic na faktu, že je to hodně rozšířené.
A podobně to mají se supportem MSSQL, starší verze nepodporují a běh na Linuxu také ne, protože nemají lidi, co by to supportovali.
Zdar Max
Měl jsem sen ... :(
30.12.2020 00:21 Jana J. | skóre: 4 | blog: Sem_vlozte_jmeno_blogu | Praha
Rozbalit Rozbalit vše Re: VPN pro starší verze
Totéž třeba Abra Gen, taky v létě zrušili podporu Windows 7. Vím že u jednoho zákazníka na jednom archivním počítači se sedmičkami, co se prý nesměl upgradovat, pak začala padat. Takže už upgradovaný je... :-)
29.12.2020 13:18 j
Rozbalit Rozbalit vše Re: VPN pro starší verze
Nebude ...

Problem (libovolnyho) ps scriptu je v tom, ze at uz je v nem napsano cokoli, je to zavisly na konkretnich revizich vseho kolem. Staci o 0.00.1 jina verze ps, a zjitis, ze tam neco neni nebo to funguje jinak. A to nemluvim o tom, ze chces mit script, kterej bude fungovat na rekneme 3 ruznych verzich widli, to je skoro nerealizovatelny, a i kdyz takovej script odladis a funguje ti, tak za tyden prestane, protoze se neco opatchuje.

Tohle je naprosto nejzasadnejsi rozdil proti tuxlike systemu "vsechno je text".

Jinak widlovpnky jsou katastrofa samy o sobe. A ano, mluvim v mnoznym cisle. Protoze ve widlich je nekolik systemu jak vpn zprovoznit, a realne nefunguje zadnej. Nejvetsi rit je ta, ze kdyz nastavis neco trebas prave z ps, tak ti pak UIcko nadava, ze VPN obsahuje nepodporovany parametry a kdyz pak nedej boze zmenis neco z toho UI, tak se to zesere naprosto dokonale.

Jakykoli bezpecny sifrovani je pak pro M$ sprosty slovo. Ostatne, nejhorsi mozna varianta se kterou se jeste strongswan bydefault spokoji odpovida nejlepsi variante, kterou ti widle (a mluvim samo o nejposlednejsich desitkach) bydefault dovolej nastavit.

---

Dete s tim guuglem dopice!

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.