xinetd
Deweloperzy | Roba Brauna |
---|---|
Wersja stabilna | 2.3.15 / 9 maja 2012
|
Magazyn | |
Napisane w | C , Skorupa |
System operacyjny | Uniksopodobny |
Typ | Demon |
Licencja | Otwarte źródło |
Strona internetowa |
|
W sieciach komputerowych xinetd ( Extended Internet Service Daemon ) to demon superserwera typu open source , który działa w wielu systemach typu Unix i zarządza łącznością internetową .
Oferuje bezpieczniejszą alternatywę dla starszego inetd („demona internetowego”), którego większość nowoczesnych dystrybucji Linuksa jest przestarzała.
Opis
xinetd nasłuchuje żądań przychodzących przez sieć i uruchamia odpowiednią usługę dla tego żądania. Żądania są wykonywane przy użyciu numerów portów jako identyfikatorów, a xinetd zwykle uruchamia innego demona do obsługi żądania. Może być używany do uruchamiania usług zarówno z uprzywilejowanymi, jak i nieuprzywilejowanymi numerami portów.
xinetd oferuje mechanizmy kontroli dostępu , takie jak listy ACL TCP Wrapper , rozbudowane możliwości rejestrowania oraz możliwość udostępniania usług na podstawie czasu. Może nakładać ograniczenia na liczbę serwerów , które system może uruchomić, i ma wdrażalne mechanizmy obronne chroniące między innymi przed skanerami portów .
W niektórych implementacjach systemu Mac OS X demon ten uruchamia i utrzymuje różne usługi związane z Internetem, w tym FTP i telnet . Jako rozszerzona forma inetd oferuje zwiększone bezpieczeństwo. Zastąpił on inetd w systemie Mac OS X 10.3 , a następnie uruchomił go i zastąpił go w systemie Mac OS X 10.4 . Jednak firma Apple zachowała inetd ze względu na kompatybilność.
Konfiguracja
Konfiguracja xinetd znajduje się w domyślnym pliku konfiguracyjnym /etc/xinetd.conf, a konfiguracja obsługiwanych przez niego usług znajduje się w plikach konfiguracyjnych przechowywanych w katalogu /etc/xinetd.d. Konfiguracja każdej usługi zwykle zawiera przełącznik do kontrolowania, czy xinetd powinien włączać, czy wyłączać usługę.
Przykładowy plik konfiguracyjny serwera czasu RFC 868 :
# domyślnie: wyłączone # opis: Serwer czasu RFC 868. Protokół ten zapewnia # niezależną od lokalizacji, czytelną maszynowo datę i godzinę. Usługa Czas odsyła # do źródła źródłowego czas w sekundach od północy 1 stycznia 1900 r. # To jest wersja tcp. service time {disable = yes type = WEWNĘTRZNY id = strumień czasowy socket_type = stream protocol = tcp user = root wait = no } # To jest wersja udp. czas obsługi {disable = yes type = WEWNĘTRZNY id = time-dgram socket_type = dgram protocol = udp user = root wait = yes }
Wiersze ze znakiem „#” na początku są komentarzami bez wpływu na serwis. Istnieją dwie wersje usługi: pierwsza oparta jest o protokół kontroli transmisji (TCP), druga oparta jest na protokole datagramowym użytkownika (UDP). Rodzaj i planowane wykorzystanie usługi określa niezbędny protokół podstawowy. W prosty sposób UDP nie jest w stanie obsłużyć ogromnych transmisji danych, ponieważ nie ma możliwości przestawiania pakietów w określonej kolejności ani gwarancji ich integralności, ale jest szybszy niż TCP. TCP ma te funkcje, ale jest wolniejszy. Wewnątrz nawiasów klamrowych znajdują się po dwie kolumny w każdej wersji. Pierwszy to rodzaj opcji, drugi to zastosowana zmienna.
Opcja wyłączenia to przełącznik, aby uruchomić usługę lub nie. W większości przypadków stan domyślny to yes . Aby aktywować usługę, zmień ją na no .
Istnieją trzy rodzaje usług. Typ to WEWNĘTRZNY , jeśli usługa jest dostarczana przez xinetd, RPC , gdy jest oparta na Zdalnym wywołaniu procedury (powszechnie wymieniony w pliku /etc/rpc), lub może być UNLISTED , gdy usługa nie znajduje się ani w /etc/services, ani w pliki /etc/rpc.
Identyfikator jest unikalnym identyfikatorem usługi .
Socket_type określa sposób transmisji danych przez serwis. Istnieją trzy typy: stream , dgram i raw . To ostatnie jest przydatne, gdy chcemy założyć usługę opartą na niestandardowym protokole.
użytkownika umożliwia wybór użytkownika jako właściciela uruchomionej usługi . Zdecydowanie zaleca się wybranie użytkownika innego niż root ze względów bezpieczeństwa.
Gdy oczekiwanie jest ustawione na tak , xinetd nie otrzyma żądania usługi, jeśli ma połączenie. Tak więc liczba połączeń jest ograniczona do jednego. Zapewnia bardzo dobrą ochronę, gdy chcemy nawiązać tylko jedno połączenie na raz.
Istnieje wiele innych opcji dostępnych dla xinetd. W większości dystrybucji Linuksa pełna lista możliwych opcji wraz z ich opisem jest dostępna za pomocą polecenia „man xinetd.conf”.
Aby zastosować nową konfigurację, należy wysłać sygnał SIGHUP do procesu xinetd, aby ponownie odczytał pliki konfiguracyjne. Można to osiągnąć za pomocą następującego polecenia: kill -SIGHUP " PID "
. PID to rzeczywisty numer identyfikacyjny procesu xinetd, który można uzyskać poleceniem pgrep xinetd
.
Linki zewnętrzne
- openSUSE fork , aby zawierał wszystkie łatki z kilku dystrybucji: openSUSE, Debian, Fedora, Gentoo, ...