Exchange MessageTracking like a Ninja

7 września 2017 at 19:49

Dzisiaj na tapetę weźmiemy Message Tracking czyli przeszukiwanie logów poczty Microsoft Exchange dotyczących maili krążących pomiędzy serwerami pocztowymi. Niby temat znany i na pierwszy rzut oka niewiele więcej odkrywczego w nim można napisać, ale jestem przekonany że prezentowana treść może się przydać w niejednym przypadku Standardowe podejście w przypadku Message Trackingu to odpalenie w sesji Powershella z połączeniem do serwerów Exchange’a polecenia w stylu:

Ewentualnie dodanie warunków zawężających przeszukiwanie (np. data początku, data końca, Event SMTP itd.) O ile w przypadku konkretnego adresu e-mail nadawcy lub odbiorcy sprawa jest banalnie prosta bo wystarczy wykonać polecenia w stylu:

O tyle w przypadku chęci wyszukiwania wiadomości mailowych wysłanych lub odebranych z całej domeny pocztowej ‚X’ ulega znacznej komplikacji. Dlaczego? Ano dlatego, że nie ma stosownego przełącznika określającego domenę. Ba nie ma nawet stosownego filtra, więc trzeba wykorzystać coś z czego każdy świadomy Administrator korzysta w ostateczności = warunek „where” – nie tego Tygryski zdecydowanie nie lubią

W przypadku naprawdę dużych środowisk pocztowych i szerokiego zakresu wyszukiwania należy oczekiwać, że zapytanie potrwa kilka godzin jeśli nie dni a przy okazji możemy otrzymać Out-Of-Memory… A co jeśli np. potrzebujemy wykonać Message Tracking dla kilkudziesięciu różnych domen pocztowych? Kleić „like” w […]

Testowanie SCEP z poziomu Powershell’a

21 czerwca 2017 at 08:05

SCEP (ang. Simple Certificate Enrollment Protocol ), chociaż wbrew nazwie konfiguracja nie zawsze jest prosta łatwa i przyjemna 0 cóż taki żywot Aby lepiej zrozumieć czym jest i jak działa polecam zapoznanie z filmikiem: SCEP Natomiast co do sedna – Po instalacji i konfiguracji przydałoby się przetestować poprawność działania. Nie potrzeba wcale wykorzystywac urządzenia sieciowego – można do tego celu zaprząc po prostu Powershella. Poniżej opis How-To: Przygotowanie pliku tekstowego do wygenerowanie requestu o certyfikat np:

Wygenerowanie Requestu SCEP ( gdzie username to użytkownik domenowy uprawniony do wnioskowania o certyfikaty SCEP a przełącznik -p to jego hasło) Poniżej poprawna odpowiedź SCEP: Oraz zawartość wygenerowanego pliku żądania: Wysłanie Requestu do PKI i odebranie automatycznie podpisanego nowego certyfikatu: Status „SCEPDispositionSuccess(0)” oznacza, że wszystko działa poprawnie i odebraliśmy swój certyfikat ze SCEP’a Teraz można wykorzystać swój certyfikat, który pojawił się we wskazanym wcześniej miejscu:   Enjoy P.S. Aby wystawianie certyfikatów za pomocą SCEP działało automatycznie bez konieczności generowania haseł wymagana jest zmiana w rejestrze – ale o tym jaka w kolejnym wpisie

Data Mining w skrzynce pocztowej z użyciem obiektów COM – zajawka

28 marca 2017 at 21:48

Sytuacja awaryjna – tysiące wiadomości e-mail na skrzynce pocztowej, na które trzeba odpowiedzieć w krótkim czasie jedną uniwersalną wiadomością. Niestety o autoresponderze (Out-Of-Office) lub o regule na skrzynce pocztowej nikt nie pomyślał wcześniej, o regule transportowej na Exchange’u już nie wspominając… Mamy w zasadzie 2 alternatywy: Odpowiadać na wszystkie wiadomości po kolei (albo zbiorczo) z GUI, przy czym problematyczne będzie tutaj upchanie różnych odbiorców w pole BCC (UDW) Zebrać informację o nadawcach wiadomości i wysłać zbiorczego maila dodając ich wszystkich do pola BCC. Problem jest w zasadzie tylko z „zebraniem nadawców”. Można próbować kopiować, eksportować maile, cuda wianki ale zajmuje to mnóstwo czasu a i efekt mizerny.   Podejdźmy do tego jak na administratora przystało – użyjmy Powershella 😉 Wykorzystamy do tego obiekty COM’owe Outlooka. Szybkie googlowanie da podpowiedzi w stylu:

Po wykonaniu zonk – niemiła niespodzianka:

Inne odmiany z Load Assembly również zwracają ten sam błąd… A jakie jest rozwiązanie? Jak zwykle trywialne Outlook na 99% w wersji 32-bitowej a Powershell uruchomiony standardowo w wersji 64-bitowe i tu jest zgrzyt. Wystarczy uruchomić Powershella x84 I obiekt COM’owy nie okrzyczy nas już błędami Reszta jest już prosta, łatwa i przyjemna (jeśli ktoś jest zaznajomiony z programowaniem obiektowym i […]

Wieloskładnikowe uwierzytelnianie w Powershell

20 stycznia 2017 at 10:08

Czasami/Często albo nawet i częściej niż często zachodzi konieczność przekazania komuś kompetencji w zakresie danej technologii. Gdy tylko jest to możliwe odbywa się to poprzez delegację uprawnień na poziomie aplikacji. Niestety nie zawsze jest to możliwe i zdarzają się sytuacje, w których nie można/nie da się (lub nie jest to wygodne) wydelegować uprawnień. Wtedy zazwyczaj pojawia się konieczność wydelegowania uprawnień w ramach jakiegoś konta ‚X’ i przekazania poświadczeń tego konta do grupy użytkowników celem wykonania swoich zadań. Właśnie w tym miejscu pojawia się problem jak zrobić to dobrze aby uniknąć hardcodowania haseł w treści skryptów:

Nie tędy droga – nie idźmy nigdy tą drogą błagam Hasło czystym tekstem w skrypcie to nie jest dobry pomysł. NIGDY! Natomiast próby jego „ukrywania” czy „zaciemniania” są zawsze tylko półśrodkami. Zabieg zapisania hasła w formie:

Może i utrudnia odczytanie takiego hasła wprost, ale umówmy się że nie stanowi najmniejszego problemu aby zrobić „reverse-engeneering” i wyciągnąć hasełko Kolejnym sposobem jest wykorzystanie Secure-String. Pomysł lepszy, ale nadal to szyfrowanie jest słabe i stosunkowo prosto odczytywalne:

Wystarczy wykonać:

I już znamy hasło w postaci czystego tekstu. A dodatkowo w przypadku chęci skorzystania z zapisanych poświadczeń na innej stacji odbijemy się od komunikatów o […]

Exchange Mail Forwarding

20 grudnia 2016 at 08:56

Dzisiaj będzie trochę w temacie Mail Forwardingu w oparciu o serwery Microsoft Exchange. Czym jest forwarding, jak go utworzyć, po co w ogóle  z niego korzystać? Mianem forwardingu określa się sytuację w której wysyłając maila na wybrany adres e-mail (np.: mkrzanowicz@mkrzanowicz.it ) zostaje on w sposób automatyczny przekazywany na inny adres e-mail (najczęściej poza daną organizację). Sposobów budowania forwardingu jest co najmniej kilka. Można próbować wykorzystywać przekazywanie maili dalej bazując na regułach skrzynki pocztowej w Outlooku, ale to rozwiązanie jest słabe… Wymaga przede wszystkim interakcji użytkownika a do tego ma pewne ograniczenia jak np. brak możliwości ustawienia w standardowy sposób przekazania odebranej wiadomości na adresy e-mail poza swoją organizację (a dokładniej poza obsługiwane przez organizację domeny pocztowe). Kolejnym sposobem na uzyskanie forwardingu jest bodaj najbardziej popularny i najczęściej wykorzystywany sposób – mianowicie budowanie przekazywania maili w oparciu o istniejącą lub nową skrzynkę pocztową oraz kontakt z zewnętrznym adresem e-mail. Aby to osiągnąć należy wykorzystać polecenia: Utworzenie nowego kontaktu z zewnętrznym adresem e-miail, na który będzie wykonywany automatyczny forward maili:

2. Utworzenie skrzynki pocztowej z wewnętrznym adresem e-mail, z którego to wykonywany będzie automatyczny forwarding na utworzony wcześniej kontakt:

Posłużyliśmy się tutaj kilkoma dodatkowymi przełącznikami, które ukrywają skrzynkę pocztową […]

© Marcin Krzanowicz