vermin.eu.org

Specjalista IT na tru^Hopie

Entries Comments



Category: linux


atak brute force na vsftpd/proftpd, czyli o słowo blokowaniu

29 July, 2006 (20:18) | bezpieczeństwo, debian(ized), linux, logs | By: vermin

Sobota, godziny popołudniowe, szybki look w logi i co widzę? Gdzieś w środku nocy, jakiś dzieciak zza oceanu wybrał sobie jeden z moich serwerków w celu przetestowania swoich narzędzi. Bardzo to niefajne, bo szybkie łącze pozwoliło mu na dosłownie zalanie serwera requestami o autoryzację - do DOSa nie doszło - niemniej jest to trochę wkurzające…

O ile SSH się w miarę łatwo zabezpiecza przed zbyt duża ilością wpisów, to już serwery FTP zabezpieczyć trudniej. Z pomocą przychodzą dwa narzędzia - pierwsze z nich to znane z pakietu *sentry Logsentry, zaś drugie, nad którym się skupię - fail2ban. Obydwa działają tak samo - monitorują logi i na tej zasadzie podejmują odpowiednie działania. Obydwa mają zbliżone zalety i tą samą wadę - regexpy1. Obydwa używają /etc/deny.hosts lub iptables. Obydwu nie ma w stable ;-)

Fail2ban niestety nie znajduje się w stable - jest za to w testing i unstable, więc można go ściągnąć stamtąd lub bezpośrednio ze stron projektu Debian. Z wymogów instalacyjnych trzeba wspomnieć o pythonie i lsb-base, które na szczęście są w stable i to w odpowiednich wersjach. Po instalacji fail2ban od razu rozpoczyna działanie - niemniej dobrego admina to nie zadawala i od razu rusza do /etc/fail2ban.conf, żeby poprawić konfigurację.

Co warto zmienić? Na pewno warto dodać listę adresów, które nie będą blokowane (bo w końcu każdy może wysłać stworzone przez siebie pakiety wskazujące na dowolne IP) - opcja ignoreip. Kolejną opcją, którą warto zmienić, to czas blokady (bantime) - domyślne 10 minut to za mało - warto dać więcej, a mając fizyczny dostęp do maszyny nawet -1 (for ever). Jeśli ktoś lubi, to warto włączyć opcję powiadamiania emailem o zablokowaniu konkretnego IP (jeśli dostajemy wiadomości w stylu in-your-face, to trudniej zapomnieć, że taki niskopoziomowy mechanizm gdzieś tam sobie działa i można szybciej zdiagnozować problem). Pozostaje włączenie odpowiednich demonów, czyli zmiana enabled na true w odpowiednich sekcjach pliku konfiguracyjnego.
Domyślnie skrypt ma wpisane kilka typowych demonów - SSH (włączone domyślnie), SASL, Apache, ApacheAttacks, VSFTPD, PROFTPD, ale bazując na wyrażeniach regularnych1 można dodać dowolne inne, co jest duuużym plusem. Kolejnym plusem jest przyjemna konfiguracja iptables, którą wykonuje program - tworzy własne łańcuchy opisujące przez jaką regułę dany IP został zablokowany, co pozwala łatwiej przejrzeć logi w razie narzekań userów czy innych adminów.

1regexpy to mieszane błogosławieństwo - pozwalają na wspaniałe dostosowanie programu pod de facto dowolnego demona, niemniej pozwalają także na przemycenie, przez użycie zbyt szerokiego zakresu wyrażenia, błędów, pozwalających w tym wypadku na DOS maszyny…

Warto poczytać dodatkowo: Debian Administration

format pliku deb

25 July, 2006 (13:28) | debian(ized) | By: vermin

Smyrak postanowił odpowiedzieć na mój artykulik. Pozostaje mi dalej rozwodzić się nad tym co jednak Debian ma, a czego może wprost nie widać.

FreeBSD ma jedną fajną dla mnie rzecz - robisz make world, idziesz na dłuższy spacer i masz system zrobiony od zera, ładnie skompilowany na Twoją maszynę. To cudo kopiują pod linuksem developerzy Gentoo - niemniej Debian, choć nie pozwala na aż tak cudowne stwierdzenie ma kilka rzeczy, które może nie tak łatwo zauważyć.

Debian, chociaż jest zasadniczo dystrybucją binarną ma opcje, które pozwalają na własną kompilację pakietów. Ten feature jest nie tylko dostępny, ale wręcz w wypadku pakietów, których licencja nie pozwala na rozprowadzanie ich w formie zmienionej (np. Pine) lub z innych dziwnych powodów. Co jest miłe - rozprowadzanie ich w formie źródłowej pozwala wciąż nie tylko zachować wszelkie zależności, ale także śledzić wszelkie aktualizacje (np. bezpieczeństwa), które są z danym pakietem związane.

Jak do tego dojść? W /etc/apt/apt.conf oprócz linijek zaczynających się od deb są także linijki zaczynające się od src, dzięki którym możemy ściągnąć z repozytorium pakiet źródłowy. Możemy nawet ciut więcej - możemy ściągnąć pakiet źródłowy bez poprawek wprowadzonych przez zespół Debiana, jeśli tylko mamy na to ochotę. Dzięki temu, (wkładając w to oczywiście mnóstwo pracy - pakietów nawet w base jest tona), możemy otrzymać czysty debianowy system kompilowany na swojej maszynie. Możemy także (znów niestety wymaga to trochę pracy) stworzyć dzięki temu własne pakiety!

No i na koniec, żeby post trzymał się tytułu - pliki deb, to podobnie jak w fBSD, archiwa. Nie są to jednak wprost tar.gz, ale archiwa programu ar w których znajdują się pliki: control.tar.gz (zawierający metadane oraz pliki post- i pre- instalacyjne) oraz data.tar.gz (zawierający właściwe pliki programu). Ponadto na stronach projektu można spokojnie ściągnąć wersje źródłowe, pliki różnicowe ze zmianami developerów do wersji vanilla no i same binarki.

Lista plików z niezainstalowanego archiwum

25 July, 2006 (11:06) | debian(ized) | By: vermin

Smyru, miłośnik fBSD i użytkownik Linuxa (w wersji Debian derivatives - innych nie toleruje) pytał o możliwość znalezienia listy plików w niezainstalowanym archiwum. Zgodnie z Twoją prośbą (Aziz Light!) - podaję Ci świecę.

Są dwie opcje - pierwsza z nich to wspaniała wyszukiwarka pakietów, która umożliwia wyszukiwanie pakietów, plików i innych takich (prawie jak porty fBSD), druga, to narzędzia apt - jedno z nich wbudowane w pakiet apt, czyli apt-cache, dające możliwosć wszukiwania opisów pakietów, druga, to pakiet też będący w base, nie instalowany domyślnie apt-file, który po zaktualizowaniu (apt-file update) daje możliwość pokazania zawartości archiwum (apt-file list apt-file). Enough light? :-)

Debian 4.0 w grudniu

25 July, 2006 (10:46) | debian(ized) | By: vermin

Debian project ogłosił dziś, że nowa dystrybucja Debiana - etch (4.0) pojawi się w grudniu. Co w niej będzie ostatecznie zobaczymy w październiku, kiedy będzie ostatni review i najprawdopodbniej zamrożenie stanu testing.

Co pojawi się w nowej wersji Debiana? Jest kilka blokad - oraz celów. Co ciekawe - cele nie muszą być spełnione żeby pojawiła się nowa wersja - blokady muszą (chyba czepiam się aktualnie nazewnictwa…).
Wśród blokad pojawia się przede wszystkim przejście na xorg (w końcu), przejście na gcc 4.x, wsparcie dla architektury amd64, selekcjonowanie dokumentów zgodnie z polityką Debiana, wyrzucenie z jądra firmware’u oraz secure apt (ciekawe czy z zaimplementowanymi plikami delta, pozwalającymi na zmniejszenie ilości danych, które są pobierane z serwerów debiana podczas apt-get update).
Do celów nowej wersji zaliczają się m.in. uwzględnienie standardu Linux Standard Base w wersji 3.1, wsparcie dla SELinuxa, ipv6 oraz NFS v4 - w sumie z tego wszystkiego interesuje mnie ipv6 oraz SELinux, którego trzeba powoli poznawać (dobrze to można zrobić na przykładzie np. Fedory, która ma go zintegrowanego z distro od dawna).

Woody go home!

10 June, 2006 (09:36) | bezpieczeństwo, debian(ized), inne (tech) | By: vermin

Chociaż to się nasuwa wprost jako dość oczywiste, to jednak nie piszę tu o występach naszej reprezentacji, której śpieszy się do domu tak ewidentnie, że nawet wchodząc na murawę była wciąż w kontakcie z bliskimi by cell phone a potem grała tak, żeby wrócić jak najszybciej w domowe pielesze. Nie chodzi mi tu nawet o naszego Pinokio drużynowego, czyli Rasiaka-Drewniaka. Nie, naprawdę nie piszę tu wcale o tym jak jestem rozczarowany występem naszej reprezentacji i o tym jak ze smutkiem chowałem wczoraj biało-czerwoną…

Otóż kończy się security-support dla najpopularniejszej wersji debiana, z którą wielu żyło przez ostatnie 4 lata - Debian 3.0 Woody. Szkoda oczywiście, że team security ogłasza to raptem z miesięcznym opóźnieniem, chociaż jeśli ktoś na serwerze do tej pory nie przemigrował na Sarge, to pewnie nie ma maszyny na frontendzie a raczej coś schowanego w głebi infrastruktury z aplikacją non-critical, której lepiej nie tykać bo nie ma teamu, który ją tworzył… Tak czy siak, jeśli ktoś nie jest w takiej sytuacji to najwyższy czas zmigrować na nowszą wersję! Najlepiej już na Etch z testingu, jeśli to nie jest system mission-critical :)

kilka rodzajów debiana na raz

8 May, 2006 (08:59) | debian(ized) | By: vermin

Pomimo tego, że etch pojawić się ma już niedługo, może okazać się, że chcemy zainstalować pakiety w wersji nowszej, niż ta, która znajduje się w aktualnej wersji stabilnej. Żeby zainstalować nowsze pakiety, wystarczy oczywiście dodać nowe źródla pakietów… tyle, że niestety dodanie do źródeł apt całego drzewa pakietów (echo deb http://www.backports.org/debian/ sarge-backports main >> /etc/apt/sources.list), powoduje po apt-get update && apt-get ugrade nagłą próbę wymiany większości pakietów systemowych.

Rozwiązania takiego problemu są trzy. Pierwsze z nich, to dodanie tylko ścieżki, do tego pakietu, który chce się zastosować - co niestety po ostatnim rebuildzie backports spowoduje problem z niespełnieniem zależności gdy pakiet wymaga większej ilości dodatków. Drugie, to dodanie do /etc/apt/preferences linii

Package: *
Pin: release a=sarge-backports
Pin-Priority: 200

a następnie dla każdego pakietu bloków

Package:
Pin: release a=sarge-backports
Pin-Priority: 999

Trzecim rozwiązaniem, najbardziej uniwersalnym jest ustalenie w preferencjach apt, która z odmian (flavors) jest tą domyślną (echo APT::Default-Release “stable”; >> /etc/apt/apt.conf). Oczywiście najbardziej domyślną jest stable, ale jeśli dodamy do /etc/apt/sources.list linijki zawierające dystrybucję unstable (deb http://{mirror-debiana}/ unstable main) lub testing (deb http://{mirror-debiana}/ testing main) bez tego wpisu, to będące tam nowsze wersje pakietów nadinstalują natychmiast wersje zainstalowane w systemie, co automatyczną aktualizację systemu w zakresie li-tylko poprawek bezpieczeństwa uczyni praktycznie niemożliwą.

Dla pewnoście możemy dodać dodatkowo dla każdej z odmian odpowiedni wpis do /etc/apt/preferences

Package: *
Pin: release a=odmiana debiana
Pin-Priority: 200

Po wykonaniu tych czynności uruchomienie apt-get update i aktualizacja repozytoriów pozwoli nam na korzystanie z poszerzonej gamy pakietów. Żeby zainstalować te nowe wersje należy rozszerzyć wywołanie apt o parametr -t odmiana_debiana, np. sarge-backports.
Oczywiście zawsze możemy instalować konkretną wersję pakietu wpisując przy instalacji parametr w postaci nazwa_pakietu=numer_wersji, ale przez to musielibyśmy każdą z zależności instalować osobno.

Dwie uwagi, o których warto pamiętać rozszerzając swoją listę pakietów: pierwsza z nich to rozszerzenie domyślnej wielkości cache /etc/apt/apt.config ‘APT::Cache-Limits [duuża liczba];’, druga, to fakt, że wpisanie repozytoriów wersji testing czy też unstable spowoduje częstą konieczność ściągania wcale nie małych plików zawierających opis repozytoriów, co może być problemem przy wolnym łączu, (no i ponadto po co to robić, jak zazwyczaj z tego nie będziemy więcej korzystać po jednym użyciu? Nie zasyfiajmy zbędnie łączy mirrorów!)

debian etch w grudniu?

3 May, 2006 (19:53) | debian(ized) | By: vermin

Andreas Barth podał potencjalny termin pojawienia się nowej wersji projektu Debian - Etch. Jeśli wszystko pójdzie zgodnie z zapowiadziami, nowa wersja pojawi się już po 18 miesiącach od wydania poprzedniej wersji 3.1 (obecnie w release 2). Termin w sumie akurat - nie za szybko, żeby wciąż aktualizować systemy, ale i nie za długo, (poprzednio na update z 3.0 na 3.1 czekaliśmy tylko trzy lata, co powodowało konieczność wspierania się backportsami), także technologia się mocno nie zdąży zestarzeć. Co da nam nowa stabilna wersja? Przejście na XFree na xorg, gcc z 3.1 na 4.0, wsparcie dla architektury amd64 no i przejście na obecny od poczatku roku secure-apt.
Cóż - pozostaje nam czekać na nowe, stabilne wydanie, tymczasem testując je na nieprodukcyjnych maszynach :-)

twój ekran, twój szpieg?

28 April, 2006 (07:57) | linux | By: vermin

DI podało, że firma Apple opatentowała technologię, która ma pozwolić na lepszą videokomunikację. Ma to pozwolić na bardziej naturalną komunikację - będzie można popatrzeć w oczy rozmówcy, a nie w umieszczonę gdzieś z boku kamerkę.

Wszystko wydaje się być miłe i przyjemne, niemniej obawiam się o reperkusje takiego użycia technologii. Po pierwsze, skoro mam zainstalowaną niewidoczną dla mnie kamerę, którą mogę zamaskować dopiero zasłaniając caly ekran, która nie wiem, czy jest włączona czy wyłączona, mogę być niezależnie od siebie samego “podglądany”. Niech nikt nie mówi, że to jest niemożliwe, bo skoro jest taka opcja, która się jakoś upowszechni, to dlaczego szkodliwe oprogramowanie, (ze staropolskiego - malware), nie miałoby nas inwigilować? Idealne rozwiązanie dla włamywaczy… i szefów ;)

Drugą sprawą jest rozwój technologii - na szczęście jest to patent, co trochę ograniczy jej rozwój, niemniej jakże prosto takie kamery można wmontowywać w nowe telewizory LCD i wprowadzać w życie wizję przedstawioną przez Orwella w roku 1984… I naprawdę nie jestem paranoikiem - po prostu widzę co się dzieje w niektórych polskich firmach, widzę co można zrobić za pomocą technologii i jak potrafi ona być wykorzystana przeciwko ludziom (biometryka, coraz szersze zbieranie informacji o obywatelach, klientach, etc.) Wolałbym po prostu, żeby mój własny komputer szpiegował mnie mniej, niż jeszcze więcej…

dziura w firefox 1.5.0.2… i no-script w roli AV (updated)

27 April, 2006 (21:57) | bezpieczeństwo, linux, windows | By: vermin

W nowym firefox odnaleziono dziurę, pozwalającą na wywróceine przeglądarki po wejściu na stronę zawierającą specjalnie przygotowany skrypt. Niestety u mnie przeglądarka się nie wywróciła - zadziałał noscript, który domyślnie zablokował niepożądane treści… i uniemożliwił działanie kodu. Stąd, ze względu na coraz częstsze problemy z rzeczami związanymi z obiekatmi skryptowymi lub embedded, polecam instalację rozszerzenia.

Blokuje ono nie tylko java-script, ale także applety javy, multimedialne flashe macromedii oraz pozwala zachować prywatność - blokuje cuda pochodzące ze stron-trackerów, takie jak np. google -syndication, gemius czy inne wynalazki. Oczywiście pozwala także na odblokowywane zaufanych witryn - a te częściowo zaufane odblokowuje tylko na czas trwania sesji przeglądarki. Raz jeszcze gorąco polecam!

UPDATE: wyszła już wersja 1.5.0.3 zawierająca odpowiednie poprawki bezpieczeństwa. Przy okazji wyszedł mi ciekawy bug - dopóki mam otwartego thunderbirda firefox nie może się poprawnie zaktualizować. No, ale to minu skorzystania z tego samego silnika.

dziury w clamav

6 April, 2006 (21:49) | bezpieczeństwo, debian(ized), inne (tech) | By: vermin

Secunia.com ostrzega przed dziurą w clamav, mogącą doprowadzić do zDOSowania maszyny. Oczywiście debian wydał już poprawkę. Update pakietu mocno zalecany!

Port25 OSS@Microsoft

6 April, 2006 (21:03) | inne (tech), linux, windows | By: vermin

Czy microsoft działa na linuksie? Raczej nie, niemniej ich zainteresowanie tym systemem, a raczej koniecznością koegzystencji z nim wymusi w typowych środowiskach heterogenicznych wymusiła pojawienie się Port25

Dlaczego nazywa się to port25? Pozwolę sobie zacytować Billa Hilf’a

Port 25, therefore, is a metaphor for how we are opening the communication lines to for a discussion around Open Source Software and Microsoft.

oracle na Debian GNU/Linux

6 April, 2006 (17:34) | debian(ized), linux, sql | By: vermin

System Debian GNU/Linux, (i derywatywy), zaczyna być coraz szerzej dostrzegany i rysować się jako pewien standard systemu linux. Już ostatnie reklamy Microsoft wprost odnoszą się do Debiana, używając reklamy porównawczej, (swoją drogą, czy można ich za to pozwać?). Teraz debian został bardzo poważnie dostrzeżony przez firmę Oracle - na serwerze oss.oracle.com umieściła ona repozytoria dla swojej bazy - oracle express edition. Na razie dla wersji niestabilnej (sid), niemniej to już pozwala na testowanie oracle przez developerów, którzy raczej także korzystają z wersji rozwojowych. Aby skorzystać z rozwiązania wystarczy dodać

deb http://oss.oracle.com/debian unstable main non-free

do /etc/apt/sources.list i odświeżyć listę pakietów.

Pomimo publikacji rozwiązania w sekcji non-free, ważne jest coraz szersze dostrzeganie przez firmy komercyjne potencjału zawartego w Open Source, a z mojej perspektywy w Debian GNU/Linux. Pozwala to na uzyskanie supportu dla wdrażanych rozwiązań, (a przynajmniej szerszego grona współużytkowników na forum)… oraz poznawanie platform, które na otwartym systemie nie miały jeszcze przyjemności gościć… za free.

Źródło wiadomości: Debian Weekly News @ 7thGuard.net

automatyczne bezpieczeństwo stacji

5 April, 2006 (10:09) | debian(ized), inne (tech), linux | By: vermin

System po instalacji jest piękny i ładny. Ba, domyślnie jest nawet w miarę bezpieczny, (chociaż dziwi mnie fakt, iż debian nie ustawia automatycznie firewalla, który mają suse czy też redhat). Niemniej bezpieczeństwo jest nie tyle stanem, co procesem, który powinien zachodzić ciągle. Oznacza to, że musimy dbać o jego stan na kilka sposobów.

Read more »

uruchamianie aplikacji jako root pod X

5 April, 2006 (10:02) | debian(ized), linux | By: vermin

Czasem trzeba uruchomić jakąś aplikację jako superuser - w zasadzie rzecz banalna, zmieniamy konto i voila, działa. Z aplikacjami X pojawia się jednak problem - próba uruchomienia jej na koncie root powoduje wygenerowanie błędu cannot open display. Jak sobie z tym poradzić?

Read more »

podział dysku na partycje

4 April, 2006 (13:59) | boot, debian(ized), linux | By: vermin

Temat bootloadera już został z GRUBsza omówiony, ale warto wspomnieć o kroku, który zazwyczaj robi się wcześniej - czyli o podziale na partycje. W zasadzie, jak już wspomniałem w jednej z poprzednich wypowiedzi, partycja boot powinna być utworzona osobno. Taka instalacja w zasadzie sprawdzi się jako instalacja na komputer z jednym użytkownikiem przy jednym dysku. Już posiadając dwa dyski warto zastanowić się gdzie podpiąć drugi z nich (poza oczywistym punktem montowania w /mnt), żeby struktura systemu była przejrzysta a jednocześnie posiadane zasoby były w pełni wykorzystywane. Nawet wtedy warto jednak wydzielić pewne partycje, mogące w wypadku udanego wejścia na system, pomóc w eskalacji przywilejów lub też, ze względu na rodzaj przechowywanych danych zwiększyć wydajność. Szczególnie jednak warto przemyśleć to w sytuacji stawiania serwera, który chodzi 24/7 i w przypadku którego zmiany nie są tak proste jak w wypadku stacji roboczej.

W Debianie warto wyróżnić następujące partycje:
/tmp, zawierający pliki i katalogi tymczasowe,
/usr, zawierający aplikacje użytkowe,
/home, zawierający katalogi domowe użytkowników systemowych, a także kilku innych (by default samba, squid, …)
/boot (o której już wspominałem)
/var, ale w wypadku tej partycji warto zejść do poziomu szczegółów:
/var/mail, przechowujący pocztę, jeśli nie jest przechowywana w bazie danych,
/var/lib, przechowujący dane programów (chociaż nie wiedzieć czemu niektóre z nich potrafią znaleźć się w /var/cache/…)
/var/log, zawierający domyślnie logi systemu, daemonów, etc.
/var/backup, zawierający i będący domyślną lokalizacją kopii bezpieczeństwa,
/var/cache, zawierający pliki tymczasowe, będące w obróbce przez działający proces, (chociaż tu także znajdują się wszystkie pliki ściągane przez apt’a - w związku z czym katalog warto czyścić raz na jakiś czas, bo potrafi mocno puchnąć…).
W szczególnych wypadkach, można odwołać się do katalogu /opt, do którego powinny instalowane aplikacje nie mieszczące się wprost w polityce działania systemu lub też instalowane w kontekście per user a nie per system. Ponadto warto zainteresować się dyskożernymi aplikacjami, takimi jak chociażby squid, (który ma swoje opisy czasów dostępu) czy też bazy danych (store i logi). Dla nich warto wydzielić oddzielne partycje ze względu na specyficzne parametry montowania albo też możliwość rozbudowy macierzy o kolejne dyski w miarę wzrastającego zapotrzebowania na pamięć dyskową.
Po tych wszystkich operacjach w roocie (/) pozostanie już tylko /bin, /sbin, /lib na które nie jest potrzebne zbyt wiele miejsca - około 100 MB zazwyczaj powinno wystarczyć.

Warto przyjrzeć się partycji swap - w szczególności, jeśli posiadamy kilka dysków. Warto ją rozmieścić nie tylko na kilku dyskach (no, chyba, że mamy macierz z paskowaniem, np. raid 0), ale także zawrzeć go w tej części dysku, gdzie dane czytane są szybciej - czyli dalej od osi dysku (gdzie to jest to oczywiste dla dysków jednotalerzowych), co wynika z gęstości upakowania sektórów w różnych strefach dysku. Rozmiar partycji swap zazwyczaj przyjmuje się jako 1,5 - 2 razy wielkość pamięci fizycznej, chociaż w szczególnych przypadkach, może przydać się sporo więcej - ale admini takich aplikacji zazwyczaj swoje zapotrzebowania zgłaszają wcześniej…

Jak zmierzyć przewidywaną objętość partycji, tam, gdzie nie możemy sensownie estymować wykorzystania? Cóż - najlepsza metoda to metoda empiryczna. Uruchomić instalację, włączyć poziom komunikatów na krytyczny, żeby było szybko, zainstalować wymagane pakiety, (najlepiej z pewnym nadmiarem), a następnie du -hs, niczym stara cyganka, prawdę powie.

O parametrach montowania i samym montowaniu partycji - wkrótce.