Одним из наиболее часто используемых протоколов на уровне безопасности для установления соединений в средах UNIX является протокол SSH (Secure Shell), который предлагает нам ряд функций и специальных функций для защиты данных и установленных соединений.
SSH - это протокол, который был разработан с упором на безопасность связи между двумя системами через модель клиент / сервер, и благодаря которому пользователям разрешено удаленно подключаться к хосту.Одной из основных особенностей SSH является то, что он шифрует сеанс подключения, что не позволяет любому пользователю получить незашифрованные пароли. Виды защиты При использовании протокола SSH у нас будут следующие виды защиты: Теперь в операционных системах Linux мы находим файл конфигурации SSH по пути / etc / ssh / ssh_config, и благодаря этому файлу можно будет выполнить все меры безопасности для SSH-соединений. В случае систем macOS этот файл находится по пути / private / etc / ssh / ssh_config и имеет символическую ссылку на / etc / ssh / ssh_config для целей совместимости. При редактировании этого файла необходимо учитывать следующее .. Чтобы отредактировать этот файл, чтобы установить собственные значения, мы должны выполнить следующее с некоторым редактором: Файл ssh_config организован по хостам, и каждый хост содержит определенные настройки для этого конкретного хоста, там мы можем использовать подстановочные знаки, такие как *, чтобы сопоставить несколько имен хостов с одним объявлением.Некоторые из параметров, которые мы можем использовать в этом файле: Хозяин Операторы Restrict предназначены только для хостов, которые соответствуют одному из шаблонов, указанных после ключевого слова. Матч Операторы Restrict так, чтобы они применялись только к хостам, которые соответствуют указанным критериям АдресСемья Укажите, какое семейство адресов использовать при подключении, допустимые аргументы: any, inet, inet6. Пакетный режим С этим значением запрос пароля будет отключен, что позволит избежать случайной блокировки в запросе пароля. BindAddress Задает использование адреса, указанного на локальном компьютере, в качестве исходного адреса соединения. ВызовОтветАутентификация Позволяет указать, следует ли использовать аутентификацию типа "запрос-ответ". Это в первую очередь унаследованный метод, который был заменен на KbdInteractiveAuthentication. CheckHostIP Скажите ssh, чтобы он дополнительно проверил IP-адрес хоста в файле known_hosts. Шифр Относится к шифрованию, которое будет использоваться для шифрования сеанса в версии протокола 1. Шифры Укажите шифрование, разрешенное для версии 2 протокола, в порядке предпочтения. Далее мы увидим несколько практических советов по повышению безопасности SSH-подключений к Linux и, таким образом, получения наилучших функций доступа. Первый шаг перед редактированием файла - убедиться, что и у файла ssh_config, и у файла sshd_config есть владелец и пользователь, настроенный как root, потому что они являются суперпользователем Linux, и никто лучше этого не является владельцем. Для этого выполняем следующее: Версия 2 SSH имеет улучшенный алгоритм обмена ключами, который не уязвим для дыры в безопасности в версии 1, что улучшает общую безопасность соединений, поэтому идеально подходит для подтверждения того, что новый Протокол 2 используется вместо Протокола 1 и для для этого мы должны подтвердить следующую строку в файле ssh_config: Там мы также можем неявно настроить протокол с помощью Ciphers, который автоматически установит для Protocol значение 2 для использования современных Ciphers, для этого мы проверяем следующую строку чуть ниже строки Protocol: Важно убедиться, что каждая учетная запись SSH должна использовать пароль при входе в систему, заблокировав пустые пароли, которые позволили бы простой доступ, вызывающий риски безопасности в системе, для проверки этого мы будем использовать следующую строку или, если она не существует, мы добавьте его, поставив сначала символ #: Избегая входа в систему пользователя root, можно будет заблокировать определенные учетные записи и не разрешить их использование во всей системе, параметры PermitRootLogin включают «да», «без пароля», «только принудительные команды». или «не надо». Значение по умолчанию - «да». Чтобы полностью остановить вход в систему root, мы будем использовать следующую строку: По умолчанию для SSH назначен порт 22, поэтому злоумышленники с уверенностью знают, через какой порт они будут получать доступ для проведения своих атак, поэтому хорошим методом безопасности является изменение этого порта по умолчанию и указание только авторизованным пользователям Новый порт. Для этого мы должны найти строку Port и добавить следующий синтаксис: В случае, если доступ к серверу SSH состоит из нескольких пользователей, можно применить определенные ограничения, создав группы, в которые включены эти пользователи, это возможно путем добавления таких ключевых слов, как: По умолчанию время, в течение которого пользователь может оставаться неактивным без входа в систему, составляет две минуты, это для предотвращения несанкционированных подключений к системе, на этот раз мы можем отредактировать его в строке LoginGraceTime, увеличив или уменьшив эту погоду: В конфигурациях SSH можно указать псевдоним, они позволяют подключаться к определенному серверу через порт и определенных пользователей, например, мы можем добавить следующее: ssh будет гораздо более безопасным и полезным при использовании с парами открытый / закрытый ключи для проблем аутентификации вместо использования паролей. Файл ssh_config может объявлять определенный ключ для определенного хоста с помощью ключа IdentityFile, в этом случае мы должны ввести следующее: Сжатие Там мы можем использовать такие значения, как yes или no, чтобы включить деактивацию сжатия для хоста. LogLevel (уровень записи) Он позволяет определить уровень детализации в записях для ssh-клиента, варианты: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2 и DEBUG3. StrictHostKeyChecking Установите предпочтение для добавления хостов в файл known_hosts. Таким образом, у нас есть разные варианты улучшения безопасности и подключения по SSH в Linux.1. Как отредактировать файл ssh_config Linux
sudo nano / etc / ssh / ssh_config
Мы увидим следующее: 2. Как заблокировать SSH файлы Linux
sudo chown корень: корень / etc / ssh / sshd_config sudo chmod og-rwx / etc / ssh / sshd_config
3. Как подтвердить протокол SSH версии 2 Linux
Протокол 2
Шифры aes128-ctr, aes192-ctr, aes256-ctr
4. Как отключить пустые пароли SSH Linux
PermitEmptyPasswords нет
5. Как отключить вход root по SSH в Linux
PermitRootLogin нет
6 . Как настроить новый SSH-порт Linux
Порт XXXXX
7. Как ограничить доступ к SSH Linux
AllowUsers (разрешает доступ пользователю) AllowGroups (разрешает доступ к группе) DenyUsers (ограничивает доступ пользователей) DenyGroups (ограничивает доступ к группе)
Например, мы можем выполнить в файле конфигурации следующее: AllowUsers Техновики тесты Тест DenyGroups
8. Как обновить время отсрочки SSH Linux
Войти
9. Как создать псевдоним SSH для Linux
Host dev HostName dev.solvetic.com Порт 3333 Пользователь TechnoWikis
В этом конкретном случае мы должны получить доступ следующим образом: ssh [адрес электронной почты защищен] -p 3333
10 . Аутентификация безопасного ключа SSH Linux
Host dev Имя хоста dev.solvetic.com Порт 3333 Пользователь TechnoWikis IdentityFile ~ / .ssh / dev.solvetic.key
В этом случае подключение будет следующим: ssh -i ~ / .ssh / dev.solvetic.key [защита электронной почты] -p 3333
Некоторые дополнительные параметры:
СТАТЬИ