Tag Archive for 'sysadmin'

Czyżbym miał dostać wyrok?

Właściwie dowiedziałem się o tym kilka miesięcy temu, na konferencji InfoShare - jestem przestępcą. VaGla napisał niedawno artykuł na ten temat, który właśnie wypłynął na głównej stronie Wykopu.

A dlaczego jestem przstępcą? Kilka cytatów z artykułu Piotra, który cytuje za Kodeksem Karnym (wytłuszczenie moje):

Art. 267.

§ 1. Kto bez uprawnienia uzyskuje dostęp do informacji dla niego nieprzeznaczonej, otwierając zamknięte pismo, podłączając się do sieci telekomunikacyjnej lub przełamując albo omijając elektroniczne, magnetyczne, informatyczne lub inne szczególne jej zabezpieczenie, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2.

§ 2. Tej samej karze podlega, kto bez uprawnienia uzyskuje dostęp do całości lub części systemu informatycznego.

§ 3. Tej samej karze podlega, kto w celu uzyskania informacji, do której nie jest uprawniony, zakłada lub posługuje się urządzeniem podsłuchowym, wizualnym albo innym urządzeniem lub oprogramowaniem.

§ 4. Tej samej karze podlega, kto informację uzyskaną w sposób określony w § 1-3 ujawnia innej osobie.

§ 5. Ściganie przestępstwa określonego w § 1-4 następuje na wniosek pokrzywdzonego.

Art. 269a. Kto, nie będąc do tego uprawnionym, przez transmisję, zniszczenie, usunięcie, uszkodzenie, utrudnienie dostępu lub zmianę danych informatycznych, w istotnym stopniu zakłóca pracę systemu komputerowego lub sieci teleinformatycznej, podlega karze pozbawienia wolności od 3 miesięcy do lat 5.

Art. 269b.

§ 1. Kto wytwarza, pozyskuje, zbywa lub udostępnia innym osobom urządzenia lub programy komputerowe przystosowane do popełnienia przestępstwa określonego w art. 165 § 1 pkt 4, art. 267 § 3, art. 268a § 1 albo § 2 w związku z § 1, art. 269 § 2 albo art. 269a, a także hasła komputerowe, kody dostępu lub inne dane umożliwiające dostęp do informacji przechowywanych w systemie komputerowym lub sieci teleinformatycznej, podlega karze pozbawienia wolności do lat 3.

Pracuję jako administrator sieci i systemów informatycznych. W swojej pracy tworzę oraz wykorzystuję narzędzia i programy, które mogą zostać wykorzystane do uzyskania niepwołanego dostępu do systemów komputerowych. Takie narzędzia to praktycznie dowolny system operacyjny posiadający obsługę stosu TCP/IP (lub innego rodzaju obsługę sieci komputerowych), oraz kilka podstawowych narzędzi, w rodzaju cat, echo czy ssh. Co więcej, wykorzystuję te narzędzia w próbach uzyskania nielegalnego dostępu do systemów informatycznych, które mam pod opieką. Robię to w celu poznania metod ataku na te systemy, oraz opracowania skutecznej przed nimi obrony. Można to porównać do ślusarza, który posiada narzędzia mogące służyć do włamywania się do zamkniętych pomieszczeń, a wykorzystuje je do wyłamywania stworzonych przez siebie zamków, w celu ich ulepszenia i zwiększenia bezpieczeństwa. Poza tym stworzonymi przez siebie narzędziami oraz wiedzą dzielę się z innymi osobami na zasadach Open Source.

Powyższe czynności zapewne staną się nielegalne po wprowadzeniu powyższych poprawek do Ustawy (wszystko, jak zwykle, zależy od interpretacji). Pewnie spowoduje to utrudnienie życia administratorom - w końcu teraz każdy będzie mógł ich oskarżyć o posiadanie narzędzi umożliwiających włamywanie się do cudzych komputerów - to, czy włamywali się z ich pomocą, nie będzie miało znaczenia. Dostanie się też autorom dystrybucji (ciekawe ile osób związanych z PLD czy też KateOS podpada pod powyższe zmiany), nie wspominając o programistach.

W świetle powyższych rewelacji zwraca uwagę komentarz posła Mariana Filara, również zacytowany przez VaGlę (wytłuszczenie moje):

Proszę państwa. Wiem, że nie będzie to eleganckie, ale muszę to powiedzieć, żeby pozostało to w protokole, ponieważ nie chcę, aby po latach koledzy zmyli mi głowę. Chciałbym powiedzieć, że to, co dzisiaj uchwalamy jest dalekie od doskonałości. Ale nie wszystko musi być doskonałe. Jeżeli nie można mieć czegoś doskonałego, to trzeba się cieszyć tym co się ma. Dzisiejsza propozycja nie jest nie do przyjęcia, a ponieważ prowadzone są generalne prace na nowelizacją Kodeksu karnego, to będzie jeszcze czas na to, aby to systemowo poprawić. Potraktujmy te rozwiązania jako tymczasowe. Zobaczymy, jak będą funkcjonowały w praktyce. Jeżeli zajdzie taka konieczność, to poprawimy je w trakcie uchwalania kompleksowej kodyfikacji. Chcę o tym wspomnieć dla potomności. Oczywiście będę głosował za przyjęciem tych zmian, ponieważ mam świadomość, że taka konieczność wynika z rzeczywistości.

Ciekawie wygląda perspektywa takiego “testowania” - kilku informatyków podpadnie jakimś osobom, te podadzą je do sądu za posiadanie nielegalnych programów komputerowych, kilka procesów zakończy się wyrokami i może wtedy posłowie zobaczą, że ta ustawa wymaga poprawek…

Ale wtedy dla tych ludzi może być już “po zawodach” - z wyrokiem na karku oznajmiającym przestępstwo komputerowe mogą już nigdzie nie otrzymać stanowiska w swoim zawodzie. Może znajdą posadę w innym kraju, który nie sankcjonuje polskiego (czy też unijnego) prawa w takim stopniu, aby podobne wyroki miały znaczenie dla pracodawców. Inni informatycy obserwujący rozwój wydarzeń mogą zdecydować się na ubiegnięcie wymiaru sprawiedliwości i wyemigrowanie, co spowoduje kolejną falę odpływu ludzi z umiejętnościami z naszego kraju. Reszta zapewne będzie musiała zejść do podziemia, kiedy lotne patrole Policji zaczną ich szukać po serwerowniach firm i instytucji. Zawód sysadmina (i kilka innych) zostanie napiętnowany na długie lata. Polska cofnie się o kilka kroków do tyłu pod względem rozwoju technik i technologii informatycznych. Szkoły i uczelnie zamkną wydziały IT, nikt już nie będzie nauczał obsługi Windowsa i pakietu Office…

Wizja może trochę na wyrost - ciekawe, czy się spełni.

Szpiegowanie logów

Jeźeli mieliście kiedyś do czynienia z jakimkolwiek serwerem, to wiecie do czego służą logi. Jest kilka narzędzi przydatnych do ich obserwowania i alarmowania o niebezpiecznych sytuacjach (logcheck, logwatch), które działają samodzielnie i wysyłają co jakiś czas maile z ważnymi (lub nie) informacjami).

Często jednak trzeba samemu zapuścić się w czeluścia /var/log/ i poszukać interesującej nas informacji. Zwykle dzieje się tak, kiedy komuś zagubi się bardzo ważna przesyłka pocztowa, lub nie może połączyć się z siecią lokalną. W takim przypadku pozostaje żmudne grepowanie poszczególnych plików w poszukiwaniu interesującego nas zdarzenia. Do tego w paradę wchodzi często logrotate, nie tylko kompresując logi, ale sprawiając, że grep przeszukuje je w odwrotnej kolejności niż chronologiczna, co czasem nie jest zbyt miłe.

Kiedy już znudziła mi się zabawa w ręczne grepowanie, postanowiłem ułatwić to sobie kilkoma skryptami. Tak powstał logspy - zestaw skryptów shella do interaktywnego przeglądania i przeszukiwania logów. Jest on łatwy do instalacji i pozwala na szybkie modyfikacje i przystosowanie do aktualnych potrzeb. Kilka przykładów użycia:

  • Pokazanie zawartości wybranego pliku z logami:
    logspy /var/log/syslog
  • Wyświetlenie wybranych logów w $PAGER:
    logpager mail syslog messages
  • Wyszukanie frazy w wybranych logach:
    loggrep "ala ma kota" syslog auth dhcp
  • Wyszukanie adresu e-mail w ostatnim logu SMTP:
    loggrep user@domena mail
  • To samo kilka logów wstecz (mail jest przeszukiwany standardowo, logi są przeszukiwane w kolejności chronologicznej):
    logg user@domena 5
  • To samo z 3-linijkowym kontekstem z góry oraz dołu wyszukanej frazy:
    logg user@domena 5 3 mail
  • Grepowanie kilku logów naraz w czasie rzeczywistym:
    logfeed mail syslog dhcp | grep user

Nazwy komend można pisać skrótowo: logspy = logs, logfeed = logf, itd. Również nazwy logów mogą być pisane skrótowo, ich lista znajduje się w katalogu ‘lib/logspy/resolvers/‘. Dokładna składnia pojawia się po uruchomieniu logspy bez argumentów.

Skrypt jest napisany w zsh i wykorzystuje do pracy sudo, więc przy odpowiedniej konfiguracji uprawnień można korzystać z niego bez potrzeby logowania na konto root. Jeśli macie w systemie zainstalowany ccze, logi będą automatycznie kolorowane.

Przy pomocy jednego symlinka można łatwo wybrać, które logi są uważane za “standardowe” (przydane, jeżeli macie różne usługi na różnych maszynach), będą one używane w przypadku nie podania konkretnych nazw logów. W zestawie załączam obsługę większości popularnych logów (systemy pocztowe, DHCP, DNS, FTP, logowanie do systemu, uwierzytelnianie su oraz sudo), oczywiście łatwo można dodać własne. Zapraszam do testowania. :-)

logspy-0.1.tar.gz