Войдите в виртуальную машину Linux
Запустите сетевые сервисы через скрипт инициализации /etc/init.d/network
(Команда /etc/init.d/network start. )
Проерьте правильность отработки по команде /etc/init.d/network status.
Для запуска большинства сетевых сервисов в Unix-системах используется супердемон
xinetd (man xinetd).
Чтобы избавить себя от лишних волнений отключите и деинсталлируйте все сервисы,
которые вы не используете. Просмотрите файл "/etc/xinetd.conf" и включаемые
файлы конфигурации в директории "/etc/xinetd.d" (man xinetd.conf)
и отключите ненужные сетевые сервисы. После чего пошлите демону xinetd сигнал
SIGHUP для того, чтобы изменения вступили в силу (Для того, чтобы демон перегрузил
файлы конфигурации можно использовать и команду reload в скрипте инициализации
/etc/init.d/xinetd). Для этого выполните следующее:
Шаг 1
Смените права доступа к файлу "/etc/xinetd.conf" на 600 для того,
чтобы читать и писать в него мог только root. Аналогичные действия рекурсивно
предпринять для директории /etc/xinetd.d .
[root@] /]# chmod 600 /etc/xinetd.conf
Шаг 2
УБЕДИТЕСЬ, что владельцем файла "/etc/xinetd.conf" является root.
Шаг 3
Отредактируйте файлы в директории /etc/xinetd.d и отключите те сервисы, которые
вы не используете (ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2,
pop-3, finger, auth, и т.д) Отключение ненужных сервисов снижает уровень риска
взлома системы.
Шаг 4
Пошлите HUP сигнал демону xinetd
[root@kapil /]# killall -HUP xinetd
Шаг 5
Сделайте "прививку" файлу "/etc/xinetd.conf", используя
команду chattr (man chattr), чтобы никто не мог модифицировать этот файл. Выполните
команду:
[root@kapil /]# chattr +i /etc/xinetd.conf
Это предотвратит любые изменения файла "xinetd.conf". Только один человек может снять атрибут - это суперпользователь root. Для модификации файла нужно снять immutable-флаг. Это делается следующей командой:
[root@kapil /]# chattr -i /etc/xinetd.conf
Аналогичные действия рекурсивно предпринять для директории /etc/xinetd.d .
Проверку изменений в конфигурации выполнить для сервисов ftp(клиент - ftp), telnet (клиент - telnet), time (клиент - rdate).
Используя TCP_WRAPPERS можно сделать сервер более защищенным от вторжения. Лучшая
политика -- запретить доступ к серверу всем хостам, поместив в файл "/etc/hosts.deny"
строку "ALL: ALL@ALL, PARANOID" и поместить список хостов, которым
вы разрешаете доступ к вашему серверу, в "/etc/hosts.allow". TCP_WRAPPERS
контролируется из двух файлов и поиск в них прекращается при первом совпадении.
(man tcpd, man hosts.deny, man hosts.allow).
Шаг 1
Отредактируйте файл hosts.deny (vi /etc/hosts.deny) и добавьте такие строки:
# Отказать в доступе всем
ALL: ALL@ALL, PARANOID
Имеется в виду, что все сервисы и хосты блокируются, если им не разрешён доступ в hosts.allow
Шаг 2
Отредактируйте файл hosts.allow (vi /etc/hosts.allow) и добавьте в него, например,
следующую строку:
ftp: 127.0.0.1, 172.16.69.105
Клиентской машине с ip-адресом 127.0.0.1(localhost - локальный адрес данного хоста) и 172.16.69.105 разрешён доступ к серверу через службу ftp.
Шаг 3
Проверьте изменения для сервисов ftp(клиент - ftp), telnet (клиент - telnet),
time (клиент - rdate). Для проверки необходимо использовать в качестве клиента
свой и соседний компьютер. Для получения информации о сетевой конфигурации(ip
адресе) использовать команду ifconfig (man ifconfig).
Не показывайте issue-файл вашей системы при удаленном подключении. Для этого
можно изменить опции запуска telnet в файле "/etc/xinetd.d/telnet".
Строка в "/etc/xinetd.d/telnet"
server = /usr/sbin/telnetd
будет выглядеть при этом так:
server = /usr/sbin/telnetd -h
Добавление флага "-h" в конце заставляет демон выводить приглашение для входа в систему, не показывая никакой системной информации. Кроме того, я рекомендую использовать вместо telnet sshd.
# Просматривать имена хостов сперва через DNS, потом в файле /etc/hosts.
order bind,hosts
# Мы имеем машины с несколькими ip-адресами.
multi on
# Проверка ip-адресов на спуфинг.
nospoof on
# C помощью syslogd записывать сообщения об ошибках в системный журнал .
spoofalert on
[root@kapil /]# chattr +i /etc/services
Для того, чтобы при взломе вашей системы хакер не смог очистить файлы протоколов системы, неоходимо сделать прививку этим файлам. Команда chattr +a file, устанавливает атрибут позволяющий только дозаписывать в файл, не очищая его с начала.
Разработайте методику проверки действия этого атрибута для тестового файла /var/log/mylog.
Утилиты netstat и nmap можно использовать для анализа сетевых сервисов, запущенных на вашей машине.
Используя man изучите возможности указанных утилит и используйте их для анализа сетевых сервисов, запущенных на вашем компьютере.
На защиту работы выносится знание всех рассмотреных структур данных, команд и утилит и умение их практического использования.