Monday, June 5, 2017

[En] Mounting directory inside container and SELinux

Picture from www.docker.com
Using CoreOS for daily basic sometimes lull you in a false sense of security. Everything or almost everything is working and you don't care what is behind the magic. Switching the system from time to time could be painful. Especially when you come back to CentOS or RHEL and you don't want to disable SELinux. Below one of problems that you can hit when you mount folder inside container.

Problem was quite trivial:
I would like to run the docker that will map the journal folder (/run/systemd/journal) as a docker volume for my image. Unfortunately after ran:
docker run \
  -v /run/systemd/journal:/run/systemd/journal:ro \
  --name journal-test
I've got a Permission denied in the journalctl. Fortunately in man for docker-run everything is very clearly described:
So the solution was to run docker with the :z option provided:
docker run \
  -v /run/systemd/journal:/run/systemd/journal:ro,z \
  --name journal-test
Please remember that the ro and z should be separated by comma.
After some more investigation I found the post created by SELinux guru Using Volumes with Docker can Cause Problems with SELinux. There is quite nice explanation of labels used by the docker and how the suffix :z and :Z works.

Sunday, November 13, 2016

Saturday, January 16, 2016

Tuesday, January 12, 2016

[EN] FreeIPA 4.1 to 4.2 update problem

pic. from fedoramagazine.org 
On two machines with CentOS 7.2 I was using the FreeIPA 4.1.0 that should theoretically update to a newer version 4.2.0 without any problem. The new version brings a few new feature, byt they should not generate any update issues.
Steps in the documentation for version 4.2 are quite easy:

yum update freeipa-server
 The package manager executed all post-installation upgrade scripts (in current version: ipa-server-upgrade).

Monday, August 10, 2015

[PL] Z cyklu każdy wie a mało kto używa - Wireshark tips #1

Wireshark to dość potężne narzędzie niestety w wielu przypadkach użytkownicy często zapominają o kilku fajnych dodatkach:

Podążaj za strumieniem a dojdziesz do celu.
Wireshark ma możliwość wyłuskania konkretnych pakietów, które zostały przesłane w obrębie jednego połączenia. Tak więc zamiast aplikować N filtrów, można znaleźć jeden konkretny pakiet i z prawego menu wybrać "Follow TCP Stream". Regułą ta wybiera numer strumienia z wskazanego pakietu i aplikuje odpowiedni filtr: "tcp.stream eq NUMER" (1). Dodatkowo w nowym oknie zostanie otwarty zrzut danych przesłanych w danym strumieniu (2). Za pomocą listy można wybrać, który kierunek komunikacji nas interesuje (3).

Rozwiązywanie PTR w celu łatwiejszej analizy
Zamiast tracić czas na weryfikacje do kogo należy dany adres IP, można zmusić naszego rekina do automatycznego rozwiązywania nazw. Menu (Edit-< Preferences Shift+Ctrl+P), z lewej kolumny wybrać Name Resolution (1) i zaznaczyć Resolve network (IP addresses )(2)

Kreator reguł do kilku rodzajów zapór ogniowych
WireShark za pomocą generatora reguł potrafi nam wygenerować wpisy dla danego typu zapory(2) Jego użycie jest dość proste:) Zaznaczamy wybrany pakiet z menu górnego wybieramy Tool (1) a następnie Firewall ACL Rules. W nowym oknie możemy wybrać rodzaj oprogramowania (2), rodzaj filtru (3) - w tym przypadku adres i numer portu. Na koniec mamy opcję Inbound, Deny (4),  które definiują nam typ ruchu i akcję. 


Modyfikacja wyświetlanych kolumn
Zamiast wyświetlać konkretny typ protokołu można skorzystać z numeru portu lub ewentualnie dodać nową kolumnę z numerem portu źródłowego/docelowego. Wszystkie te zmiany można ustawić za pomocą Column Preferences

Kolorowanie/ markowanie złapanych pakietów
WireShark daje nam możliwość dowolnego kolorowania otrzymanych pakietów. [menu View-> Coloring rules]  Przykłady pakietów, które możemy pokolorować: 
  • Zwrotki http o określonych kodach [http.response.code]
  • Zapytania o rekord SPF [dns.spf]
  • Pakiety z konkretnym user_agentem [http.user_agent]
Tak naprawdę całe kolorowani opiera się na dobraniu odpowiedniego filtru co daje nam bardzo dużą dowolność w przypadku wyłapywania specyficznego typu ruchu.

Powyższe pięć wskazówek to tylko niektóre z opcji, które ułatwiają życie. W kolejnych wpisach postaram się dodać nowe porady, które mogą znacząco ułatwić pracę. 

Thursday, August 6, 2015

Cisco 1000v - vempkt czyli zdalny wireshark.

Kolejne przygody z wirtualnym switchem Nexus 1000v uświadamiają mnie, że Cisco coraz częściej zaczyna dodawać coraz to ciekawsze narzędzia do swoich produktów. Przykładem takiego narzędzia jest vempkt. 

zapożyczone z http://networkstatic.net/


Narzędzie to jest dostarczane podczas instalacji moduły VEM na ESXi. Funkcjonalnością vempkt przypomina tcpdump lub według niektórych mechanizm sesji SPAN dostępnych na przełącznikach Cisco. 

Jak zacząć zabawę z vempkt? 

Zakładając, że mamy skonfigurowany switch Nexus 1000v musimy jeszcze odblokować możliwość logowania się do ESXi za pomocą protokołu SSH (przykładowy opis: dokumentacja vmware). 

Po zalogowaniu się na hosta musimy zidentyfikować numer interfejsu, który chcemy podsłuchać (LTL -  Local Target Logic) i numeru vlan, który nas interesuje. 
Przydatne komendy: 
  • vempkt show info - listuje wszystkie LTL wraz z opisem maszyn, które są zarejestrowane na danym hoście oraz interfejsy nexusa lub portchannel
  • vemcmd show port vlans - listuje porty wraz z numerami vlanów, które są przypisane


Po skompletowaniu wszystkich niezębnych informacji na temat interfejsu, który nas interesuje możemy przystąpić do łapania ruchu:
  1. vempkt capture [ingress | egress | drop| all stages] ltl [id] vlan [nr] -  uwaga w niektórych wersjach vem, niezależnie od wybranego typu ruchu  vempkt łapie ruch każdego typu (all stages).
  2. vempkt show capture info -  wyświetla reguły filtra, który zdefiniowaliśmy w poprzednim kroku.
  3. vempkt start -  uruchamiamy pluskwę
  4. vempkt stop -  zatrzymujemy pluskwę;)
  5. vempkt show info -  komenda przydaje się do wyświetlenia statystyk na temat zebranego ruchu. 
  6. vempkt pcap export file_name.pcap - zapisujemy złapany ruch w formacie PCAP do pliku file_name.pcap, który potem możemy zaimportować do Wiresharka. 
  7. vempkt clear - czyścimy zdefiniowane ustawienia.  
  8. scp root@esxi.ip:/root/file_name.pcap . -  zrzucamy pcap na lokalny komputer w celu dalszej analizy. 
Przypadki użycia? 
  1. Weryfikacja czy ruch przechodzi przez reguły zdefiniowane na VSG 
  2. Złapanie ruchu na interfejsie wejściowym do ESXi
  3. Analiza ruchu, który zostaje dostarczony do hosta  bez potrzeby logowania się na docelową maszynę wirtualną. 
  4. Sprawdzenie czy ruch przechodzi przez sieć szkieletową mając dostęp tylko do serwerów ESXi ( głównie administratorzy VMware w dużych firmach) 
Drobne uwagi? 

  • Jeśli chcemy przechwycić ruch wychodzący lub wchodzący do maszyny wirtualnej , która działa w klastrze VMware,  musimy wiedzieć na którym hoście się ona znajduje. 
  • Automatyczny DR może nam czasem popsuć łapanie ruchu:)
  • Czasem trzeba zwiększyć wielkość łapanego pakietu za pomocą  vempkt size [mtu size]
  • W celu szybkiej analizy pakiety można też zrzucić do pliku txt zamiast pcap: vempkt display detail all > name_file.txt

Friday, March 6, 2015

VCP550D i nowa polityka VMware

Zbyt dużo informacji na skrzynce zawsze kończy się źle:-) Przez ostatni rok subskrybowałem sobie sporo różnych newsletterów, powiadomień, itd. Niestety zbyt duża liczba maili z słowem VMware w tytule kończyła się częstym usuwaniem nagromadzonych informacji. Jak to zwykle bywa na pierwszy rzut poszły wiadomości bardziej istotne typu: cert expiration i takie tam. No i niestety dopiero na końcu zeszłego tygodnia natrafiłem na wiadomość o wygasaniu certyfikatów. Tak w skrócie VMware od 10 marca 2015 wprowadza nową politykę ważności certyfikatu. W skrócie certyfikaty są ważne dwa lata. W tym czasie trzeba zdać inny certyfikat lub odnowić ostatni by wydłużyć okres ważności. Jeśli certyfikaty nam wygasną to niestety aby je ponownie uzyskać trzeba zgłosić się na kurs, a potem zdać egzamin. 

Zmiana polityki jest tłumaczona faktem, że jeśli ktoś nie używa technologi przez dwa lata to automatycznie traci on wiedzę na temat produktu. Podejście może i słuszne, jednak tez miany mogły być wprowadzone troszkę później. Vmware vSphere 6.0 jest już w wersji RTM, niestety nie ma do tej wersji egzaminów. Czyli jeśli ktoś ma ważny certyfikat z 5.1 lub 5.5 to musi je odnowić by móc dalej się nimi chwalić. 

W moim przypadku wystarczyło tylko podejść do VCP 550D, egzamin aktualizujący z 5.1 do 5.5. Wydawało mi się, że zmian między tymi wersjami było mało, jednak jak się człowiek wczyta w blueprinta to jest tam trochę nowości o których zapomniałem. Egzamin jest stosunkowo krótki i można go zdać z domu, tak więc jeśli nie chcesz stracić certyfikatu to warto do niego podejść. Za jedyne 95$ dostaniemy 1,5h quiz, który można zdać z domu lub pracy.