Файл: Протокол безопасных соединений SSH (История протокола SSH).pdf

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

Категория: Курсовая работа

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

Добавлен: 28.03.2023

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

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

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

Библиография

  1. Колисниченко Д. Н. К60 Linux. От новичка к профессионалу. — 6-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2018. — 672 с.: ил. — (В подлиннике)
  2. www.ssh.com
  3. https://docs.microsoft.com
  4. https://help.ubuntu.ru/wiki/ssh

Приложение

# Пример конфигурации open-ssh сервера с русскими #

# комментариями. #

# Написан для http://help.ubuntu.ru #

# by MadKox, 01.2010. #

# #

# #

# Условные обозначения: #

# Под "по умолчанию" - подразумевается поведение sshd при #

# неуказанной явно директиве. Стоит заметить, что в Ubuntu #

# файл sshd_config уже содержит ряд настроек, которые #

# являются настройками по умолчанию для именно для Ubuntu. #

# Такие настройки указаны в этом файле. #

# #

############################################################

################ Настройки адресов/портов и т.д. ###########

############################################################

# #

## Port ####################################################

# #

# Используемый порт. Можно указывать несколько, например: #

# Port 22 #

# Port 23 #

# Port 24 #

# Рекомендуется использовать нестандартный порт, т.к. #

# стандартный часто сканируется ботами на предмет #

# потенциальных "дырок". Может быть опущен, если задан #

# через адрес. См. также параметр ListenAddress. #

# #

Port 22

# #

## ListenAddress ###########################################

# #

# Сетевой адрес, на котором "слушает" сервер. Адрес можно #

# записывать так: #

# ListenAddress host|IPv4_addr|IPv6_addr #

# ListenAddress host|IPv4_addr:port #

# ListenAddress [host|IPv6_addr]:port #

# Если порт не задан, sshd будет слушать на этом адресе и #

# на порту, указанному в опции Port. Если вы будете #

# использовать ListenAddress не указывая порт, то опция #

# Port должна предшествовать опции ListenAddress. Если не #

# указывать, то по умолчанию слушает на всех локальных #

# адресах. Можно указывать несколько адресов. #

# #

## AddressFamily ###########################################

# #

# Указывает, какое семейство IP адресов должно быть #

# использовано sshd. Возможные варианты: #

# “any” - любые #

# “inet” (только IPv4) #

# “inet6” (только IPv6) #

# По умолчанию - “any”. #

AddressFamily inet

# #

## UseDNS ##################################################

# #

# Указывает, должен ли sshd проверять имя хоста и #

# используя это имя сверять IP адрес переданный клиентом с #

# полученным от DNS. #

# Значение по умолчанию - “yes”. #

# #

############################################################

############# Настройки доступа пользователей ##############

############################################################

# #

# Пустить/не пустить пользователя определяется директивами #

# DenyUsers, AllowUsers, DenyGroups, и AllowGroups. #


# при этом, проверка проходит сверху - вниз по цепочке: #

# ## DenyUsers ## #

# || #

# ## AllowUsers ## #

# || #

# ## DenyGroups ## #

# || #

# ## AllowGroups ## #

# Принимаются только имена пользователей и групп, числовые #

# идентификаторы (UserID) - не распознаются. Корректная #

# запись нескольких пользователей/групп по очереди, через #

# пробел. Если записано в виде пользователь@хост - то #

# пользователь и хост проверяются отдельно, это позволяет #

# разграничить доступ определенных пользователей с #

# определенных хостов. Стоит помнить, что директивы #

# DenyUsers и AllowUsers принимают в качестве параметра #

# имя пользователя, а DenyGroups и AllowGroups - имя #

# группы. См. PATTERNS в man ssh_config для дополнительной #

# информации о формах записи имен пользователей и групп. #

# #

## DenyUsers ###############################################

# #

# Список ПОЛЬЗОВАТЕЛЕЙ, которым НЕЛЬЗЯ пользоваться sshd. #

# По умолчанию - не указан = не запрещен никто. Т.е. если #

# тут указан пользователь, то ему будет отказано в доступе #

# к ssh серверу. #

# #

## AllowUsers ##############################################

# #

# Список ПОЛЬЗОВАТЕЛЕЙ, которым МОЖНО пользоваться sshd, #

# По умолчанию - не указан = разрешено всем. Т.е. если #

# указан хотя бы один пользователь, ssh доступ к серверу #

# доступен только для него. #

# #

## DenyGroups ##############################################

# #

# Список ГРУПП, которым НЕЛЬЗЯ пользоваться sshd. #

# По умолчанию - не указан = не запрещена ни одна группа. #

# Т.е. если указана хотя бы одна группа, то пользователям, #

# входящим в эту группу будет отказано в доступе к ssh #

# серверу. #

# #

## AllowGroups #############################################

# #

# Список ГРУПП, которым МОЖНО пользоваться sshd. #

# По умолчанию - не указан = разрешено всем. Т.е. если #

# указана хотя бы одна группа, то только тем пользователям,#

# которые в нее входят будет разрешен доступ к ssh серверу.#

# #

############################################################

######### Опции определения состояния соединения ###########

############################################################

# #

## TCPKeepAlive ############################################

# #

# Указывает, нужно системе посылать TCP сообщения клиенту #

# с целью поддержания соединения. Если посылать эти пакеты,#

# можно определить разрыв соединения. Однако это также #

# означает, что соединение может быть разорвано в случае #

# кратковременного перебоя в работе маршрутизации и #

# некоторых это сильно раздражает. С другой стороны, если #

# таких сообщений не посылать - сеансы на сервере могут #

# длиться бесконечно, порождая пользователей - "призраков",#


# и пожирая ресурсы сервера. Значение по умолчанию - “yes”,#

# т.е. посылать такие сообщения. Для отключения отправки #

# таких сообщений нужно задать значение “no”. Ранее эта #

# опция называлась KeepAlive. Стоит заметить, что #

# существуют более защищенные способы проверки состояния #

# соединения (см. ниже). #

# #

TCPKeepAlive yes

# #

## ClientAliveCountMax #####################################

# #

# Задает количество сообщений к клиентам, которые sshd #

# посылает подряд, не получая какого либо ответа от #

# клиента. Если пороговое значение будет достигнуто, а #

# клиент так и не ответил - sshd отключит клиента, прервав #

# ssh сессию. Стоит отметить, что использование таких #

# сообщений в корне отличается от директивы TCPKeepAlive. #

# Сообщения к/от клиентов посылаются по зашифрованному #

# каналу и поэтому не подвержены спуфингу. Сообщения же #

# TCPKeepAlive спуфингу подвержены. Механизм client alive #

# особо ценен в тех случаях, когда серверу и клиенту нужно #

# знать когда соединение стало неактивным. По умолчанию #

# значение равно 3. В случае, если ClientAliveInterval #

# задан равным 15 и ClientAliveCountMax оставлен по #

# умолчанию, неотвечающие клиенты будут отключены примерно #

# через 45 секунд. Эта директива работает только для #

# протокола ssh2. #

# #

## ClientAliveInterval #####################################

# #

# Задает временной интервал в секундах. Если в течении #

# этого интервала не было обмена данными с клиентом, sshd #

# посылает сообщение по зашифрованному каналу, #

# запрашивающее ответ от клиента. По умолчанию - 0, т.е. #

# не посылать таких сообщений. Эта директива работает #

# только для протокола ssh2. #

# #

############################################################

################ Общие опции аутентификации ################

############################################################

# #

## AuthorizedKeysFile ######################################

# #

# Указывает файл, в котором содержатся публичные ключи, #

# используемые для аутентификации пользователей. Директива #

# может содержать маркеры вида %М, которые подставляются в #

# процессе установки соединения. #

# Определены следующие маркеры: #

# %% - заменяется литералом '%' #

# %h - заменяется домашней директорией #

# аутентифицируещегося пользователя #

# %u - заменяется именем аутентифицируещегося пользователя #

# Таким образом, файл с ключами может быть задан как #

# абсолютным путем (т.е. один общий файл с ключами), так и #

# динамически - в зависимости от пользователя (т.е. по #

# файлу на каждого пользователя). #


# По умолчанию - “.ssh/authorized_keys”. #

# Пример для файла ключа в домашней папке пользователя: #

# AuthorizedKeysFile %h/.ssh/authorized_key #

# Пример для общего файла: #

# AuthorizedKeysFile /etc/ssh/authorized_keys #

# См. описание файла authorized_keys для большей #

# информации. #

# #

## ChallengeResponseAuthentication #########################

# #

# Указывает, разрешить ли аутентификацию вида вопрос-ответ #

# (challenge-response authentication). Поддерживаются все #

# виды аутентификации из login.conf По умолчанию - “yes”, #

# т.е. разрешить. #

# В Ubuntu - выключена по соображениям безопасности. #

# #

ChallengeResponseAuthentication no

# #

## HostbasedUsesNameFromPacketOnly #########################

# #

# Указывает, как сервер должен получать имя хоста клиента #

# при схеме аутентификации, основанной на проверке хоста. #

# Если задать "yes" - при проверке соответствия в файлах #

# ~/.shosts, ~/.rhosts или /etc/hosts.equiv sshd будет #

# использовать имя хоста, предоставленное клиентом. #

# (выполняя реверсивное DNS распознование) Если задать "no"#

# - sshd будет ресолвить имя из самого TCP соединения. #

# По умолчанию - "no". #

# #

## IgnoreRhosts ############################################

# #

# Запрещает использование файлов .rhosts и .shosts #

# в процессе аутентификации, основанной на проверке хоста. #

# (RhostsRSAAuthentication или HostbasedAuthentication). #

# Файлы /etc/hosts.equiv и /etc/ssh/shosts.equiv все еще #

# используются. #

# По умолчанию - “yes”. #

# #

IgnoreRhosts yes

# #

## IgnoreUserKnownHosts ####################################

# #

# Указывает должен ли sshd игнорировать пользовательские #

# "известные хосты" - файл ~/.ssh/known_hosts в процессе #

# аутентификации, основанной на проверке хоста #

# (RhostsRSAAuthentication или HostbasedAuthentication). #

# По умолчанию - “no”. #

# #

## PermitBlacklistedKeys ###################################

# #

# Указывает, стоит ли sshd принимать ключи, занесенные в #

# черный список как скомпрометированные (known-compromised #

# keys (см. ssh-vulnkey)). Если задано значение “yes” - #

# попытки аутентификации с такими ключами будут занесены в #

# журнал и приняты, если значение “no” - попытки #

# аутентификации будут отвергнуты. #

# По умолчанию - “no”. #

# #

## PermitEmptyPasswords ####################################

# #

# В случае разрешенной аутентификации с помощью пароля, #

# указывает, возможен ли вход с пустым паролем. #

# По умолчанию - “no”. #

# #

PermitEmptyPasswords no

# #

## PermitRootLogin #########################################

# #

# Указывает, возможен ли ssh-вход под суперпользователем #

# (root). Может принимать значения: #

# “yes” - суперпользователь может зайти. Применяется #

# текущая глобальная схема аутентификации. #


# #

# “without-password” - суперпользователь может зайти. #

# Парольная аутентификация для него будет отключена. #

# #

# “forced-commands-only” - суперпользователь сможет зайти, #

# пользуясь аутентификацией на основе публичного ключа и #

# только если передаст необходимую к исполнению комнаду. #

# Это удобно для осуществления резервного копирования, #

# даже в том случае, когда нормальный (т.е. не через ssh) #

# вход суперпользователя запрещен. Все остальные методы #

# аутентификации для суперпользователя будут заблокированы.#

# #

# “no” - суперпользователь не может использовать ssh для #

# входа в систему. #

# #

# Значение по умолчанию - “yes”. #

# #

PermitRootLogin yes

# #

## Protocol ################################################

# #

# Указывает, какой протокол должен использовать sshd. #

# Возможные значения ‘1’ и ‘2’ - ssh1 и ssh2 #

# соответственно. Возможна одновременная запись, при #

# которой значения следует разделять запятыми. #

# По умолчанию - “2,1”. #

# Стоит отметить, что порядок следования протоколов в #

# записи не задает приоритет, т.к. клиент выбирает какой #

# из нескольких предложенных сервером протоколов ему #

# использовать.Запись "2,1" абсолютно идентична #

# записи "1,2". #

# #

Protocol 2

# #

## UsePAM ##################################################

# #

# Включает интерфейс PAM (Pluggable Authentication Module #

# interface).Если задано значение "yes" - для всех типов #

# аутентификации помимо обработки модуля сессии и аккаунта #

# PAM будет использоваться аутентификация на основе #

# запроса-ответа (ChallengeResponseAuthentication и #

# PasswordAuthentication) Т.к. аутентификация #

# запросов-ответов в PAM обычно выполняет ту же роль, #

# что и парольная аутентификация, вам следует отключить #

# либо PasswordAuthentication, либо #

# ChallengeResponseAuthentication. Стоит отметить, что #

# если директива UsePAM включена - вы не сможете запустить #

# sshd от имени пользователя, отличного от root. #

# Значение по умолчанию - “no”. #

# #

UsePAM yes

# #

## PasswordAuthentication ##################################

# #

# Указывает, разрешена ли аутентификация с использованием #

# пароля. #

# По умолчанию - “yes”. #

# #

## HostKey #################################################

# #

# Указывает файл, содержащий закрытый хост-ключ, #

# используемый SSH. По умолчанию - /etc/ssh/ssh_host_key #

# для протокола ssh1 и /etc/ssh/ssh_host_rsa_key и #

# /etc/ssh/ssh_host_dsa_key для протокола ssh2. Стоит #

# отметить, что sshd не станет пользоваться файлом, #

# который доступен кому либо, кроме пользователя. Можно #

# использовать несколько файлов с ключами, ключи “rsa1” - #