Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Запуск и останов сервисов.

Рубрика: Безопасность -> Основные меры защиты Linux
Метки: | |
Среда, 6 мая 2009 г.
Просмотров: 5954

Нужно решить, какие сервисы нужны, а какие - нет. Последовательность действий для запуска и останова системы зависит от дистрибутива (точнее, от его системы инициализации) и все случаи рассмотреть нет никакой возможности, следовательно, рассмотрим более распространенный вариант, используемый дистрибутивами Red Hat/Fedora и SuSE.

     XINETD.

     Ранее был упомянут файл inetd.conf - это конфигурационный файл суперсервера Интернета (inetd). В нынешних дистрибутивах вместо суперсервера inetd используется его расширенная версия - xinetd. В кон­фигурационном файле inetd все сервисы были описанысразу в одном файле . В xinetd ситуация изменилась.


     У каждого сервиса есть свой собственный xinetd-конфигурационный файл, находящийся в каталоге /etc/xinetd.d:

$ ls -l /etc/xinetd.d

итого 164

-rw-r--r-- 1 root root 318 Мар 31 2006 amanda

-rw-r--r-- 1 root root 227 Мар 31 2006 amandaidx

-rw-r--r-- 1 root root 230 Мар 31 2006 amidxtape

-rw-r--r-- 1 root root 252 Мар 31 2006 binkp

-rw-r--r-- 1 root root 560 Мар 31 2006 chargen

-rw-r--r-- 1 root root 580 Мар 31 2006 chargen-udp

-rw-r--r-- 1 root root 231 Мар 31 2006 comsat

-rw-r--r-- 1 root root 239 Мар 31 2006 cups-lpd

-rw-r--r-- 1 root root 417 Мар 31 2006 daytime

-rw-r--r-- 1 root root 437 Мар 31 2006 daytime-udp

-rw-r--r-- 1 root root 353 Мар 31 2006 dbskkd-cdb

-rw-r--r-- 1 root root 346 Мар 31 2006 distcc

-rw-r--r-- 1 root root 339 Мар 31 2006 echo

-rw-r--r-- 1 root root 358 Мар 31 2006 echo-udp

-rw-r--r-- 1 root root 322 Мар 31 2006 eklogin

-rw-r--r-- 1 root root 317 Мар 31 2006 finger

-rw-r--r-- 1 root root 325 Мар 31 2006 gssftp

-rw-r--r-- 1 root root 367 Мар 31 2006 imap

-rw-r--r-- 1 root root 363 Мар 31 2006 imaps

-rw-r--r-- 1 root root 451 Мар 31 2006 ipop2

-rw-r--r-- 1 root root 356 Мар 31 2006 ipop3

-rw-r--r-- 1 root root 309 Мар 31 2006 klogin

-rw-r--r-- 1 root root 322 Мар 31 2006 krb5-telnet

-rw-r--r-- 1 root root 307 Мар 31 2006 kshell

-rw-r--r-- 1 root root 266 Мар 31 2006 ktalk

-rw-r--r-- 1 root root 273 Мар 31 2006 ntalk

-rw-r--r-- 1 root root 333 Мар 31 2006 pop3s

-rw-r--r-- 1 root root 353 Мар 31 2006 popa3d

-rw-r--r-- 1 root root 396 Мар 31 2006 popa3ds

-rw-r--r-- 1 root root 359 Мар 31 2006 rexec

-rw-r--r-- 1 root root 376 Мар 31 2006 rlogin

-rw-r--r-- 1 root root 429 Мар 31 2006 rsh

-rw-r--r-- 1 root root 317 Мар 31 2006 rsync

-rw-r--r-- 1 root root 312 Мар 31 2006 services

-rw-r--r-- 1 root root 407 Мар 31 2006 sgi_fam

-rw-r--r-- 1 root root 362 Мар 31 2006 swat

-rw-r--r-- 1 root root 261 Мар 31 2006 talk

-rw-r--r-- 1 root root 303 Мар 31 2006 telnet

-rw-r--r-- 1 root root 508 Мар 31 2006 tftp

-rw-r--r-- 1 root root 495 Мар 31 2006 time

-rw-r--r-- 1 root root 515 Мар 31 2006 time-udp

     Все файлы позволяют управлять каждым сервисом, который запускается с помощью xinetd (существуют сервисы, которые запускаются независимо от xinetd). Посмотрим на файл /etc/xinetd.d/finger:

$ cat /etc/xinetd.d/finger

# default: on

# description: The finger server answers finger requests. Finger is \

# a protocol that allows remote users to see information such \

# as login name and last login time for local users.

service finger

{

  disable = yes

  socket_type = stream

  wait = no

  user = nobody

  server = /usr/sbin/in.fingerd

}

     Запустить или остановить данный сервис очень просто: нужно открыть этот файл в любом текстовом редакторе и измените строку disable = yes (сервис отключен) на disable = no (включен), или наоборот.

     Отдельные общие параметры по умолчанию, которые будут применены ко всем сервисам, находятся в файле /etc/xinetd.conf, в секции default. Вот некоторые из них:

  • no_access — список клиентов, которым запрещен доступ к сервису.
  • only_from — список клиентов, которым разрешен доступ к сервису, всем остальным клиентам доступ будет запрещен.
  • cps — максимальное число соединений в секунду. После превышения этого значения остальные соединения отбрасываются.
  • instances — максимальное число инстанций сервиса, которые могут быть запущены.
  • max_load — загрузка системы в процентном соотношении — позволяет предотвратить «лишние» соединения.
  • per_source — задает максимальное количество соединений из одного и того же самого источника.
  • bind — привязывает сервис с определенным интерфейсом.

     Для предотвращения DoS-атак могут использоваться опции cps, max_load и persource.

     После того, как были внесены важные изменения в конфигурационные файлы, нужно перезапустить суперсервер:

# killall -HUP xinetd

     INETD.

     В современных дистрибутивах нет суперсервера inetd, но если вдруг попадется древний дистрибутив и нужно будет его настроить, надо знать, как это сделать. Отключение определенных сервисов сводит­ся к комментированию соответствующих записей в файле /etc/inetd.conf:

# File Transfer Protocol (FTP) server:

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

# Telnet server:

ttelnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

     После внесения всех необходимых изменений в файл /etc/inetd.conf нужно перезагрузить суперсервер:

# killall -HUP inetd