Файл: Практикум по основам администрирования операционной системы Ubuntu Linux Методическое пособие по дисциплине Программноаппаратные средства обеспечения информационной безопасности.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 307
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Установка и настройка виртуальной машины. Установка Linux
Работа с пользователями. Управление правами доступа. Управление файлами и каталогами. Ссылки.
Управление сетью в Linux. Сетевые интерфейсы. Межсетевой экран.
Настройка FTP-сервера. Удаленное управление операционной системой. Веб-сервер.
Установить OpenSSH можно так:
Рис. 4.3. Установка OpenSSH
Метапакет ssh содержит в себе и клиент и сервер, при этом скорее всего будет установлен только сервер, т. к. клиент часто бывает установлен в Ubuntu по умолчанию.
SSH сервер автоматически прописывается в автозагрузку при установке. Управлять его запуском/остановкой или перезапуском можно при помощи команд:
sudo service ssh stop|start|restart
Основным файлом конфигурации ssh-сервера является файл /etc/ssh/sshd_config, который должен быть доступным для чтения/редактирования только суперпользователю. После каждого изменения этого файла необходимо перезапустить ssh-сервер для применения изменений.
Сам по себе, неправильно настроенный ssh сервер - огромная уязвимость в безопасности системы, т. к. у возможного злоумышленника есть возможность получить практически неограниченный доступ к системе. Помимо этого, у sshd есть много дополнительных полезных опций, которые желательно включить для повышения удобства работы и безопасности.
Для правильной настройки ssh с точки зрения безопасности необходимо отредактировать всего семь параметров:
-
PermitRootLogin – отключение возможности авторизации под суперпользователем; -
AllowUsers, AllowGroups - предоставление доступа только указанным пользователям или группам; -
DenyUsers, DenyGroups - блокировка доступа определенным пользователям или группам; -
Port - изменение порта SSHD; -
LoginGraceTime - изменение времени ожидания авторизации; -
ListenAddress - ограничение авторизации по интерфейсу; -
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. Активация сайта
Практическая работа
-
На виртуально машине разверните ftp-сервер; -
Разрешите анонимный доступ для всех пользователей на данный ftp-сервер. Проверьте работу ftp-сервера с данной конфигурацией с вашей основной операционной системы; -
Настройте разграничение прав доступа к определенным кактологам пользователей на ftp-сервере. Проверьте работу ftp-сервера с данной конфигурацией с вашей основной операционной системы; -
Настройте смешанный режим доступа анонимных и зарегестрированных пользователей. Проверьте работу ftp-сервера с данной конфигурацией с вашей основной операционной системы; -
Установить ssh-сервер на вашу операционную систему Linux. Настройет ssh с точки зрения безопасности; -
На вашей основной операционной системе установить ssh-клиент (если основная операционная система Linux) или pytty (если основная операционная система Windows). Проверьте работу ssh, настроив клиент соответствующим образом; -
Установить веб сервер на Linux Ubuntu; -
Создайте простую html-страничку. Разместите её на веб-сервере по веб-адресам: work.my и www.work.my.
Контрольные вопросы
-
Каково назначение ftp-сервера? -
Каким образом производится настройка vsftpd? -
Каково назначение сетевого протокола SSH? -
Какие основные параметры рекомендуется менять при настройки SSH с точки зрения его безопасности и почему? -
Каково назначение Telnet? Почему Telnet не рекомендуется использовать? -
Каково назначение Apache? -
Какие основные конфигурационные файлы 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» и его описание: