Core server, FiberChannel és MPIO

augusztus 12, 2022 2 hozzászólás

Adott helyen abban kérték a segítségem, hogy egy három tagból álló Hyper-V fürt egyik kiszolgálóján valami nem kerek. A jelenség szerint a ClusterStorage-ba felcsatolt köteten belül nem látszanak a mappák, de ha adott VM-et oda akarunk mozgatni, akkor megjelenik a könyvtár, látszólag némi adattal, de a LiveMigration hibát dob.

A nyomozás során jó pár nehezítés jött szembe, hiszen a vason egy ingyenes (Core) Hyper-V futott, tehát a grafikus eszközöket (lokálisan) nem tudtam használni. Szerencsére annyi előnyöm volt, hogy tartományba léptetett gépről lévén szó, távolról a Server Manager segítségével pár dolgot grafikusan is meg tudtam mutatni a kollégáknak.

Azt elég hamar meg tudtuk nézni, hogy optikán (Fibre Channel) van összekötve a tárolóval, de a kiosztott LUN-ok többszörösen jelentek meg a lemezek között. Ilyenkor természetesen az MPIO a következő lépés, nos, azt is meg tudtuk nézni távolról, hogy telepítve van (de természetesen itt is lehetett volna a Powershell). A következő kérdés viszont az MPIO beállítása volt, ami már egy érdekesebb történet, hiszen grafikus felületen pár klikk, ebben az esetben viszont vagy a Powershell megfelelő utasításai, vagy egy “régi”, parancs-sori eszköz segíthet: mpclaim. Ennek is rengeteg kapcsolója van; amivel érdemes kezdeni (s esetünkben ez már segített is), az

mpclaim -r -i -a “”

Ezek után már szépen látszottak a lemezek, sőt, a fürtben is teljes tagú szereplőként tudott részt venni.

Power plan on server

július 13, 2022 Hozzászólás

Most egy banális, de annál nagyobb súlyú tervezési hiba miatt lett a piros gomb megnyomva.

Adva van egy cég, a szokásos két tartományvezérlővel, viszont észlelték, hogy időnként a két DC nem elérhető, leállított státuszban van. Ilyenkor mindig elindították, de egy ideig nem keresték a hiba okát (a miértet nem firtattam…). Amikor végül megelégelték, s segítséget kértek, kiderült a turpiság.

Első körben nézzük az eseménynaplót:


Kikerekedett a szemem. Nocsak. Egy kiszolgáló, ráadásul DC, elmegy aludni – ki engedte meg neki? Feltételezzük első körben, hogy nem egy spéci driver küldte aludni, hanem maga a rendszer, nézzük a “Power options” beállításokat. “High performance” opció volt kiválasztva, viszont egy érdekes sorral. Egy hagyományos, normális kiszolgálón ez így néz ki:


Az adott kiszolgálón viszont így:


Ezzel két probléma is van:

1. szerveren alapból nem elérhető

2. hiába módosítottam kézzel Never-re, egy idő után visszaállt 1h-ra – tehát itt valószínűleg GPO-ból van szabályozva.

Nézzük akkor a GPO-kat, mi vonatkozik a DC-kre. Sajnos kiderült, hogy a legrosszabb verzió, a Default Domain Policy lett piszkálva:


Ezzel szintén két probléma van:

1. MS-ajánlás, hogy nem szoktuk módosítani a Default policy-ket: volt már olyan segítségkérésem, hogy eltűntek/megsérültek az alap-GPO-k, s vissza kellett állítani őket nulláról, ilyenkor természetesen a változtatások elvesznek (jellemzően nincs dokumentálva, hogy milyen módosítások kerültek még bele).

2. ha már módosítjuk, akkor gondoljuk végig és teszteljük. Ha tényleg kell a teljes tartományra, attól még meg lehet úgy oldani (WMI; GPO-filtering – akár csoporttagság, akár Deny apply; GPO-linkelés csak adott OU-khoz, s még lehetne sorolni az opciókat), hogy kiszolgálókra (s főleg DC-kre!) ne legyen érvényes…


Intermediate CA fontossága

május 23, 2022 Hozzászólás

Adott cégnél felmerült az a probléma, hogy a levelező-kliens egy tanúsítvánnyal aláírt levél esetén panaszkodott az aláírásra (mindamellett, hogy a láncolat fő-tanúsítványa érvényes is volt és telepítve is!)

   

A sárga háromszög az alábbi hibaüzenetet rejtette, itt a “Részletek” a fontos:


Ha megnyitottuk, akkor ez a hibaüzenet fogadta a felhasználót:

Hiba:

A rendszer nem tudja érvényesíteni az aláírás létrehozásához használt tanúsítványt, mert a tanúsítvány kibocsátójának hitelességi tanúsítványa nem érhető el vagy érvénytelen.

A rendszer nem tudja meghatározni, hogy az aláírás létrehozásához használt hitelességi tanúsítvány megbízható-e vagy sem.

Aláírta: xx@domain.com, módszer: RSA/SHA256 idő: .


Szokás szerint a Részletek segítenek, akkor az aláírásnál ez a hibaüzenet fogad:


Hiba: Problémák léptek fel az aláírás létrehozásához használt hitelességi tanúsítvány érvényesítésekor.

Ezek után jön a valódi megoldás: ha rámegyünk a “Tanúsítvány megtekintése” gombra, akkor a köztes CA (mivel megbízható Root CA-tól lett kiállítva) automatikusan bekerül a felhasználó-szintű köztes tanúsítvány-kiállító-tárolóba. Ha ilyenkor megnézzük a “Certificate path“-t, akkor azt tapasztaljuk, hogy minden csupa pipa – sőt, ha bezárjuk sorra az ablakokat, amiken keresztül idáig jutottunk, mindegyiknél megjelenik a pipa.

S hogy miként lehet ezt a sok-sok ablakot elkerülni? Például, ha a láncolat összes elemét előre felvesszük a tanúsítványtárba (ez ugye mehetne akár gép-szinten), hiszen így tudja ellenőrizni a hitelességet – ehhez pedig fel tudjuk használni az előző lépések során látott/kapott tanúsítványok exportjait 🙂

Kategóriák:PKI Címkék: , ,

TLS 1.0 és 1.1

február 15, 2022 Hozzászólás

Mint azt régebben már tudtuk, a nemrég megjelent Edge/Chrome 98-as verziójával kezdve megszűnik a TLS 1.0 és 1.1 támogatása. Ezt azok fogják leginkább észrevenni, akik régebbi rendszereken “ragadtak” ilyen/olyan okból kifolyólag, s a protokollt sem frissítették.

Ilyen esetben az alábbi üzenet jelenik meg:

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Megoldás az természetesen kiszolgáló-függő, ha be lehet kapcsolni a TLS 1.2-t, akkor egy ideig meg lehet úszni a cseréjét, de ez mindenképp egy figyelmeztetés kell legyen az üzemeltetőnek. Sajnos elég sokan most kaptak észhez, s nyomják a piros gombot, amikor rájönnek, hogy most már telefonról/böngészőből nem használható az oldaluk/levelezésük…

Anélkül, hogy túlzottan belemennénk a részletekbe, a blogon már többször említett openssl-el ugyanakkor tudjuk tesztelni, hogy milyen titkosítási protokoll van támogatva:

openssl s_client -connect kiszolgalo.hu:443 -tls1

openssl s_client -connect kiszolgalo.hu:443 -tls1_1

openssl s_client -connect kiszolgalo.hu:443 -tls1_2

Amennyiben visszakapjuk a publikus tanúsítványt (meg a többi lekérdezett érték is jó), akkor a kiszolgáló támogatja a jelzett protokollt, ellenkező esetben vagy még “reszelnünk” kell rajta, vagy (ha annyira elavult) lecserélni egy korszerűbb változatra.


2022 januári frissítések

január 14, 2022 1 hozzászólás

Nem szoktam minden apróságról írogatni (ezért most ennek kapcsán sem mennék bele technikai részletekbe), viszont úgy tűnik, még nem mindenkihez jutott el a információ, hogy a januári frissítés-csomag gondot okozhat az L2TP/IPSEC VPN felépítésében. Tudom, hogy rengeteg más hiba is javításra került benne, de attól még nem győzzük hangsúlyozni a tesztelés fontosságát. Az érintett foltok KB5009543 (Win10) és KB5009566 (Win11) eltávolítása segíthet.

@Soder, igen, tudom, még mindig szívás 😀

Kategóriák:General, Windows 10 Címkék: , ,

Exchange Y2K22 hiba

január 1, 2022 5 hozzászólás

A Microsoft (s elsősorban az Exchange 2016/2019) fejlesztői sokat fognak mostanában csuklani, mivel a világon nagyon sok rendszergazda miattuk fogja az új évet hibakereséssel kezdeni.

A gond ott van, hogy a levelek beragadnak a kimenő sorba, „Message deferred by categorizer agent” hibaüzenettel. Az ok az, hogy az „MS Filtering Engine Update” megkapta a legújabb, “220101001” verziószámú (később a 02 végű) frissítését – viszont a verziószám tárolására használt változóban a „22” kezdetű érték már nem fér el (a pontos technikai részletek – signed long/unsigned long – már nem a cikk témája).

A megoldás aránylag egyszerű: kikapcsolni (Disable-AntiMalwareScanning.ps1) vagy átlépni a malware-szűrőt:

Set-MalwareFilteringServer -BypassFiltering $True -identity <Kiszolgálónév>

A Microsoft Exchange Transport újraindítása után szépen elindulnak a levelek 😊

Update: Javítás itt: https://techcommunity.microsoft.com/t5/exchange-team-blog/email-stuck-in-exchange-on-premises-transport-queues/ba-p/3049447

Kategóriák:Exchange Címkék: , ,

Exchange vs AD-séma

december 25, 2021 Hozzászólás

Nemrég egyik olvasóm megkeresett, hogy segítsek neki, mert a séma-verziókról szóló cikkem segített neki, de az ott található linkek elavultak/érvénytelenek, a verziószámokról nem is beszélve.

Azóta valóban sok víz lefolyt a Dunán 🙂 Az AD-sémák felsorolásától most eltekintenék, a kolléga inkább Exchange-oldalról közelítette meg a témát. Nos, annak lekérdezését is frissítsük akkor, hiszen PS-ből csodálatosan lekérdezhető:

Import-Module ActiveDirectory

# Exchange Schema Version (forest)

$sc = (Get-ADRootDSE).SchemaNamingContext

$ob = “CN=ms-Exch-Schema-Version-Pt,” + $sc

Write-Output “(Forest Exch schema) RangeUpper: $((Get-ADObject $ob -pr rangeUpper).rangeUpper)”

# Exchange Object Version (forest)

$cc = (Get-ADRootDSE).ConfigurationNamingContext

$fl = “(objectClass=msExchOrganizationContainer)”

Write-Output “(Forest Exch object) ObjectVersion (Configuration): $((Get-ADObject -LDAPFilter $fl -SearchBase $cc – pr objectVersion).objectVersion)”

# Exchange Object Version (domain)

$dc = (Get-ADRootDSE).DefaultNamingContext

$ob = “CN=Microsoft Exchange System Objects,” + $dc

Write-Output “(Domain Exch object) ObjectVersion (Default): $((Get-ADObject $ob -pr objectVersion).objectVersion)”

Ha viszont csak a pőre számok érdekelnek bennünket, itt található egy aktuális lista (mondjuk más sorrendben, mint a fenti lekérdezés, de a kiíratásnál betettem az itt használt megnevezést is).

Ha pedig arra vagyunk kíváncsiak, hogy melyik Exchange CU esetén változik a séma, itt (2016 esetén itt) kapunk rá választ.

Kategóriák:Exchange Címkék: , ,

RDP tanúsítvány saját CA-val

november 7, 2021 2 hozzászólás

Régebben, amikor sárga ablakokról beszéltünk, nem ejtettünk szót egy másik megoldásról. Jellemzően, mi van, ha van belső CA-nk: lehet-e használni az általa kiállított tanúsítványokat az RDP-kapcsolatokhoz? Nos, igen, bár kell hozzá pár dolog (hacsak nem akarjuk kézzel, egyesével ujjlenyomat alapján hozzárendelni).

Egyrészt a tanúsítvány kell tartalmazza vagy a “Server Authentication” vagy a “Remote Desktop Authentication” EKU-t. Az első, egyértelmű – de a második nincs a listában. Ilyenkor megtehetjük az, hogy felvesszük “custom” meghatározásként, 1.3.6.1.4.1.311.54.1.2 értékkel.

(Ha véletlenül elgépeltük, vagy mondjuk át akarjuk nevezni, akkor ADSIEdit a barátunk, a konfigurációs konténer:

CN=OID,CN=Public Key Services,CN=Services,CN=Configuration )

Tapasztalatom alapján javasolt, hogy ne csak CN-ben, hanem SAN-ban is legyen benne a gép “igazi” FQDN-je (ha más névvel akarunk rá hivatkozni, természetesen az is benne lehet a SAN-ban). A tanúsítvány helyét ne bántsuk, maradjon a “Personal” tárolóban (ugye az alap önaláírt máshol van).

Ez még nem elég, még “élesítenünk” is kell.

Ehhez Computer Configuration> Policies >Administrative Templates > Windows Components > Remote Desktop Services >Remote Desktop Session Host > Security (régebbi rendszerek esetén “Remote Desktop Session Host” helyett csak “Session Host“) útvonalon a “Server Authentication certificate template” értékét kell kitölteni, a sablon nevével (tudjuk, ez a szóköz nélküli verzió 🙂 ) – extrémebbek a sablon OID-ját is használhatják 🙂 .

Kategóriák:PKI Címkék: ,

Wsus gondok Win 2022 upgrade után

szeptember 19, 2021 4 hozzászólás

Pár napja publikus lett a Windows 2022 (pl. VLSC*), de az “éles” ismerkedésünk nem indult valami jól. Az egy dolog, hogy szűz telepítésnél hogyan viselkedik, de tudjuk, hogy puding próbája az evés – így mondjuk például egy in-place upgrade már jobban kimutatja a problémákat. Természetesen a felmerülő kérdéseket nem szabad általánosítani, hiszen a helyi sajátosságok is közrejátszanak, majd a jövő megmutatja, hogy ez valóban lokális gond volt-e.

Adott cégnél próbálták ki az upgrade-et egy 2019-ről. Maga a telepítés sikeresen lezajlott, de utána máris kellett a segítségem, ugyanis pl. a Wsus upgrade-je sikertelen lett. Maga a hibaüzenet nem ismeretlen az IT-sok világa előtt, hiszen láttunk már ilyent:

Fatal Error: The schema version of the database is from a newer version of WSUS than currently installed. You must either patch your WSUS server to at least that version or drop the database.

Előbb természetesen megnéztem az adatbázis-verziót meg a post-Wsus konfigban szereplő verziót – egyezett (ellenkező esetben az alábbi parancsot érdemes lefuttatni):

C:\Program Files\Update Services\Database\UpdateSchemaVersion.sql

Mivel nem akartak sokat foglalkozni ezzel az adott cégnél, kérték, hogy akkor nulláról indítsuk. Így előbb megpróbáltam simán adatbázis törléssel (SQL Management Studio-ból) és ismételt létrehozással (anno máshol nem WID volt, így a jegyzeteimben ott volt még a szögletes zárójelbeli kiegészítés):

wsusutil.exe postinstall [SQL_INSTANCE_NAME=server\SQLEXPRESS]

Majd, amikor (látszólag) ez sem vezetett eredményre, letöröltük a WID instance-t és a WSUS szerepkört, majd újraindítás után újratelepítettük. Itt már biztossá vált, hogy nem ezzel volt baj, hiszen a WSUS konzol félig-betöltése továbbra is megmaradt.

A rend azután állt helyre, miután a 4GB memória növelésre került. Az eredeti elképzelés szerinti feladatokra lehet, hogy elég volt anno ez a mennyiség, de megnézve az aktuális terheltséget, szükség volt a +1GB-ra, főleg a kezdeti szinkronizációhoz (elég szűkös erőforrásokkal rendelkeznek…).

*VLSC: Ott is nagy változások történnek, hiszen az MS igyekszik kivezetni a “sima” fiókok használatát s “céges” fiókok irányába terelni. Ez részben jogos, hiszen általában a licenszek adott céghez/cégekhez kötődnek, így abban a cégben létre lehet hozni egy új felhasználót – még ha nem is kap licenszt igénylő postafiókot; ugyanakkor véleményem szerint ennek a műveletnek a szükségessége kaphatott volna nagyobb visszhangot.

Kategóriák:Windows Server, Wsus Címkék: , ,

CA tanúsítvány igénylése – parancssor

július 22, 2021 1 hozzászólás

Rengeteg parancssori eszköz létezik, most a Windowsos beépített eszközök használatáról ejtek pár szót (pontosabban már létező .req file CA-nak való átadása a cikk témája). Már az elején tisztáznám, hogy Enterprise környezetben, tehát sablonokkal fogunk dolgozni, ezért tegyük tisztába a sablon “valódi” és megjelenített nevét (spoiler: ezt a tudást egy következő cikkben is fogjuk használni).

Természetesen grafikus felületen is a sablon-kezelő konzolon meg tudjuk nézni a sablonok nevét (“Template name”) (s itt nem a megjelenített névre (“Template display name”) gondolok!), de erre van lehetőségünk parancssorból is:

certutil -config “server.domain.local\CA-Name” -CATemplates

Ez azért fontos, mert amikor a certreq parancsot használjuk, akkor a sablonnak NE a megjelenített nevét használjuk, hanem a “valós”, valószínűleg a megjelenített név szóközök nélküli változatát.

certreq -submit -attrib “CertificateTemplate:Webserver” RequestFile.req

(Súgó: amennyiben a megjelenített nevet használjuk, akkor sajnos a CA nem pontos hibaüzenettel örvendeztet meg bennünket:

Certificate not issued (Denied) Denied by Policy Module 0x80094800, The request was for a certificate template that is not supported by the Active Directory Certificate Services policy: Web server.

The requested certificate template is not supported by this CA. 0x80094800 (-2146875392 CERTSRV_E_UNSUPPORTED_CERT_TYPE)

Hibakeresésnél természetesen ellenőrizzük, hogy létezik a sablon és jó jogokkal, de utána azt is nézzük meg, hogy milyen névvel hivatkoztunk rá 🙂 )

Kategóriák:PKI Címkék: ,