Core server, FiberChannel és MPIO
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.
Intermediate CA fontossága
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 🙂
TLS 1.0 és 1.1
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
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 😀
RDP tanúsítvány saját CA-val
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 🙂 .
Wsus gondok Win 2022 upgrade után
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.
CA tanúsítvány igénylése – parancssor
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á 🙂 )