Первым делом после установки 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 |