background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

SUPERSERWERY : inetd , xinetd

 

W systemie Linuks serwery różnych usług uruchamiane są na dwa sbosoby :

podczas startu systemu

 - dany serwer pracuje w systemie przez cały czas "jako demon"

zajmując zasoby systemowe

poprzez specjalny serwer inetd lub xinetd (nowsza wersja inetd)

 - serwery usług

uruchamiane są tylko w przypadku próby skorzystania z nich przez klienta

 

1) konfiguracja serwera inetd
2) konfiguracja serwera xinetd

 

1) konfiguracja serwera inetd

Plikiem konfiguracyjnym serwera inetd jest plik : /etc/inetd.conf

Każdy wiersz tego pliku ma następujący format :

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

usługa typ-gniazdka protokół wait/nowait[.max] użytkownik[.grupa] program-
serwera argumenty-serwera

gdzie :

usługa

 - to nazwa usługi odpowiadająca wpisom z pliku /etc/services, na podstawie której serwer

określa numer portu, na którym należy oczekiwać połączenia

typ-gniazdka

 - przyjmuje wartość stream dla usług o charakterze połączeniowym (tcp) lub

datagram dla usług bezpołączeniowych (udp)

protokół

 - określa protokół wykorzystywany do obsługi połączenia (musi być on zdefiniowany w

pliku /etc/protocols)

wait/nowait[.max]

 - w przypadku serwerów wielowątkowych należy podać parametr 

nowait

, a

wprzypadku jednowątkowych - 

wait

Opcjonalne pole 

max

 określa maksymalną liczbę procesów, które można utworzyć w ciągu 60 sekund

(tylko dla parametru 

nowait

)

user[.group]

 - określa użytkownika i grupę, do której będzie należał uruchomiony proces

program-serwera

 - zawiera ścieżkę do programu obsługującego połączenie

argumenty-serwera

 - jest listą argumentów przekazywanych do programu serwera przy jego

uruchomieniu

 

Przykład :

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

ftp stream tcp nowait root /usr/sbin/proftpd proftpd

 

2) konfiguracja serwera xinetd

Xinetd jest nowszą wersją superserwera inetd. Posiada on rozszeżone dyrektywy konfiguracyjne
umożliwiające dokładniejsze dostosowanie konfiguracji do własnych potrzeb lub zasobów
systemowych.

Ciekawymi parametrami dla polecenia configure podczas instalowania serwera są :

--with-libwrap

 - parametr nakazujący w pierwszej kolejności sprawdzenie praw dostępu w

plikach /etc/hosts.allow i /etc/hosts.deny 

--with-loadavg

 - parametr pozwalający zarządzać opcją konfiguracji max_load (wyłączenie

części serwisów podczas przeciążenia maszyny) 

--with-inet6

 - parametr ten pozwala na obsługę IPv6

 

Głównym plikie konfiguracyjnym superserwera xinetd jest plik : /etc/xinetd.conf

Plik konfiguracyjny składa się z dwóch sekcji :

default

 - definiuje ogólną konfiguracje serwera, a każdy atrybut zdefiniowany w tej sekcji

zachowuje swoją wartość dla wszystkich ustawień w sekcji 

service

 (chyba, że zostanie jawnie

zmieniony w danej sekcji)

service

 - odpowiedzialna jest za konfigurację odpowiednich usług

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

 

Sekcja default ma następującą budowę :

default
{
  atrybut operator wartość
  ........
}

 

Sekcja service wygląda identycznie jak sekcja default :

service nazwa_sewisu
{
  atrybut operator wartość
  ....................
}

 

Dozwolone operatory to :

=     przypisuje atrybutowi daną wartość
+=  dodaje wartość do listy wartości atrybutów
-=   usuwa wartość z listy wartości atrybutów

 

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

Najważniejsze atrybuty i ich wartości to :

 

bind lub interface

pozwala na powiązanie serwisu z danym adresem IP (przydatne jeśli nasz serwer posiada kilka kart
sieciowych)

 

disabled

 

dotyczy sekcji default - wartościami są nazwy usług, które chcemy wyłączyć

 

disable

dotyczy sekcji service, a możliwe wartości to :
YES - wyłączenie danej usługi
NO - włączenie danej usługi

 

flags

może przyjmować następujące wartości :
IDONLY - akceptuje tylko połączenia od klientów posiadających serwer identyfikacyjny

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

NAMEINARGS - oznacza, że w polu 

server

 definiuje się pomocniczy program potrzebny do

prawidłowego działania serwera, a dopiero w polu 

serwer_args

 definiuje się właściwy serwer

NOLIBWRAP - powoduje, że pliki host.acces i host.deny  nie są sprawdzane
NORETRY - zabezpiecza nowy proces przed ponownym rozdzieleniem w przypadku błędu

 

id

umozliwia nadanie dodatkowej nazwy danej usłudze

 

log_type

określa sposób logowania zdarzeń związanych z dostępem do poszczególnych usług :

SYSLOG funkcja [poziom]
mozliwe funkcje to : daemon | auth | authpriv | user | local0-7
mozliwe poziomy to : emerg | alert | crit | err | warning | notice | info | debug

FILE nazwa_pliku [max1[max2]]
nazwa_pliku - wskazuje na pliku, do którego trafiać będą logi
max1 - określa rozmiar pliku po przekroczeniu którego wysyłane jest ostrzeżenie do sysloga
max2 - określa rozmiar po przekroczeniu którego syslog przestaje logować

 

log_on_success

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

określa, które dane mają zostać zalogowane w przypadku udanego połączenia i skorzystania z usługi
:
HOST - loguj IP klienta
PID - loguj PID procesu, który obsłużył klienta
DURATION - loguj długość trwania połączenia
USERID - loguj identyfikator zdalnego użytkownika
EXIT - loguj status serwera po obsłużeniu klient

 

log_on_failure

 

określa, które dane mają zostać zalogowane w przypadku nieudanego połączenia i skorzystania z
usługi :ATTEMPT - loguj fakt próby połączenia
HOST - loguj IP klienta
USERID - loguj identyfikator zdalnego użytkownika
RECORD - loguj wszelkie dostępne dane o kliencie

 

nice

określa priorytet uruchamianej usługi (wysoki priorytet -10 , niski -20)

 

no_access

 

zawiera listę klientów, którzy nie mogą korzystać z danej usługi serwisu

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

 

only_from

 

zawiera listę klientów, którzy mogą korzystać z usługi serwisu

 

port

 

wskazuje na numer portu skojarzony z daną usługą

 

protocol

 

określa protokół wykorzystywany do obsługi połączenia (musi być on zdefiniowany w pliku
/etc/protocols)

 

redirect

 

przekierowanie rządania na inną maszynę

 

server

 

zawiera ścieżkę do programu uruchamiającego dany serwer

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

 

server_args

 

jest listą argumentów przekazywanych do programu serwera przy jego uruchomieniu

 

socket_type

 

przyjmuje wartość stream dla usług o charakterze połączeniowym (tcp) lub datagram dla usług
bezpołączeniowych (udp)

 

type

 

określa typ serwisu :
INTERNAL - serwisy zarządzne bezpośrednio przez xinetd bez udziału konkretnych serwerów
                       (echo, time, daytime, chargen, discard)
RPC - serwisy wymienione w pliku /etc/rpc
UNLISTED - dla serwisów nie wymienionych w plikach : /etc/rpc  /etc/services

 

wait

dotyczy srwisów jedno lub wielowątkowych :
NO[.max] - dotyczy serwerów wielowątkowych, opcjonalne pole max określa maksymalną liczbę

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

procesów, które mozna utworzyć w ciągu 60 sek
YES - w przypadku serwerów jednowątkowych

 

cps

 

limituje ilość przychodzących połączeń :
wartość_1 - określa ilość maksymalnych połączeń do danego serwisu po przekroczeniu którego
serwis zostaje deaktywowany
wartość_2 - wyrażona w sekundach określa czas deaktywowania serwisu

 

instances

 

określa maksymalną liczbę serwerów tego samego typu pracujących w tym samym czasie

 

max_load

 

określa maksymalne obciążenie procesora po przekroczeniu, którego połączenia na ten serwer są
odrzucane

 

per_source

 

określa limit połączeń dla serwera z tego samego adresu źródłowego :

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

dowolna_liczba - liczba określająca limit połączeń
UNLIMITED - nieograniczona liczba połączeń

 

W pliku xinetd.conf znajduje się zazwyczaj tylko główna konfiguracja serwera i wpis dołączający pliki
z katalogu /etc/xinetd/ zawierające konfiguracje poszczególnych usług.

 

Przykład :

defaults 

instances = 50  
per_source = 5 
log_type = FILE /var/log/xinetd.log 500K 600K 
log_on_success = HOST PID DURATION 
log_on_failure = HOST RECORD 
no_access = 192.168.1.3 
disabled = telnet 
}

service ftp 

flags = REUSE  
socket_type = stream 
instances = 50 
wait = no 
user = root 

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

server = /usr/sbin/proftpd 
log_on_success = HOST PID 
log_on_failure = HOST RECORD 
}