Настройка защищенного сервера с использованием средств автоматизации

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Информационные технологии
  • 32 32 страницы
  • 0 + 0 источников
  • Добавлена 23.03.2023
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
111
Фрагмент для ознакомления

Для того, чтобы убедиться, что после выполнения скрипта, сервисы fail2banи knockdбыли успешно запущены, можно выполнить на сервере команду «systemctlstatusfail2banknockd». Результат работы команды показан на .Рисунок 5.12 Результат выполнения setup-servers.sh на клиентеРисунок5.13 -Состояние сервисовСостояние правил iptablesпосле установки приложений ufw иfail2banпоказано на.Рисунок5.14–Правила iptablesНа данном рисунке следует обратить внимание на первый блок правил, в цепочке INPUT (в дальнейшем в его конец будет добавляться правило, разрешающее доступ).Демонстрация работы приложений knockdи fail2banПосле установки скрипта подключение по протоколу sshпо умолчанию заблокировано, в чём можно убедиться попытавшись установить с клиента соединение командой «sshroot@192.168.200.100». Попытка закончится неудачей, как показано на.Рисунок5.15 - Попытка соединиться до запуска knockДля того, чтобы подключиться к серверу по протоколу ssh, используем на клиенте приложение knock, которое отправит серверу последовательность пакетов, которые получит приложение knockdи выполнит правило, прописанное в конфигурационном файле, открыв доступ с данного IP-адреса. Необходимо выполнить команду «knock 192.168.200.100 7000/tcp 8000/tcp 9000/tcp», как на.Рисунок5.16- Запуск knockБудут отправлены три SYN-пакета, на порты 7000, 8000 и 9000 на сервере. После этого на сервере будет открыта возможность для подключения с данного адреса, что можно увидеть выполнив команду iptables -nL, фрагмент листинга которой показан на.Рисунок5.17 - Содержимое iptables на сервереКак видно, в числе правил есть правило, открывающее доступ по протоколу SSH (порт 22) с адреса 192.168.200.101. И последующая попытка подключения по протоколу SSHс клиента на сервер будет удачной, как показано на.Рисунок5.18 - Удачное соединение с серверомТеперь попробуем установить с клиента соединения, вводя ошибочные пароли. Поскольку для пользователя rootпароль не запрашивается (аутентификация происходит по ключу), соединения будут устанавливаться от имени пользователя userс вводом пустого пароля. После нескольких неудачных попыток на очередную попытку будет получено сообщение об ошибке «Connectionrefused», как показано на.Рисунок5.19–Как блокировка выглядит со стороны клиентаДля того, чтобы увидеть правило, блокирующее доступ, введём ещё раз команду «iptables -nL | less» на сервере. Результат её работы показан на.Рисунок5.20 - Настройки iptables при блокировке IP-адресаНесмотря на то, что правило, разрешающее подключение, осталось, до него срабатывает другое правило, в цепочке f2b-sshd, она видна в нижней части рисунка, а обращение к этому правилу видно в третьей строке листинга. Таким образом, при подключении с адреса 192.168.200.101, при обработке правил iptables, срабатывает запрещающее правило REJECT, и далее разрешающее правило уже не применяется.Если подождать некоторое время, то правило REJECTавтоматически исчезнет, в соответствии с настройками fail2ban, как показано на.Рисунок5.21- iptables после снятия блокировкиИ подключение по протоколу SSHпроисходит успешно, как показано на .Рисунок 5.22 - Подключение происходит успешноДемонстрация защиты от подбора пароляПродемонстрируем, что данный механизм защиты позволяет защитить сервер от взлома через подбор паролей. Для этого создадим на сервере пользователя со слабым паролем, назовём его victim (от английского слова «жертва») и поставим ему пароль «13». Для этого введём команду«adduservictim» и введём ответы как указано на.Рисунок 5.23– Создание аккаунта для подбора пароля на сервереВременно отключим защиту на сервере, для этого остановим программы fail2ban, knockdи откроем доступ по sshв настройках ufw, выполнив следующие команды:systemctl stop fail2ban knockdufwallowsshВ результате выполнения данных команд была отключено блокирование адресов, с которых осуществляется перебор паролей, а также отключена программа knockdи открыт доступ к подключению по sshс любых адресов. В результате чего оказывается возможен перебор паролей для ssh.Результат выполнения команд изображён на.Рисунок 5.24 – Отключение защиты на сервереДля подбора пароля аккаунта на сервере запустим на клиенте следующий скрипт, алгоритм которого изображён на . Задачей скрипта является демонстрация процесса взлома и тестирование защиты. Перебор паролей в реальных условиях может занимать длительное время, дляускорения работы пароль уязвимого пользователя будет состоит из двух цифр. Данный скрипт перебирает такие пароли для хоста с заданным адресом.Рисунок 5.25 - Алгоритм работы скрипта для подбора пароляТекст скрипта:#!/bin/bash# Аутентификационные данные для подключенияhost=192.168.200.100port=22login=victim# Перебираем в цикле первые символы пароля, от 0 до 9forp0 in 0 1 2 3 4 5 6 7 8 9do # Перебираем в цикле вторые символы пароля # (отсутствие второго символа и, далее, от 0 до 9)forp1 in "" 0 1 2 3 4 5 6 7 8 9do# Формируем вариант перебираемого пароля объединяя первый и# второйсимволыpassword="$p0$p1"echo "Trypassword $password"# Формируем скрипт для приложения expect с заданными# аутентификационными даннымиexpect_script=$(cat <

111

Вопрос-ответ:

Как проверить, были ли успешно запущены сервисы fail2ban и knockd?

Для проверки можно выполнить на сервере команду systemctl status fail2ban knockd. Результат работы команды показан на Рисунок 5.12.

Как проверить состояние сервисов после выполнения скрипта setup_servers.sh на клиенте?

Результат выполнения скрипта setup_servers.sh на клиенте показан на Рисунок 5.13. Для проверки состояния сервисов можно выполнить команду systemctl status fail2ban knockd.

Как выглядят правила iptables после установки приложений ufw и fail2ban?

На рисунке 5.14 показаны правила iptables после установки приложений ufw и fail2ban.

Какие сервисы используются для защиты сервера?

Для защиты сервера используются сервисы fail2ban и knockd.

Какую команду нужно выполнить на сервере, чтобы убедиться в успешном запуске сервисов?

Для этого нужно выполнить команду systemctl status fail2ban knockd на сервере.

Как проверить успешность запуска сервисов fail2ban и knockd после выполнения скрипта?

Чтобы убедиться, что после выполнения скрипта сервисы fail2ban и knockd были успешно запущены можно выполнить на сервере команду systemctl status fail2ban knockd.

Как узнать результат выполнения скрипта setup_servers.sh на клиенте?

Результат выполнения setup_servers.sh на клиентской машине можно узнать, выполнив команду systemctl status.

Какие сервисы и правила iptables установлены после настройки защищенного сервера с использованием средств автоматизации?

После установки приложений ufw и fail2ban на сервере, состояние правил iptables показано на Рисунок 5.14. Там отображены установленные правила iptables.

Какие сервисы были запущены после выполнения скрипта настройки защищенного сервера?

После выполнения скрипта настройки защищенного сервера, на сервере были успешно запущены сервисы fail2ban и knockd, о чем свидетельствует результат работы команды systemctl status fail2ban knockd, показанный на Рисунок 5.12.

Какое состояние сервисов после настройки защищенного сервера?

После настройки защищенного сервера с использованием средств автоматизации, состояние сервисов отображено на Рисунок 5.13. Там показано текущее состояние сервисов.