Глава 14. Безопасность

Содержание
14.1. Отключение служб
14.2. Управление доступом к хосту
14.3. Поддержание системы в актуальном состоянии

Безопасность важна для любой системы. Она может защитить вашу машину от атак, а также обеспечить сохранность важных данных. Эта глава полностью посвящена обеспечению безопасности вашей системы Slackware от любителей использовать чужие скрипты, крякеров и прочих злоумышленников. Учтите, что это только первоначальное обеспечение безопасности системы. Безопасность как таковая - это процесс, а не состояние.

14.1. Отключение служб

Первым делом после установки Slackware нужно отключить все ненужные вам службы. Любая служба может быть потенциальным источником уязвимости вашей системы, поэтому важно, чтобы у вас работало как можно меньше служб (т.е. только те, что вам действительно нужны). Службы запускаются из двух основных мест - inetd и скриптов инициализации.

14.1.1. Службы, запускаемые из inetd

Многие демоны, входящие в состав Slackware, запускаются из inetd(8). inetd - это демон (или суперсервер), прослушивающий все порты, используемые другими службами, настроенные на запуск эти демоном, и порождающий копии соответствующих демонов при попытке подключения к ним (т.н. запуск по запросу). Демоны, запускаемые из inetd, могут быть отключены путём комментирования соответствующих строк в файле /etc/inetd.conf. Для этого откройте этот файл в своём любимом редакторе (напр., vi) и вы должны будете увидеть строки наподобие этой:

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

Вы можете отключить эту службу (и любую другую не нужную вам службу), закомментировав её (т.е. добавив в начало строки знак # (решётка)). Тогда приведенная выше строка примет следующий вид:

#telnet stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd

После перезапуска inetd эта служба будет отключена. Вы можете перезапустить inetd с помощью команды:

# kill -HUP $(cat /var/run/inetd.pid)

14.1.2. Службы, запускаемые из скриптов инициализации

Остальные службы, запускаемые во время загрузки системы, запускаются из скриптов инициализации из /etc/rc.d/. Их можно отключить двумя способами: первый заключается в снятии разрешения на выполнение для соответствующего скрипта, а второй - в комментировании в скриптах соответствующих строк.

Например, SSH запускается своим собственным скриптом /etc/rc.d/rc.sshd. Вы можете отключить эту службу следующим способом:

# chmod -x /etc/rc.d/rc.sshd

Для служб, нет имеющих собственных скриптов запуска, для их отключения нужно закомментировать соответствующие строки в скриптах инициализации. Например, демон portmap запускается следующими строками в файле /etc/rc.d/rc.inet2:

# This must be running in order to mount NFS volumes.
# Start the RPC portmapper:
if [ -x /sbin/rpc.portmap ]; then
  echo "Starting RPC portmapper:  /sbin/rpc.portmap"
  /sbin/rpc.portmap
fi
# Done starting the RPC portmapper.

Этот демон можно отключить, добавив знак # в начале соответствующих строк:

# This must be running in order to mount NFS volumes.
# Start the RPC portmapper:
#if [ -x /sbin/rpc.portmap ]; then
#  echo "Starting RPC portmapper:  /sbin/rpc.portmap"
#  /sbin/rpc.portmap
#fi
# Done starting the RPC portmapper.

Эти изменения вступят в силу только после перезагрузки системы или перехода с 3-го уровня запуска на 4-й. Вы можете выполнить это, набрав в консоли следующую команду (вам понадобится снова войти в систему после перехода на 1-й уровень запуска):

# telinit 1
# telinit 3