Файл: Практикум по основам администрирования операционной системы Ubuntu Linux Методическое пособие по дисциплине Программноаппаратные средства обеспечения информационной безопасности.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 226

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Установить OpenSSH можно так:



Рис. 4.3. Установка OpenSSH

Метапакет ssh содержит в себе и клиент и сервер, при этом скорее всего будет установлен только сервер, т. к. клиент часто бывает установлен в Ubuntu по умолчанию.

SSH сервер автоматически прописывается в автозагрузку при установке. Управлять его запуском/остановкой или перезапуском можно при помощи команд:

sudo service ssh stop|start|restart

Основным файлом конфигурации ssh-сервера является файл /etc/ssh/sshd_config, который должен быть доступным для чтения/редактирования только суперпользователю. После каждого изменения этого файла необходимо перезапустить ssh-сервер для применения изменений.

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

Для правильной настройки ssh с точки зрения безопасности необходимо отредактировать всего семь параметров:

  1. PermitRootLogin – отключение возможности авторизации под суперпользователем;

  2. AllowUsers, AllowGroups - предоставление доступа только указанным пользователям или группам;

  3. DenyUsers, DenyGroups - блокировка доступа определенным пользователям или группам;

  4. Port - изменение порта SSHD;

  5. LoginGraceTime - изменение времени ожидания авторизации;

  6. ListenAddress - ограничение авторизации по интерфейсу;

  7. ClientAliveInterval - рассоединение при отсутствии активности в шелле.

Сменить стандартный порт (22) на котором слушает sshd. Это связано с тем, что многочисленные сетевые сканеры постоянно пытаются соединиться с 22-м портом и как минимум получить доступ путем перебора логинов/паролей из своей базы. Даже если у вас и отключена парольная аутентификация - эти попытки сильно засоряют журналы и (в большом количестве) могут негативно повлиять на скорость работы ssh-сервера. Если же вы по какой либо причине не желаете изменить стандартный порт вы можете использовать как различные внешние утилиты для борьбы брутфорсерами, например fail2ban, так и встроенные, такие как MaxStartups.


По умолчанию root-доступ разрешен. Это означает, что клиент при подключении в качестве пользователя может указать root, и во многих случаях получить контроль над системой. При условии, что по умолчанию в Ubuntu пользователь, добавленный при установке системы имеет возможность решать все административные задачи через sudo, создавать возможность root доступа к системе как минимум странно. Рекомендуется отключить эту опцию совсем.



Рис. 4.4. Файл конфигурации ssh

Разрешенная по умолчанию парольная аутентификация является практически самым примитивным способом авторизации в ssh. С одной стороны это упрощает конфигурацию и подключение новых пользователей (пользователю достаточно знать свой системный логин/пароль), с другой стороны пароль всегда можно подобрать, а пользователи часто пренебрегают созданием сложных и длинных паролей. Специальные боты постоянно сканируют доступные из интернета ssh сервера и пытаются авторизоваться на них путем перебора логинов/паролей из своей базы. Настоятельно не рекомендуется использовать парольную аутентификацию.

Как уже было сказано, ssh может работать с протоколами ssh1 и ssh2. При этом использование небезопасного ssh1 крайне не рекомендуется.

В конечном итоге файл конфигурации должен выглядеть так, как на рис. 4.4.

Для удаленного доступа с операционной системы Windows необходимо установить на ней специальный клиент – putty (рис 4.5).



Рис. 4.5. PuTTy

Для настройки сессии введите IP хоста (192.168.0.1). Так же настройте кодировку в пункте Translation, поменяв её на UTF-8.

Веб-сервер

Apache HTTP-сервер – свободный веб-сервер. Apache является кроссплатформенным программным обеспечением, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

Для установки apache2 введите команду, представленную на рис. 4.6.



Рис. 4.6. Установка apache2

Файлы конфигурации Apache2 находятся в директории: /etc/apache2:



  • conf.d/

  • sites-available/

  • sites-enabled/

  • mods-available/

  • mods-enabled/

  • apache2.conf

  • envvars

  • httpd.conf

  • ports.conf

В Ubuntu основным файлом настройки Apache2 является apache2.conf. Он играет роль системного файла, в котором собраны основные и самые важные настройки сервера.

Файл httpd.conf - пустой и предназначен для добавления дополнительных настроек, он включен в основной файл настройки apache2.conf

В файле envvars описаны переменные среды, необходимые для функционирования Apache-сервера.

В ports.conf вынесены настройки портов на которые можно будет подключиться к серверу или конкретному сайту на нем.

В папке conf.d находятся дополнительные конфигурационные файлы.

Для описания всех доступных сайтов используется папка sites-available в которой расположены файлы с описанием виртуальных хостов - VirtualHosts, опубликованные же сайты находятся в папке sites-enabled в виде ссылок на файлы доступных сайтов из папки sites-available.

Таким же образом в папках mods-available и mods-enabled настраивается доступность модулей используемых сервером.

Теперь необходимо подготовить компьютер к работе веб-сервера. Прежде всего необходимо создать единую папку для всех сайтов, которые будут там размещаться, например /home/user/www. Лучшее место для такой папки это домашний каталог пользователя. Далее в этой папке необходимо создать папку сайта. Например, /home/user/www/site1. И в эту папку кинуть файлы сайта.

Следующая команда (рис. 4.7) создает запись виртуального хостинга копируя стандартную запись из файла конфигурирования Apache:



Рис. 4.7. Копирование файла конфигурации

Теперь необходимо отредактировать файл, который находится по директории /etc/apache2/sites-available/site1. Необходимо настроить имя сервера, URL сервера и директорию, по которой находятся файлы сайта. После настроек файл конфигурации должен выглядеть, например, так, как на рис. 4.8.



Рис. 4.8. Файл конфигурации сайта site1

Теперь необходимо как-то научить операционную систему распознавать домен .my. Для этого достаточно прописать необходимые строки в файле /etc/hosts, например так, как на рис. 4.9.




Рис. 4.9. Редактирование файла hosts

Для начала необходимо разместить ссылку на VirtualHost в папку sites-enabled, и перечитать конфигурацию сервера Apache. Для создания ссылки можно выполнить такую команду и перечитать параметры (рис. 4.10). После этого ваш сайт, файлы которого размещаются в директории /home/user/www/site1 будет отображаться в браузере по адресу: site1.my или www.site1.my.



Рис. 4.10. Активация сайта

Практическая работа

  1. На виртуально машине разверните ftp-сервер;

  2. Разрешите анонимный доступ для всех пользователей на данный ftp-сервер. Проверьте работу ftp-сервера с данной конфигурацией с вашей основной операционной системы;

  3. Настройте разграничение прав доступа к определенным кактологам пользователей на ftp-сервере. Проверьте работу ftp-сервера с данной конфигурацией с вашей основной операционной системы;

  4. Настройте смешанный режим доступа анонимных и зарегестрированных пользователей. Проверьте работу ftp-сервера с данной конфигурацией с вашей основной операционной системы;

  5. Установить ssh-сервер на вашу операционную систему Linux. Настройет ssh с точки зрения безопасности;

  6. На вашей основной операционной системе установить ssh-клиент (если основная операционная система Linux) или pytty (если основная операционная система Windows). Проверьте работу ssh, настроив клиент соответствующим образом;

  7. Установить веб сервер на Linux Ubuntu;

  8. Создайте простую html-страничку. Разместите её на веб-сервере по веб-адресам: work.my и www.work.my.

Контрольные вопросы

  1. Каково назначение ftp-сервера?

  2. Каким образом производится настройка vsftpd?

  3. Каково назначение сетевого протокола SSH?

  4. Какие основные параметры рекомендуется менять при настройки SSH с точки зрения его безопасности и почему?

  5. Каково назначение Telnet? Почему Telnet не рекомендуется использовать?

  6. Каково назначение Apache?

  7. Какие основные конфигурационные файлы Apache существуют?

Лабораторная работа №5

Прокси-сервер


Цель работы: Изучить работу прокси-сервера.

Задачи работы:

  • Установить Squid;

  • Настроить работу Squid;

  • Проверить работу Squid.

Теоретическая часть

Прокси-сервер Squid

Squid - программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Разработан сообществом как программа с открытым исходным кодом (распространяется в соответствии с GNU GPL). Все запросы выполняет как один неблокируемый процесс ввода/вывода. Используется в UNIX-системах и в операционных системах семейства Windows NT. Имеет возможность взаимодействия с Active Directory Windows Server путём аутентификации через LDAP, что позволяет использовать разграничения доступа к интернет-ресурсам пользователей, которые имеют учётные записи на Windows Server, также позволяет организовать «нарезку» интернет трафика для различных пользователей. Сервер Squid развивается в течение уже многих лет. Обеспечивает совместимость с большинством важнейших протоколов Интернета

Для установки Squid запустите в терминале следующую команду (рис. 5.1):



Рис. 5.1. Установка Squid

Конфигурация для Squid находится в файле /etc/squid/squid.conf. Оставим все настройки по умолчанию. Изменим лишь некоторые правила:

Для аутентификации пользователей добавим следующие строки:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/internet_users

auth_param basic children 5

auth_param basic realm Enter Login/Password

auth_param basic credentialsttl 2 hours

auth_param basic casesensitive off

В директории /usr/lib/squid/ncsa_auth находится программа, для аутентификации; в директории /etc/squid/internet_users – список пользователей и их пароли в зашифрованном виде. Текст «Enter Login/Password» обозначает приглашение к аутентификации.

Добавим строку http_access allow localnet. Это имя правила. Теперь напишем и сами правила (рис. 5.2):



Рис. 5.2. Правила

Аналогичным образом добавим правило с именем «password» и его описание: