Skip to Content

IT nieuczesane.

Jak szybko wygenerować certyfikaty dla Always On

Zadanie niby trywialne – skonfigurować TLS na SQL Server z grupami Always On. Chwila szukania i wiem co musi mieć template certyfikatu. https://technet.microsoft.com//en-us/library/ms189067(v=sql.105).aspx#Anchor_2 mówi, że jest potrzebne m.in.

The certificate must be meant for server authentication. This requires the Enhanced Key Usage property of the certificate to specify Server Authentication (1.3.6.1.5.5.7.3.1).

Pech chciał, że akurat miałem pasujący template, który poza tym pozwalał na client authentication i postanowiłem go użyć. Niestety takie podejście okazało się skuchą bo certyfikat musi mieć wyłącznie OID 1.3.6.1.5.5.7.3.1 . Jeśli pojawi się cokolwiek innego to koniec, kaplica, bez szans. SQL go nie uzna i nie pozwoli na użycie do szyfrowania połączeń. Z punktu widzenie bezpieczeństwa ma to sens ale mogło by się gdzieś w dokumentacji pojawić, że leniuchy będę musiały stracić czas na zastanawianie się czemu nie działa. Koniec końców, całkiem nieźle sprawdziłPKI się standardowy template Web Server :-)

Drugim problemem dla leniwego admina pojawia się wygenerowanie requestów z wszystkim nazwami listenerów (purystów przepraszam za moją hiperniepoprawną polszczyznę) na wszystkich serwerach. https://msdn.microsoft.com/en-us/library/hh213417.aspx#SSLcertificates bardzo ładnie podaje, że temat certyfikatu to hostname bądź fqdn serwera a SAN musi zawierać wszystkie nazwy DNSowe listenerów (zarówno skrócone jak i fqdn). I tu pojawiają się dwa problemy (korporacyjnie: wyzwania) bo po pierwsze serwerów jest dużo a po drugie każdy z nich ma po kilkanaście listenerów. Jako, że nie chce mi się tyle klikać w GUI a tym bardziej nie chcę zrobić nigdzie literówki, piszę coś takiego i paroma linijkami kodu ratuję sobie resztę dnia 😉

 

słowo o prywatności

privacytaka anegdotka na chwilę refleksji…

oddałem ostatnio stare kasety VHS i Hi8 do dygitalizacji. przed przekazaniem zapytałem, czy dostanę jakiś certyfikat, zapewniający, że materiał nie zostanie skopiowany ani wykorzystany bez mojej wiedzy. pan się uśmiechną, pokiwał głową i powiedział

‚wie Pan, przez tyle lat przychodziło tu tyle osób, nawet jacyś ambasadorzy, osoby publiczne…. i nikt nigdy nie prosił o takie zaświadczenie…’

eN.

 

nieautoryzowany email do zmiany hasła office365

ciekawy przypadek

firma X qpiła klientowi licencje i założyła tenant office365. projektu nie zrealizowała i przeszedł na nas. pozmienialiśmy wszystkie dane, przepięliśmy konto Global Admina, łącznie z ‚aternative mail address’. można to zrobić z interfejsu, a z PS wygląda to tak:

i niby wszystko załatwione….

ale zupełnie przypadkiem postanowiłem sprawdzić zmianę hasła i moim oczom ukazało się:

Microsoft Online Password Resetprzy czym ten drugi adres, należał do osoby z firmy X.

przeczesałem wszystkie znane miejsca i nigdzie tego adresu nie ma. w panelu o365 również widać tylko podstawowy.

o365 support

bardzo rozczarowało mnie wsparcie o365. wysłałem ticket jako partner obsługujący klienta, z oznaczeniem ‚critical – security breach’. przy każdej wymianie korespondencji były mi proponowane te same kroki, te same pytania, wysłałem screenshoty, wysłałem PSR (problem steps recoder) i nadal dostawałem instrukcję jak zmienić email przez portal o365. po kilq mailach ticket został zamknięty z informacją mniej-więcej ‚ten problem to nie problem’.  nie było eskalacji, po prostu nie potrafił rozwiązać to zamknął. łoś.

rozwiązanie

trochę mi zajęło, ale znalazłem miejsce, gdzie zapisany został drugi adres. trzeba założyć AzureAD [tak na prawdę pod spodem i tak się zakłada, ale cały portal manageazure jest nieaktywny], wyedytować właściwości domeny, włączyć usługę ‚Reset Password’ i przejść do skonfigurowania maila. okazuje się, że jest to oddzielna baza, do której nie ma innego dostępu [?]. poniżej kroki w obrazkach:

  • założenie portalu AAD

EnterAzureAD

  • Przejście do konfiguracji domenyResetPassword00
  • włączenie Reset Password. następnie trzeba przejść na stronę gdzie można skonfigurować dane [zaznaczone]ResetPassword01
  • i już widok samej strony gdzie są skonfigurowane daneResetPassword02

eN.

disconnect-msolService

qmgdzie jest disconnect-msolService?

nie jest to sesja – tak jak dla exchange online.

zajrzeć jak to działa się nie da, bo to dll’ki.

…na grzebanie po bebechach i reverse nie mam czasu /:

eN.

OneDrive for business – sync

TVtaki mały trick… ponieważ po raz kolejny rozwaliła się lokalna biblioteka, i ponieważ po raz kolejny straciłem czas i nerwy, a do normalnej wersji zostało jeszcze ok. pół roq, mały tips, który może oszczędzi komuś zgrzytów:

  • jeśli otworzy się bibliotekę z Edge albo FF to zostanie się przekierowanym na stronę z downloadem całego office2o13 – zainstaluje się 1GB po to, żeby był klient OneDrive2o13, i zaczyna tak bruździć, że pozostaje tylko usunięcie profilu użytkownika.
  • ale jak otworzy się z IE, to okazuje się, że ten klient z office16 zawiera odpowiedniego klienta i jednak potrafi synchronizować, i wtedy na jakiś czas znów można korzystać…

… aż znów z niewiadomych powodów zacznie się kaszanić. średnio biblioteka współdzielona wytrzymuje mi ok. miesiąca i zaczyna się rozjeżdżać /:

kilka rzeczy, których robić nie wolno, bo generują problemy [nie zawsze, ale lepiej unikać], dla bibliotek z wymuszeniem check-in:

  • zapisywać plik z Internetu/załącznik z maila. chodzi o ADS, który bloqje synchronizację
  • nadpisać plik. trzeba usunąć, wymusić sync i nagrać
  • korzystać z aplikacji, które robią lock na plikach

eN.

CSV, SSV… ? ULSLSSV!

Windows_PowerShell_iconwpis z cyklu ‚człowiek uczy się całe życie’ (; od zawsze pluję się, że durny Excel pliki CSV – Comma Separated Value – zapisuje/odczytuje jako Semicolon Separated Value z niewyjaśnionych przyczyn.

okazuje się, że sprawa jest bardziej skomplikowana i to nie jest ani CSV, ani SSV tylko ULSLSSV – czyli User Language Specyfic List Separator Separated Value (;

listSeparator

o ile dla US „List separator” to przecinek, więc dla Amerykanów CSV to CSV o tyle dla Polaków „List separator” to średnik… jest to dodatkowe utrudnienie na które trzeba uważać w skryptach bo mogą uruchamiać je osoby o różnych ustawieniach regionanych. o ile głupotą jest że CSV to SSV kod jest prosty:

a prawidłowo-bezpiecznie, w skryptach trzeba uważać i zamienić to na:

eN.

SecureString

Windows_PowerShell_iconscenariusz użycia

używanie SecureStringów w PS jest poniekąd wymuszone – w taki sposób przechowywane są hasła, np. w credentialsach:

SecureString przydaje się do przechowywania haseł, używanych w skryptach – np. skrypt do automatycznego podpięcia licencji office365, który wymaga podania credsów użytkownika z uprawnieniami co najmniej ‚User Manager’. można hasło zapisać w pliq jako SS a potem wewnątrz skryptu je odczytać i użyć do złożenia credsów:

bezpieczeństwo SS

rodzą się natychmiast pytania o bezpieczeństwo SecureString – czy takie hasło da się odszyfrować i jak łatwo? hasło jest szyfrowane kluczem, który generowany jest na podstawie hasła użytkownika, a masterkey jest przechowywany na komputerze lokalnym. odpowiedzialne jest za to DPAPI – tutaj znajdziecie więcej informacji. klucz jest przechowywany w $env:USERPROFILE\Application Data\Microsoft\Protect\<GUID>. w efekcie

  • plik jest nie do odczytania na innej maszynie
  • plik jest nie do odczytania przez innego użytkownika

czyli nic da ‚wykradzenie’ pliq lub użycie go w kontexcie innego użytkownika.

są potencjalnie metody potrafiące złamać klucz [np. hawkeye inject], ale nie znalazłem praktycznego opisu i na pewno nie są to metody na poziomie script kiddie. można zatem uznać, że jest to świetne narzędzie dla skryptów, które wymagają podania hasła.

addendum

na koniec – jak  odczytać hasło zapisane jako SS? podam dwie metody – dla devów i dla opsów (;

dla devów:

dla opsów:

po zbudowaniu obiektu credential z wcześniejszego przykładu, mamy zmienną $creds

eN.

port ping upd

Update-icon

update do poprzedniego wpisu – można bez tooli zewnętrznych zrobić tą samą operację przy pomocy test-netConnection

ziemq, dzięki za update (:

ale o co cho z captchą – nie wiem. testowałem i nie mam żadnych obrazqw q:

eN.

port ping

repairjak szybko sprawdzić czy dostępna jest już konkretna usługa/aplikacja na hoście? najlepiej sprawdzić czy port jest otwarty. można użyć telnetu ale jeśli czekamy na usługę i chcemy wykonywać testy co jakiś czas, aż do sqtq – będzie to bardzo denerwujące, ponieważ telnet jest bardzo siermiężny.

lepiej jest pingować port – co można uzyskać np, przy pomocy psping z sysinternalsowych narzędzi.

eN.

NoDrive for business

driveflagowy produkt chmurowy do pracy grupowej – przestrzeń plików OneDrive… rozwiązanie na rynq – od wielu lat. powstał z usługi groove, którą pamiętam jeszcze z 2oo7. korzystał z niej chyba tylko eMeS (; potem przerodził się w SkyDrive, a za chwilę w OneDrive, ze względu na roszczenia do nazwy przez brytyjską stację. została nazwa klienta – groove.exe.

OneDrive został zintegrowany z w8, i za chwilę doczekał się nowej, szaleńczej nazwy – OneDrive for Business New Generation Sync Client. sam akronim mógłby być wyrazem – ODfBNGSC [ O_o’ ] . literek jak w podręczniq do nauki alfabetu, a co potrafi ten klient? ponoć charaktryzuje się ‚większą wydajnościa i stabilnością’.

w końcu opublikowano oficjalną roadmapę dla klienta NGSC opisującą jakie to mega-ficzery pojawią się w najbliższym update, dostępnym w ciągu najbliższych 2tyg. ale.. ale najważniejszy zapowiedziany jest dopiero na jesień!

SharePoint Document Library Sync—We’re adding SharePoint Online document library sync, starting with a preview in the third quarter of 2016, with general release by the end of 2016.
na tą chwilę aby korzystać z biblioteki współdzielonej, konieczne jest skorzystanie ze starego klienta groove. tutaj jest kilka dziwnych scenariuszy – niby klient załączony jest do office 2o16… ale czasem nie jest. nie chce mi się dochodzić kiedy i jak to działa, bo strawiłem godziny na reinstalację wszystkiego kilqkrotnie. komponent instalujący ‚OneDrive for Business for office 2o13‚ zajmuje 1GB a co więcej – wydaje się, że nowy office 2k16 nie jest z nim kompatybilny w efekcie czego jedynym sposobem jest otwieranie dokumentów via przeglądarka Web. tak mi paraliżowało to pracę że finalnie przeinstaowałem cały system [LoL – jak w 9o’], bez instalacji dodatkowego komponentu wskazanego w linq. i to jest właśnie największa bolączka wszystkich dotychczasowych wersji tego klienta: brak możliwości debugowania i reperacji.
nie ma również na ten temat w zapowiedziach – ani debugowania, ani logowania, ani reperacji błędów synchronizacji. być może przestanie to być takie krytyczne, jeśli klient zacznie w końcu działać porządnie, ale obecnie sytuacja jest żenująca. w przeważającej ilości przypadqw, jedynym sposobem naprawy problemów synchronizacji jest jej wyłączenie i powtórne włączenie, co wiąże się założeniem kolejnego katalogu i powtórnej, pełnej synchronizacji. w przypadq jeśli biblioteka ma kilka-kilkanaście GB to nie jest zabieg miły ani przyjemy. podobnie sama instalacja potrafi tak namotać, że nie wystarczy nawet przeinstalowanie pojedynczych komponentów.
pozostaje być cierpliwym i do końca roku przecierpieć i liczyć na to, że ODfBNGSC będzie w końcu działał jak należy, bo  wpływ na efektywność pracy w obecnej postaci, jest olbrzymi /:
eN.