Bezpieczeństwo jest jednym z ważniejszych wymagań stawianych systemom obecnie. Jest również bardzo ważne dla mnie. Dlatego poczyniłem pewne kroki aby uczynić ten system bezpiecznym.
Od początku v-q tworzone jest przy wykorzystaniu C++ i Standardowej Biblioteki Wzorców (ang. STL). Staram się nie wymyślać koła od początku, kiedy jest to możliwe korzystam ze znanego i sprawdzonego oprogramowania. STL i C++ zawierają znane i sprawdzone algorytmy i struktury danych.
Staram się aby kod był jak najprostszy, nie zaciemniam kodu w żaden sposób :-) Prostota projektu, prostota kodu. Staram się również utrzymywać aktualną dokumentację w kodzie, jednakże uważam, że prostszy kod jest lepszy niż obszerniejsza dokumentacja.
Używam automatów do generowania kodu. Dla przykładu dlatego zdecydowałem się używać CORBA - automatyzuje proces tworzenia protokołu komunikacji pomiędzy demonami.
Od wersji 5 tworzone są i wykonywane testy jednostkowe tak często jak to jest możliwe. Dla każdego wykrytego błędu tworzony jest test przed próbą naprawiania go. Ma to zapewnić, że raz wykryty błąd nie pojawi się ponownie.
Najważniejszą rzeczą, którą robię aby uczynić ten system bezpiecznym i stabilnym jest wykorzystywanie go na własnych serwerach.
Jednym z kroków, które można wykonać aby zabezpieczyć system jest ograniczenie dostępu do gniazd sieciowych tworzonych przez demony w celu komunikacji.
Katalog contrib/service zawiera przykładowe skrypty pozwalające uruchamiać demony pod nadzorem daemontools (zobacz http://cr.yp.to aby dowiedzieć się czegoś więcej na temat tego pakietu). Jak możesz zauważyć wszystkie demony uruchamiane są z argumentem:
-ORBIIOPAddr "unix:/var/vq/sockets/$PROG.sock"
Argument ten mówi implementacji CORBA, że do komunikacji mają być używane gniazda Uniksa, które reprezentowane są w systemie jako pliki. Można za pomocą chmod ograniczyć do nich dostęp. Uruchom
chmod 700 /var/vq/sockets
aby ograniczyć dostęp do wszystkich procesów tylko do procesów uruchomionych przez właściciela katalogu /var/vq/sockets.
Jeżeli chcesz umożliwić procesom, uruchamianym przez różnych użytkowników, dostęp do demonów zalecane jest abyś utworzył specjalną grupę, która będzie miała dostęp do plików reprezentujących gniazda Uniksa. Do tej grupy dodaj wszystkich użytkowników, którzy mają mieć dostęp.
Poprzedni | Spis treści | Następny |
Życie z Virtual Qmail | Początek rozdziału | Integracja z zewnętrznym oprogramowaniem |