vermin.eu.org

Specjalista IT na tru^Hopie

Entries Comments



Month: October, 2005

o sshd słów kilka

29 October, 2005 (18:26) | debian(ized), linux, logs | By: vermin

W poprzednim artykule o ssh pisałem o opcji logowania się za pomocą kluczy. Ponieważ z różnych ważnych powodów musiał zostać podniesiony poziom zabezpieczeń (ot choćby żeby pokazać, jak to sie człowiek stara ;-) ), zaimplementowałem w końcu ten przemiły sposób logowania. Polega on w skrócie na tym, iż potrzebna jest para kluczy - klucz publiczny, umieszczany na serwerze, oraz klucz prywatny, znajdujące się w posiadaniu użytkownika. Literatura mówi, iż klucz prywatny jest nieodtwarzalny z klucza publicznego, ale klucz publiczny z prywatnego już tak. Ponadto rzeczy zakodowane kluczem publicznym odczytywane są tylko za pomoca komplementarnego klucza prywatnego i vice versa, rzeczy zakodowane przy pomocy klucza prywatnego odczytywane są tylko przy pomocy klucza publicznego. To pierwsze przydaje się do szyfrowania, to drugie do autentykacji. Tyle teorii, przejdźmy do rzeczy.
Przede wszystkim musiałem ustawić ssh - /etc/sshd_config przeszło następujące zmiany:

  • PasswordAuthentication no - w połaczeniu z ChallengeResponseAuthentication no pozwoliło na zablokowanie logowania za pomocą haseł. Samo wyłączenie autetykacji za pomocą haseł nie chce działać. Literatura sieciowa sugeruje jeszcze wyłączenie PAM, ale mimo wszystko nie wydaje mi sie to konieczne, a nawet wręcz przeciwnie.
  • AuthorizedKeysFile %h/.ssh/authorized_keys włączyło (domyślne) położenie pliku zawierajacego klucze publiczne,
  • W moim szczególnym przypadku użyłem opcji AllowUsers i DenyUsers żeby wyspecyfikować grupy użytkowników mogące się logować oraz tych, którzy w żaden sposób niepowinni. Działają tu tylko nazwy użytkowników, nie ich id, można używać znaków * oraz ?.

Po tej przymiarce, ZANIM zrestartujemy sshd, musimy wygenerować nasz klucz (żeby w razie zerwania sesji móc się wbić ponownie na serwer. Ogólnie to ten krok warto zrobić najpierw :-)…
Generowanie zestawu kluczy jest dość banalne - albo użyjemy ssh-keygen -t rsa a on interaktywnie przeprowadzi nas przez tworzenie klucza albo skorzystamy z pakieciku putty i jego składowego programiku keygen. Którejkolwiek opcji byśmy nie używali warto wpisać hasło (passphrase) którym zabezpiecznym klucz. Zdecydowanie podnosi to bezpieczeństwo wg paradygmatu: coś co się zna (login, hasło) oraz coś co się ma (klucz). Bez klucza nikt się nie zaloguje, przechwytując klucz prywatny, bez hasła też nie (chociaż tu wracamy do ataku typu bruteforce).
Wygenerowany klucz prywatny (domyślnie id_rsa) zapisujemy w bezpiecznym miejscu zaś klucz publiczny przenosimy na serwer do pliku wyszczególnionego w zmiennej konfiguracyjnej AuthorizedKeysFile - zazwyczaj ~/.ssh/authorized_keys.
Sprawa jest już prawie zakończona - jednak jak się logować? W wypadku korzystania do połączeń z putty, można dodać klucz do pageanta, albo w konfiguracji połaczenia wskazać na plik zawierający klucz. W wypadku łaczenia się z pod linuxa, do komendy ssh oprócz standardowych parametrów, takich jak chociażby ?C (kompresja) należy dodać ?i nazwa_pliku_zawierającego_klucz prywatny. Co do używania pageanta, to warto pamiętać o tym, co piszą o nim sami autorzy odpowiadając an pytanie czemu pageant nie działa jako serwis systemowy. W trakcie działania programu klucz jest przechowywany na maszynie w pamięci niezabezpieczony - łatwo (teoretycznie) go stamtąd wyjąć i używać nie korzystając z hasła którym ten klucz zabezpieczyliśmy.
Bezpiecznego logowania!

upiększając gruba

29 October, 2005 (15:06) | boot, debian(ized) | By: vermin

Grub (GRand Unified Bootloader) to przemiły boot manager, mający tyle opcji w porównaniu z lilo, że przydałby się na jego temat oddzielny artykuł, (który może popełnię kiedyś), jednak standardowo jest on dość brzydki. Na szczęście istnieje możliwość upiększenia tego potworka poprzez dodanie grafik.
Przede wszystkim warto zainstalować zestaw teł do gruba (pakiet grub-splashimages) albo stworzyć samemu grafiki o wymiarach 640×480, 14 kolorach, w formacie xpm (XPixMap). Jeśli nie możemy zapisać tego obrazka w formacie xpm, to narzędzie convert z pakietu imagemagick poradzi sobie z tym znakomicie. Stworzone tło w debianie wrzucamy do /boot/grub/splashimages/ (a przynajmniej tam rozpakowuje się paczka zawierające debianowe tła).
Pozostaje nam juz tylko skonfigurować gruba, tak, aby wyświetlał przy starcie jeden z obrazków - wystarczy dodać do pliku /boot/grub/grub.conf odpowiednią linijkę, na przykład:

splashimage=(hdx,y)/grub/splashimages/gentleblue.xpm.gz

x to numer dysku a y numer partycji. Odpowiednie wartości możemy znaleźć wykonując polecenie fdisk -l, (pamiętając, że dyski liczymy od 0 a partycje od 1) lub też sprawdzając w grub.conf właśnie, w sekcji poświęconej startowi naszego systemu :)

Alter Ego

25 October, 2005 (23:39) | Prywatne, non-tech | By: vermin

Gdybys mógł przeżyć życie ponownie, czy byłbys tą sama osobą? Sprawdź się - Alter Ego

Linux.com | CLI Magic: lsof… a jak to jest w Windows?

25 October, 2005 (13:36) | linux, windows | By: vermin

Na linux.com, w cyklu zajmujacym się narzędziami linii poleceń pojawił się mały artykulik, o narzędziu potrafiącym wylistować aktualnie otwarte pliki. Oczywiście nie ma w tym nic nadzwyczajnego, gdyby nie fakt, że w linuxie większość rzeczy to jakiś plikm a to znakowy, a to blokowy, a to katalog a to po prostu plik. W związku z tym wylistowanie otwartych plików, szczególnie w powiązaniu z id procesu lub użytkownikiem pozwala na audyt programu. Nic dziwnego więc, że jest ono często używane w wykrywaczach rootkitów (oczywiście w static buildach)
Po co jednak pisać o artykule, który każdy może przeczytać? Oczywiście po to, żeby dla odmiany pokazać, że w Windows też się da :-)
Przede wszystkim warto zainteresować się darmowymi narzędziami z pakietu sysinternals, jak choćby FileMonitor, czy też Process Explorer. Pozwalają one na sprawdzenie co się aktualnie dzieje w systemie - jakie pliki są otwierane i przez kogo lub jaki proces, jakie procesy ładują jakie biblioteki i ile mają wątków. Dodatkowo w połączeniu z regmonem pozwala to na pełny audyt wybranego programu.
Jeśli chodzi o wspomnianą w artykule opcję przeglądu połączeń, to zawsze można wykorzystać narzędzie o takiej samej nazwie w większości systemów - czyli netstat, ale lepiej użyć do tego TcpView.
Jednak nie tylko narzędzia z serii SysInternals nadają się do przejrzenia systemu. Microsoft proponuje nam w tym ostatnim zakresie dwa narzędzia - port reporter oraz port query.
To oczywiście pewien wycinek windowsowych programów - a może ktoś zna jakieś inne, ciekawsze rozwiązania?

Dlaczego linuxa powinno się instalować na kilku partycjach, czyli o problemach z GRUB

17 October, 2005 (12:38) | boot, linux | By: vermin

Każdy linux podczas swojego procesu instalacji ma moment, kiedy pyta się o wybór partycji, na której zamierzamy go umieścić. Ponieważ zazwyczaj na komputerze rezyduje kilka systemów (linuxów, windowsów czy innych *BSD), to trzeba ponadto (w którymś z następnych etapów instalacji), wyposażyć się w jakiegoś boot managera. Przy okazji nie polecam korzystania z różnorodnych wizardów dokonujących autopartycjonowania - niestety taki wizard potrafi skasować wszystkie już istniejące na komputerze partycje…
Standardowa struktura katalogów (vide man hier) zawiera określoną strukturę - /usr zawierający aplikacje, /home gdzie trzymane są dane użytkowników, /var gdzie trzymane są dane programów oraz logi, etc… (gdzie trzymane są pliki konfiguracyjne ;-) ) Oczywiście ciężko podczas instalacji stwierdzić ile to wszystko zajmie miejsca, więc można wybrać najprostszą opcję - wskazać partycję, usadowić tam katalog główny “/” i voila, wszystkie podkatalogi umieszczą się pod spodem, struktura będzie jak najbardziej dynamiczna, bo określona ilość wolnego miejsca będzie przyznana pomiędzy wszystkie pliki… W czym więc problem?
No i okazuje się, że problem potrafi się pojawić. Niestety nawet nowoczesne systemy plików, z journalingiem, danymi nadmiarowymi i innymi bajerami potrafią podczas któregoś tam twardego wyłączenia ‘nie trafić’ z danymi, lub też je zagubić. Taka właśnie sytuacja mnie dotknęła ostatnio, kiedy dość głęboko tuningowałem system, wrzucając nowe moduły z różnymi parametrami, co powodowało zamrożenie systemu dające możliwość jedynie twardego restartu systemu. Pierwszym popełnionym błędem było nie poprawianie systemu plików po każdym padzie (fsck nie startował automatycznie). Kilka padów systemu i coś zaczęło się sypać z tuningowanymi modułami. Natychmiast przywróciłem pierwotne wersje systemu (moduły, etc), zrobiłem restart… i mój boot manager grub powiedział mi bye, wieszając się w fazie 1.5 i plując numerami błędów. W głowie połączyły się wszystkie przesłanki i już wiedziałem. Grub nie mógł wczytać danych z pliku /boot/grub/grub.conf. Oczywiście procedura naprawcza jest prosta - albo odpalić jakiś system potrafiący naprawić partycję linuxową, albo odtworzyć mbr odpalić dowolny inny system.
I tu niestety nauczka dla posiadaczy laptopów lub nowoczesnych dysków - WXP SP1 nie widzi dysków SATA. Zresztą nie wiem, czy WXP SP2 je widzi, nie testowałem. Z kontrolerami ICH6 problemy mają jądra linuxowe sprzed 2.6.11.10… A i te nie wszystkie działały poprawnie. W ten sposób ilość opcji zdecydowanie mi się zawężyła - na szczęście udało mi się znaleźć knoppixa u jednego ze znajomych3.8.1, odpalić go… i zobaczyć, że system plików padł całkowicie :(
Przechodząc do wniosków - gdybym miał partycję /boot zainstalowaną osobno (i montowaną najlepiej z opcją ro), to grub nie miałby problemu ze startem komputera (i oszczędzeniem mi czasu, bo knoppixa miałem na dysku windows…). Gdybym miał np. /etc na osobnej partycji, to konfiguracja pewnie by mi została… albo dane… albo inne ustawienia… A tak, nie backupowany (bo jeszcze nie dopieszczony) system padł i spowodował kolejne żmudne godziny stawiania i konfiguracji :|

Małe, słodkie, na pulpit

9 October, 2005 (23:50) | gadgets, inne (tech), windows | By: vermin

Podstawową zasadą działania ogólnie pojętego informatyka jest lenistwo - wszyscy wiemy, że to ono jest motorem napędowym wielu wynalazków. Żeby móc się dobrze lenić, zazwyczaj warto miec na pulpicie kilka ważnych wskaźników, nie przysłaniających jednak zbytnio z trudem zdobytej tapety, czytanej strony, oglądanego filmu, konsoli czy dowolnej innej ważnej i doniosłej rzeczy. Windows, a także pakiet Office, pozwalają na wyciągnięcie z siebie mnóstwa ciekawych informacji - jak i dają możliwość współpracy. Warto więc, zamiast sprawdzać cały czas stan event viewera, oglądać liczniki i trace logi, sprawdzać pocztę wystarczy wrzucić kilka małych ikonek na pulpit.
Na początek, warto polecić rainlendar dla chcących mieć zadania i kalendarz pod ręką oraz tegoż samego autora rainmeter, który posiada możliwości kontroli ważnych parametrów komputera a także kilka innych ciekawostek. Co ciekawe działa to wszystko także w połaczeniu z litestep, gdyby ktoś chciał ostro ingerować z pulpit.
Będąc w temacie - kolejnym wartym uwagi programem, choć relatywnie trudnym w obsłudze jest samurize (warto także zajrzeć na jego polską stronę). Istnieje do niego wiele wtyczek pozwalających na dodanie do pulpitu ciekawych informacji. Dobre ustawienie kosztuje wiele trudu - ale przynosi wymierne efekty.
Pomiędzy pewną skromnością rainlendara a komplikacją samurize jest miejsce na inny prosukt - pochodzący ze świata Macintosha Konfabulator. Nie jest to program do tworzenia bajek żonie o tym co sie działo w delegacji, ani nie jest to program do podrywania foczek na wirtualnej plaży. Jest to za to przemiły program pozwalający na wzbogacenie pulpitu małymi komponentami - widgetami. Koncepcja podobna do produktów Rainy’s - ale baza komponentów, ich możliwości (np. przyciemnianie monitora podczas pracy wieczorem) dużo szersza, że nie wspomnę o możliwości samodzielnego tworzenia widgetów. Po prostu must see :-)

Instalacja pakietu/modułu ze źródeł - debian style, czyli ipw2200 na amilo v8010

8 October, 2005 (16:32) | amilo, debian(ized), linux | By: vermin

Czasem zdarza się, iż ze względu na wymagania licencyjne niezgodne z DFSG niektóre pakiety nie są dostępne lub też są dostępne w postaci pakietu źródłowego a nie binarnego. W takim wypadku pozostaje nam tylko albo stworzyć własną paczkę albo skorzystać z pakietu źródłowego - czym zająłem się w ramach instalacji karty sieciowej w amilo pro v8010.
Cała procedura wyglądała następująco - po identyfikacji urządzenia za pomocą lspci -v przeszukałem archiwum repozytoriów Debiana w celu znalezienia odpowiedniego sterownika. Ten się oczywiście znalazł, ale przy jego nazwie świecił się napis contrib co oznaczało, że znajduje się poza repozytorium main… i poza moimi dotychczasowymi poszukiwaniami za pomocą apt-cache search. Aktualizacja /etc/apt/sources.list o sekcję contrib a następnie aktualizacja apt-a przez apt-get update zakończyła fazę przygotowań…
No to do roboty!
apt-get source ipw2200-source ściągnęło mi pakiet. Gdyby tylko tyle miało się dziać, to cała operacja nie miałaby sensu i można by sobie samemu ściągnąć tarballa. Możliwości systemu zarządzania pakietami Debiana pokazuje następna komenda - apt-get build-dep ipw2200-source, która wypluła kilka linijek tekstu, coś ściągnęła z sieci… i już.
Żeby cała instalacja działa się możliwie najprościej, zassane pliki powinny być w odpowiednim katalogu, czyli /usr/src bo to w koncu mają być moduły jądra - niestety w moim przypadku nie były. W tej sytuacji oczywiście należało działać dalej - i tu także debian był pomocny.
Najpierw niestety jednak trzeba było rozpakować tarballa (tar -xvf ipw2200-source.tar.gz) a potem wejść do katalogu o wydać komendy tworzące pakiet: dpkg-source -x ipw2200-source_version-revision.dsc oraz dpkg -i ../ipw2200-source_version-revision_arch.deb. Specjalnie nie użyłem tu wprost wersji, ponieważ w stable i testing wersje sterownika są różne a poza tym warto pamiętać jaką wersję się ma - o czym dalej. Wracając do użytych komend - pierwsza z nich tworzy pakiet zgodnie z opisem w pliku dsc zaś druga dokonała samej instalacji pliku, który jest już przechowywany lokalnie.
Ok - skoro pakiety w końcu są zainstalowane poprawnie w systemie, czyli właściwe pliki w końcu leżą w /usr/src to warto przejść do kolejnego narzędzia, czyli do module-assistant.
Jest ono akurat tworem specyficznym w pracy z modułami, ponieważ normalny program zazwyczaj już by działał :) (i notabene zazwyczaj miał swój tracker dzięki któremu można być up2date jeśli chodzi o bezpieczeństwo systemu). Wstępnie można sprawdzić czy jest on gotowy do kompilowania wobec aktualnego jądra - module-assistant prepare. Module assistant sprawdzi czy mamy pakiety pozwalające kompilować moduły - czyli źródła jądra i nagłówki. Oczywiście można te pakiety ściagnąc samemu, ale miło patrzec jak komputer pracuje :-)
No to czas dokonać ostatecznej kompilacji.
module-assistant a-i ipw2200
chrum, chrum…
No i problem z zależnościami, bo brak pakietu ieee80211 (ale na szczęście przewidzieliśmy fakt, że bez stosu protokołów bezprzewodowych karta nie wstanie - albo sprawdzilismy na packages.debian.org). Chwila pracy żeby dociągnąć powyższy moduł (też w wersji source), przekompilować, przekompilować raz jeszcze ipw2200 i… niestety nadal jest problem, bo choć są wszystkie moduły to niestety trzeba ściągnąć firmware ze stron intela. Ot, znów taka miła polityka Debiana…
Ponieważ pliki readme kierują nas na strony projektu http://ipw2200.sourceforge.net, a dokładniej na podstronę firmware.php, to warto pamietać którą wersję drivera mamy, żeby pobrac właściwe oprogramowanie. Kilkadziesiąt kilo do ściągnięcia, a potem to już tylko wrzucenie plików *.fw po rozpakowaniu tarballa do odpowiedniego katalogu - (ja wybrałem /usr/lib/hotplug/firmware, bo karta zostaje włączona przez hotplug) i ten artykuł już jest pisany dzięki połączeniu bezprzewodowemu.
BTW - dziwne jest, że nowy interfejs pojawil sie jako eth[n] a nie wlan[n]… Trzeba będzie sobie spatchować źródła, ale to zupełnie inny temat…

I na sam koniec mała uwaga - żeby sie tak nie mordować, w tym przypadku wystarczyłoby dodać repozytorium debian unofficial (korzystam z etch, a backports jeszcze sarge nie wspierają), w którym jest sporo ciekawego softu… ale przecież nie w tym rzecz, prawda?

The Unofficial Fedora FAQ

6 October, 2005 (09:22) | linux | By: vermin

W ramach eksperymentów z rónymi dystrybucjami linuksa postanowiłem zainstalować Fedorę - wszystkim, którzy chcą to uczynić polecam tą stronkę - odpowiada na wszystkie podstawowe pytania, w szczególności: “czemu nie grają mp3? jak dostać się do partycji ntfs?” i wiele innych.
The Unofficial Fedora FAQ
Dodano 07.09 Niestety fedora ma drobnego buga. Na ICH6 zawiesiła się przy instalacji… w momencie ładowania modułu ata_piix.
Cóż, i tak daleko doszła ;-) Debian 3.1 Stable, Ubuntu Hoary Hedehog, Suse 9.3 wogóle nie widziały dysku…

Updatowanie mandrake’a/mandriva

5 October, 2005 (12:43) | linux | By: vermin

Na dysku pojawił mi się w ramach testów taki dziwny system. Niestety zarządzanie pakietami w nim leeeeży i kwiczy. A przynajmniej jest trudne dla kogoś, kto nie zna tego systemu i towarzyszących mu narzędzi. Chociaż Mandrake/Mandriva korzysta z formatu RPM i towarzyszących mu narzędzi, to jednak po instalacji nigdzie nie znalazłem informacji skąd brać nowe pakiety - oprócz medium instalacyjnego.
Najpierw warto dodać repozytoria:

  • Czyścimy zawartość repozytorium urpmi.removemedia -a
  • Dodajemy nowe:
    • urpmi.addmedia plf-free ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/free/10.2 with synthesis.hdlist.cz
    • urpmi.addmedia plf-nonfree ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/non-free/10.2 with synthesis.hdlist.cz
    • urpmi.addmedia –update updates ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/official/updates/LE2005/main_updates/ with media_info/synthesis.hdlist.cz
    • urpmi.addmedia main ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/official/2005/i586/media/main with media_info/synthesis.hdlist.cz
    • urpmi.addmedia contrib ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/official/2005/i586/media/contrib with media_info/synthesis.hdlist.cz
    • urpmi.addmedia jpackage ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/official/2005/i586/media/jpackage with media_info/synthesis.hdlist.cz

    Ponieważ ta lista może być nieaktualna warto sprawdzić easyURPMI.

  • Po trwającycm chwilę procesie wykonujemy urpmi urmpi żeby mieć najnowsz ą wersję narzędzia, i po chwili możemy już wykonać urmpi –auto –autoselect

I już mamy świeżutką mandrivę… Jeszcze tylko skonfigurować Xy…