ODBIERZ TWÓJ BONUS :: »

Recenzje

Linux. Bezpieczeństwo. Receptury

Administrator serwera linuksowego nie ma łatwego życia. Co rusz nowe wersje kernela, śledzenie ogłoszeń o dziurach, ściąganie łat plus odwieczne problemy z użytkownikami. A do tego w mailach długa kolejka rzeczy do zrobienia...

Dla księgowości trzeba zrobić zdalny backup (szef kategorycznie żąda by był on szyfrowany, bo księgowość jest "twórcza"). Kolega koniecznie chce ściągać pocztę z firmy do domu, ale niekoniecznie tak by cała sieć osiedlowa mogła się później wymieniać co ciekawszymi sformułowaniami uzyskanymi z podsłuchu.

Te dwa zadania wydają się proste, dopóki nie zacznie się ich realizować. Na Google nasz administrator znajdzie informację, że najlepiej do szyfrowania sesji poczty nadaje się Stunnel. Za tą małą górką, której pokonanie było tak łatwe i trwało tyle co ściągnięcie kilkuset kilo kodu, ukazuje się jednak wielka i najeżona trudnościami góra - żeby użyć Stunnela trzeba zostać ekspertem od PKI, X.509 i SSL. Nauczyć się, jak generować certyfikaty CA, certyfikaty samopodpisujące się, certyfikaty klientów, odwołania certyfikatów i sto innych detali.

Książka Barretta, Silvermana i Byrnesa zawiera dokładny przepis jak to zrobić, a także kilkaset innych konkretnych receptur, jak zrealizować bardzo konkretne zadania - od szyfrowanego backupu, przez certyfikaty PKI, analizę logów po konfigurację Snort IDS.

Jest to książka napisana przez praktyków i dla praktyków - autorzy na 340 stronach przechodzą przez praktycznie wszystkie zadania, które czekają administratora Linuksa w związku z zabezpieczeniem systemu. Statystycznie rzecz biorąc, otwarcie tej książki w dowolnym, losowo wybranym miejscu pokazuje zadanie, które sam musiałem wykonać w ciągu ostatniego miesiąca lub będę zmuszony wykonać wkrótce.
Przechodząc od ogólników do konkretów - książka jest podzielona na dziewięć rozdziałów, z których każdy zawiera kilkadziesiąt receptur z tematu przewodniego danego rozdziału. Te tematy to kolejno:

  1. Wykrywanie nieautoryzowanych zmian w systemie - omawiane są metody sprawdzania integralności systemu plików za pomocą narzędzi takich jak Tripwrite, md5sum, mechanizmów wbudowanych w RPM a także na "obcym" systemie plików (windowsowy VFAT).
  2. iptables i ipchains - konfiguracja filtra pakietów dla kerneli 2.2 (ipchains) i 2.4 (iptables), bardzo przydatna ze względu na dokładne omówienie dobrej praktyki inżynierskiej jaką jest filtrowanie nieprawidłowego ruchu na routerach brzegowych. Omawia także filtrowanie po adresach sprzętowych (MAC) i inne, bardziej zaawansowane zadania związane z filtrem pakietów. Zaletą tej części książki jest wykorzystanie w przykładach potężnej funkcji iptables jaką jest rozpoznawanie stanów (stateful inspection).
  3. Kontrola dostępu do usług - ta część omawia konfigurację systemu (poza filtrem pakietów), pozwalającą na ograniczenie dostępu do usług udostępnianych przez inetd lub xinetd (dwa najpopularniejsze obecnie superdemony) oraz innych, samodzielnych demonów wykorzystujących libwrap (SSH).
  4. Systemy uwierzytelniania - przedstawione są typowe zadania związane z konfiguracją popularnych systemów uwierzytelniania użytkowników, a konkretnie PAM, Kerberos oraz zadania związane z infrastrukturą klucza publicznego czyli głównie obsługa certyfikatów dla SSL.
  5. Mechanizmy autoryzacji - wykonywanie zadań z uprawnieniami roota (sudo, su) oraz zdalnie (SSH), także w środowisku X Window (przypadek szczególny ze względu na konieczność przekierowania DISPLAY).
  6. Bezpieczne połączenia między systemami - omawia zaawansowane możliwości OpenSSH i SSH2 takie jak uwierzytelnianie kluczami publicznymi, wykorzystanie agenta SSH do przekazywania tych kluczy i tunelowanie połączeń po SSH. Zawiera przykłady wykorzystania SSH do bezpiecznego uruchamiania poleceń z prawami roota z crona lub skryptów, bardzo przydatne na przykład do wykonywania zdalnych backupów i innych zadań.
  7. Rozdział o ochronie plików dotyczy wszystkiego co jest związane z zabezpieczaniem danych za pomocą PGP (w implementacji GnuPG) - zarządzanie kluczami PGP, szyfrowanie, podpisywanie plików, szyfrowanie katalogów oraz wymianę kluczy między PGP i GnuPG.
  8. Rozdział o ochronie poczty elektronicznej pokazuje, jak włączyć szyfrowanie i podpisywanie wiadomości w prawie wszystkich popularnych uniksowych programach pocztowych. Omówiono przykłady dla Emacsa, Mozilli, Pine, Evolution, mutta, elma, MH i uniwersalny sposób dla programów korzystających z vi jako edytora. Druga część przykładów dotyczy bezpiecznego ściągania poczty po POP3 lub IMAP w tunelu SSL. Przedstawione przykłady dotyczą niestety tylko xinetd z natywnie wbudowaną obsługą SSL, można było się pokusić o pokazanie Stunnela.
  9. Ostatni rozdział pokazuje kilkadziesiąt typowych i nietypowych zadań związanych z monitorowaniem i testowaniem bezpieczeństwa systemu, od narzędzi do łamania słabych haseł, przez wyszukiwanie kont i plików z uprawnieniami roota, szukanie otwartych portów, obserwację ruchu sieciowego, korzystanie ze Snort IDS i analizę logów.

Formuła tego podręcznika pozwala zaoszczędzić czas - autorzy (podobnie jak nasz szef) nie oczekują, że staniemy się ekspertami w dziedzinie kryptografii znającymi wszystkie matematyczne podstawy tej nauki. Zamiast długich wstępów teoretycznych dają nam krótką i konkretną receptę, jak szybko i skutecznie wykonać dane zadanie.
Co ważniejsze, jak wykonać go bezpiecznie i w sposób zgodny z dobrą praktyką inżynierską, co jest nie do przecenienia w obecnej dobie szybkiego rozwoju informatyki. Opublikowane przepisy nie mają przy tym charakteru magicznego - każde polecenie jest krótko skomentowane i wynika w jasny sposób z opisu.

Kolejną zaletą książki jest brak wodolejstwa, będącego zmorą niektórych publikacji informatycznych, a przejawiającego się na przykład przedrukowywaniem manuali systemowych, instrukcji do programów czy drobiazgowym opisywaniem każdej jednej opcji danego narzędzia (nawet jeśli ostatnie potwierdzone informacje o jej użyciu pochodzą z zeszłego stulecia). Tutaj, na 340 stronach, nie ma bodaj jednej strony na której nie można byłoby znaleźć czegoś ciekawego i użytecznego.

Omawiane narzędzia można zastosować pod każdym systemem uniksowym, więc uzyskana praktyka nie będzie wyłącznie linuksocentryczna. Autorzy używają głównie Red Hata, co przejawia się m.in. w stosowaniu pakietów RPM i redhatowskich struktury systemu plików, ale nie ma to zasadniczego wpływu na konfigurację poszczególnych programów, które będą tak samo działać pod Red Hatem jak i pod Debianem.
Niestety omówiona została tylko konfiguracja Sendmaila, brak przynajmniej Postfixa lub Qmaila - serwerów pisanych od zera z myślą o bezpieczeństwie.

Bardzo spodobała mi się ogromna liczba zawartych w tekście sztuczek, pozwalających ułatwić sobie życie - jak praca z potokami, przekierowywanie wyjścia i wejścia programów itd. Wykonując receptury z tej książki każdy administrator podnosi swoje kwalifikacje przez przyswajanie sobie tej charakterystycznej dla systemów uniksowych elastyczności i uniwersalności.

IPsec.pl - Ochrona danych i bezpieczeństwo sieci Paweł Krawczyk

Java. Tworzenie gier

Blisko 800 stron potrzebowali panowie David Brackeen, Bret Barker i Laurence Vanhelsuwe, by wyjaśnić czytelnikom zawiłości tworzenia gier w Javie. Trzeba jednak przyznać, iż zrobili to skutecznie. Przed lekturą tomu nie miałem zbyt dużego pojęcia o programowaniu w tym języku. Po skończeniu książki i przebrnięciu przez zamieszczone przykłady (do ściągnięcia z ftp Helionu) wiedziałem wiele i potrafiłem dużo. Naprawdę nauczyłem się, jak zaprogramować prostą grę.

Książka podzielona została na 19 obszernych rozdziałów. Czytając je, dowiadujesz się o znaczeniu wątków i synchronizacji w języku Java, poznajesz podstawy grafiki 2D i animacji, a także uczysz się programować muzykę (bądź odtwarzać pliki MP3). Po pewnym czasie umiesz już stworzyć interfejs użytkownika, zaprogramować prostą Sztuczną Inteligencję i pobawić się obiektami 3D. Dobra znajomość matematyki oraz języka angielskiego oczywiście też się przyda. Jednak by zaprojektować sympatyczną platformówkę, wystarczy logicznie myśleć i wiedzieć, co to za algorytm.

Tłumacz stanął na wysokości zadania, a czcionka jest dostatecznie wyraźna, by czytać książkę w autobusie. Całość wydało w Polsce wydawnictwo Helion w cenie 79.90 zł. Jeśli kupisz ją i napiszesz jakąś naprawdę fajną grę, daj nam znać!

CLICK! 01/2005

C++. Biblioteka standardowa. Podręcznik programisty

W 1989 r., prawie dziesięcioletnie starania rzesz programistów poparte formalnymi wnioskami kilku państw uczyniły C++ oficjalnym standardem programowania obiektowego, czego zwieńczeniem było nadanie formalnego certyfikatu ANSI i ISO. Proces standaryzacyjny obejmował również stworzenie biblioteki standardowej zawierającej pewne uniwersalne składniki i umożliwiającej zachowanie przenośności kodu. Omawiana biblioteka standardowa jest, w największym skrócie mówiąc, zbiorem uniwersalnych klas i interfejsów. Biblioteka ta stanowi przedmiot niniejszego opracowania, skierowany do osób znających już język C++. Całość podzielono na trzy części, z których pierwsza, najbardziej obszerna tyczy Standardowej Biblioteki Wzorców (Standard Template Library), a dwie kolejne pojedynczych klas standardowych (kontenerów, łańcuchów i klas numerycznych) oraz biblioteki IOStream. Opisano tu sposoby korzystania z nich w formie hybrydy poradnika i leksykonu, gdyż konstrukcja opracowania pozwala w dużej mierze na skorzystanie z opisu pożądanego zagadnienia bez konieczności lektury pozostałej części, a jednocześnie zilustrowano je wieloma przykładami będącymi bądź to fragmentami kodu, bądź nawet całymi programami.
Notes Wydawniczy gz, 12/2003

Oracle Discoverer

Czym jest informacja we współczesnym świecie, nie trzeba chyba tłumaczyć. Ile jest warta -- to już wiedzą osoby poruszające się w "wielkim świecie biznesu". Omawiane tutaj narzędzie, którym jest program Discoverer dedykowany do współpracy z bazami danych Oracle, choć potrafi kooperować także z innymi produktami, służy do przetwarzania informacji. A nieco dokładniej rzecz ujmując, do tworzenia raportów i analizy danych. Na pewno jest to bardzo dobre narzędzie, szczególne przydatne w dużych repozytoriach informacji, jakimi mogą być np.: systemy klasy ERP, hurtownie danych czy transakcyjne systemy on-line. Choć jest dosyć intuicyjny w obsłudze, to niniejsza publikacja powinna znacznie ułatwić użytkownikom wykorzystanie w pełni jego możliwości chociażby w zakresie zaawansowanych modyfikacji i rozbudowy zapytań zarówno od strony stricte informacyjnej, jak i prezentacyjnej (wyszukane raporty). I o ile autorom udało się przystępnie, jasno i wyczerpująco, opisać techniczne aspekty obsługi i wykorzystania aplikacji, to, kiedy wkraczają na pole wspomnianego wyżej "wielkiego świata biznesu", przejmują charakterystyczną dla niego, nieco napuszoną retorykę. A może jestem przewrażliwiony na tym punkcie...
Notes Wydawniczy gz, 12/2003

OpenGL. Programowanie gier

Truizmem, i to na dodatek mocno absurdalnym, jest stwierdzenie, iż najbardziej rzucającymi się w oczy zmianami są zmiany, które po prostu widać. A więc grafika. Krótkie spojrzenie na współczesne gry i te sprzed ledwie kilku lat pokazuje prawdziwą przepaść dzielące te produkty. Programowanie gier stało się ścisłą specjalizacją, która rozwija się w sposób ciągły i niezwykle dynamiczny. OpenGL stworzony w legendarnej firmie Silicon Graphics stał się przez ten czas uniwersalną, nieprzerwanie rozwijaną technologią, która przekracza granice pomiędzy systemami operacyjnymi i platformami sprzętowymi, obficie czerpiącą z dobrodziejstw oferowanych przez moce obliczeniowe drzemiące w najnowszych kartach graficznych. W książce tej nacisk położono na dwa aspekty: wykorzystanie właściwości tej biblioteki szczególnie przydatnych w grach oraz współistnienie z Microsoftowym DirectX (w tym komponentami odpowiedzialnymi m.in. za dźwięk). Znajdziemy tutaj przede wszystkim rzetelne wprowadzenie do teorii grafiki trójwymiarowej oraz rozliczne, praktyczne przykłady o różnym stopniu trudności, prezentujące zagadnienia m.in. przekształceń, oświetlenia, operacji na teksturach, list wyświetlania, efektów
Notes Wydawniczy gz, 12/2003
Sposób płatności