Файл: Отчет по лабораторной работе 2 По дисциплине Операционные системы.docx
Добавлен: 25.10.2023
Просмотров: 17
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
М ИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Московский государственный технический университет
им. Н.Э. Баумана
(МГТУ им. Н.Э. Баумана)
Факультет «Информатика и системы управления»
Кафедра «Информационная безопасность» (ИУ8)
Отчет по лабораторной работе №2
По дисциплине:
«Операционные системы»
По теме: «Сетевой доступ в ОС Linux»
Преподаватель: Климцов В.Е.
Студент: Отдельнов К.Р.
Группа: ИУ8-65
Основная часть
-
Password authentication
Настройка сервера sshd происходит в файле /etc/ssh/sshd_config или же для удобства можно вынести свою конфигурацию в директорию /etc/ssh/sshd_config.d, там как раз и создадим файл ssh01_config.conf .
Ниже будет показана конфигурация нашего сервера:
В этом файле мы задали подключение к серверу по нестандартному порту (Port 2142)
PasswordAuthentication yes - вход по паролю на сервер.
PermitEmptyPasswords no - запрещает заходить на сервер через пользователей, у которых не задан пароль.
AllowUsers - указывает пользователей, которые могут заходить на сервер. Также можно указать, чтобы эти пользователи могли получить доступ к серверу только с определенного IP-адресса.
DenyUsers - запрещает подключаться к серверу через указанных пользователей.
PermitRootLogin no - запрещает заходить на сервер под root пользователем. Думаю более правильным было бы создать отдельного пользователя или группу с максимальными привилегиями sudo и заходить уже через него вместо обычного рута.
Ниже продемонстрировано подключение через пользователя ssh01-user и ssh01-user1.
Теперь, чтобы подключиться по порту, который мы указывали в файле ssh01_config.conf нужно явно указывать порт «-p 2142», иначе подключение будет осуществляться по стандартному порту, который имеет значение 22.
Под другим же пользователем, который указан в DenyUsers зайти, очевидно, не получится.
Настройка клиента происходит в файле
/.ssh/config.
Теперь, чтобы каждый раз не вводить IP-адресс и порт куда мы хотим подключиться достаточно просто указать имя хоста для подключения.
-
Public key authentication
Для осуществления этого метода авторизации нужно сгенерировать ключ на клиенте с помощью команды ssh-keygen -t rsa, где с помощью параметра -t указываем тип ключа (rsa).
Теперь нужно передать публичный ключ id_rsa.pub на удаленный хост с помощью следующей команды (или же есть специальная утилита ssh-copy-id).
Настройка конфигурационных файлов на сервере
Protocol 2 - указываем, что можно использовать только вторую версию протокола ssh (т.к. старая версия протокола может иметь известные уязвимости).
PasswordAuthentication no - Т.к. мы пробросили ключи, то можно отключить авторизацию по паролю, для обеспечения большей безопасности.
PubkeyAuthentication yes - разрешает авторизацию по ключам.
Настройка клиента, от которого будем подключаться к нашему серверу:
IdentityFile
/.ssh/id_rsa - указывает путь до приватных ключей.
М ИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Московский государственный технический университет
им. Н.Э. Баумана
(МГТУ им. Н.Э. Баумана)
Факультет «Информатика и системы управления»
Кафедра «Информационная безопасность» (ИУ8)
Отчет по лабораторной работе №2
По дисциплине:
«Операционные системы»
По теме: «Сетевой доступ в ОС Linux»
Преподаватель: Климцов В.Е.
Студент: Отдельнов К.Р.
Группа: ИУ8-65
Основная часть
-
Password authentication
Настройка сервера sshd происходит в файле /etc/ssh/sshd_config или же для удобства можно вынести свою конфигурацию в директорию /etc/ssh/sshd_config.d, там как раз и создадим файл ssh01_config.conf .
Ниже будет показана конфигурация нашего сервера:
В этом файле мы задали подключение к серверу по нестандартному порту (Port 2142)
PasswordAuthentication yes - вход по паролю на сервер.
PermitEmptyPasswords no - запрещает заходить на сервер через пользователей, у которых не задан пароль.
AllowUsers - указывает пользователей, которые могут заходить на сервер. Также можно указать, чтобы эти пользователи могли получить доступ к серверу только с определенного IP-адресса.
DenyUsers - запрещает подключаться к серверу через указанных пользователей.
PermitRootLogin no - запрещает заходить на сервер под root пользователем. Думаю более правильным было бы создать отдельного пользователя или группу с максимальными привилегиями sudo и заходить уже через него вместо обычного рута.
Ниже продемонстрировано подключение через пользователя ssh01-user и ssh01-user1.
Теперь, чтобы подключиться по порту, который мы указывали в файле ssh01_config.conf нужно явно указывать порт «-p 2142», иначе подключение будет осуществляться по стандартному порту, который имеет значение 22.
Под другим же пользователем, который указан в DenyUsers зайти, очевидно, не получится.
Настройка клиента происходит в файле
Public key authentication
Проверка подключения:
-
Host based authentication
Для начала проведем настройку сервера в отдельном файле /etc/ssh/sshd_config.d/ssh03_config.conf
Отключаем авторизацию по ключам и по паролю и оставляем только авторизацию по хосту.
Далее сканируем ключи с клиента на сервер, с помощью утилиты ssh-keyscan, и записываем их в файл /etc/ssh/ssh_known_hosts.
Затем создаем и настраиваем файл /etc/ssh/shosts.equiv, который содержит список клиентских систем, которым разрешена аутентификация на основе хоста.
И последним шагом в настройке hostbased подключения будет изменения файла /etc/ssh/ssh_config, в который нужно также прописать разрешение авторизации на основе хоста, а также настроить включение EnableSSHKeySign yes (который по умолчанию выключен), который нужен для разрешения доступа к ключам клиента.
Проверка подключения
Вывод
В ходе выполнения лабораторной работы были получены навыки в конфигурировании удаленного доступа к серверу. Были разобраны различные методы авторизации: по паролю, по ключу и по хосту.
-
Авторизация по паролю - т.к. пароли могут быть украдены или подобраны, то этот способ подключения не обеспечивает надежную защиту против взлома, не смотря на то, что существуют инструменты, которые могут усилить безопасность (например fail2ban). -
Авторизация по ключу - более надежная и безопасная альтернатива. Пары ключей SSH представляют собой два защищенных шифрованием ключа, которые можно использовать для аутентификации клиента на сервере SSH. Каждая пара ключей состоит из открытого ключа и закрытого ключа. Закрытый ключ хранится клиентом и должен быть абсолютно защищен. Любое нарушение безопасности закрытого ключа позволит злоумышленникам входить на серверы с соответствующим открытым ключом без дополнительной аутентификации. В качестве дополнительной меры предосторожности ключ можно зашифровать на диске с помощью парольной фразы. -
Авторизация по хосту - этот метод авторизации не сильно отличается от аутентификации с открытым ключом, и клиент использует пару ключей для аутентификации себя на сервере. Однако подключение должно осуществляться с устройства, указанного в списке разрешенных хостов на сервере, поэтому авторизация по ключу хоста подразумевает доверие хосту, тем самым задача авторизации переносится на хост клиента. За хостом клиента могут выступать устройства, которым не следует безукоризненно доверять, а значит авторизация по ключу хоста для таких устройств не является безопасной.