По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
OpenSSH позволяет выполнять удаленное подключение к серверу, производить манипуляции с файлами и управлять системой. Сегодня хотим рассказать про лучшие методы, которые позволят увеличить безопасность системы на базе OpenSSH.
Конфигурационные файлы
/etc/ssh/sshd_config - файл конфигурации сервера OpenSSH;
/etc/ssh/ssh_config - файл конфигурации клиентской части OpenSSH;
~/.ssh/ - директория, в которой хранятся пользовательские SSH настройки;
~/.ssh/authorized_keys или ~/.ssh/authorized_keys - список ключей (RSA или DSA), которые используются для подключения к пользовательским аккаунтам;
/etc/nologin - если данный файл существует в системе, то sshd запретит подключаться всем пользователям кроме root в систему;
/etc/hosts.allow и /etc/hosts.deny - система запрета (часть безопасности). Работает по аналогии с ACL;
SSH порт по умолчанию - 22
Не нужен - выключай
Если вашему серверу не требуется удаленное подключение по SSH, то обязательно отключите его. В таких системах как CentOS/RHEL делается это так:
chkconfig sshd off
yum erase openssh-server
Используйте SSH второй версии
Протокол SSH первой версии имеет проблемы с безопасностью, которые закрыты во второй версии. Поэтому, используйте вторую версию. Убедитесь, что в файле /etc/ssh/sshd_config указана опция Protocol 2.
Ограничивайте SSH доступ
По умолчанию, все системные пользователи имеют возможность подключаться к системе по SSH. Рекомендуем ограничить SSH доступ в целях безопасности. Например, разрешить SSH для пользователей root, merion и networks:
AllowUsers root merion networks
С другой стороны, вы можете разрешить доступ всем пользователям, кроме указанных:
DenyUsers root merion networks
Время неактивности
Важно указывать время, в течение которого, неактивная сессия будет терминирована (завершена). Это можно сделать следующими опциями:
ClientAliveInterval 300
ClientAliveCountMax 0
В данной настройке мы указали время бездействия равным 300 секунд (5 минут).
Про файлы .rhosts
Дело в том, что данный файл содержит список хостов и пользователей. Если в данном файле содержится комбинация хоста и юзера, то данный пользователь сможет подключиться к системе по SSH без запроса пароля. Рекомендуем отключить эту «замечательную» фичу:
IgnoreRhosts yes
Никакой аутентификации на базе хоста!
Так называемая Host-Based Authentication позволяет пользователю с определенного хоста подключаться к серверу. Отключаем:
HostbasedAuthentication no
Прямое подключение через root
Не нужно открывать root. Максимум, советуем использовать прямое root подключение на время проведения работ. Затем отключать. Лучше давать su (sudo) доступ для некоторых категория пользователей. Закрыть можно вот так:
PermitRootLogin no
Сделайте баннер
Для каждого подключающегося сделайте баннер, в котором можно угрожать злоумышленникам, которые пытаются совершить несанкционированный доступ. За настройку баннера отвечает параметр Banner.
22 порт только изнутри!
Сделайте доступ к 22 порту системы только через цепочку фаервол правил. Лучше всего, оставить доступ только изнутри LAN. Например, в Iptables можно дать доступ для 192.168.11.0/24:
-A RH-Firewall-1-INPUT -s 192.168.11.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
Где слушать
По умолчанию SSH слушает подключения на всех доступных интерфейсах. Мы рекомендуем сменить порт по умолчанию и указать IP – адрес, на котором необходимо ожидать подключения. Например, мы укажем порт 962 и IP – адрес 192.168.11.24
Port 962
ListenAddress 192.168.11.24
Криптостойкие пароли
Используйте устойчивые к защите пароли. В сети множество инструментов, которые сгенерируют криптостойкий пароль онлайн, бесплатно и без смс :)
Запретить пустые пароли
Бывают пользователи без паролей. Их доступ к SSH так же необходимо запретить с помощью опции:
Port 962
PermitEmptyPasswords no
Анализируйте логи
Установите логирование событий в режим INFO или DEBUG – это позволит иметь расширенный контроль над системой:
LogLevel INFO
Безопасность транспортного уровня (TLS), также известная как Secure Socket Layer (SSL), является протоколом безопасного транспортного уровня, развернутым по умолчанию в большинстве веб-браузеров. Когда пользователи видят маленький зеленый замок, указывающую на то, что веб-сайт "безопасен", это означает, что SSL-сертификат действителен, а трафик между хостом (на котором работает браузер) и сервером (на котором работает веб-сервер) шифруется. TLS-это сложный протокол с большим количеством различных опций; в этом разделе будет представлен приблизительный обзор его работы. На рисунке 3 показаны компоненты пакета TLS.
На рисунке 3:
Протокол рукопожатия отвечает за инициализацию сеансов и настройку параметров сеанса, включая начальный обмен закрытыми ключами.
Протокол предупреждений отвечает за обработку ошибок.
Изменение спецификации шифра отвечает за запуск шифрования.
Протокол записи разбивает блоки данных, представленные для транспортировки, на фрагменты, (необязательно) сжимает данные, добавляет Message Authentication Code (MAC), шифрует данные с помощью симметричного ключа, добавляет исходную информацию в блок, а затем отправляет блок в Transmission Control Protocol (TCP) для транспортировки по сети.
Приложения, работающие поверх TLS, используют специальный номер порта для доступа к службе через TLS. Например, веб-службы, использующие протокол передачи гипертекста (HTTP), обычно доступны через TCP-порт 80. Протокол HTTP с шифрованием TLS обычно доступен через порт 443. Хотя служба остается той же, изменение номера порта позволяет процессу TCP направлять трафик, который должен быть незашифрован, чтобы конечное приложение могло его прочитать.
MAC, который в этом контексте будет означать код аутентификации сообщения, используется для обеспечения аутентификации отправителя. В то время как некоторые криптографические системы предполагают, что успешное шифрование данных с помощью ключа, известного получателю, доказывает, что отправитель действительно тот, за кого он себя выдает, TLS этого не делает.
Вместо этого TLS включает MAC, который проверяет отправителя отдельно от ключей, используемых для шифрования сообщений в сети. Это помогает предотвратить атаки MitM на потоки данных, зашифрованные с помощью TLS.
На рисунке 4 показано рукопожатие запуска TLS, которое управляется протоколом рукопожатия.
На рисунке 4:
Приветствие клиента отправляется в виде открытого текста и содержит информацию о версии TLS, которую использует клиент, 32 случайных октета (nonce), идентификатор сеанса (который позволяет восстановить или восстановить предыдущий сеанс), список алгоритмов шифрования (наборов шифров), поддерживаемых клиентом, и список алгоритмов сжатия данных, поддерживаемых клиентом.
Приветствие сервера также отправляется в виде открытого текста и содержит ту же информацию, что и выше, с точки зрения сервера. В приветственном сообщении сервера поле алгоритма шифрования указывает тип шифрования, который будет использоваться для этого сеанса. Обычно это "лучший" алгоритм шифрования, доступный как на клиенте, так и на сервере (хотя он не всегда "лучший").
Сервер отправляет свой открытый ключ (сертификат) вместе с nonce, который клиент отправил на сервер, где nonce теперь шифруется с помощью закрытого ключа сервера.
Сообщение сервера hello done (принятие приветствия) указывает, что теперь у клиента есть информация, необходимая для завершения настройки сеанса.
Клиент генерирует закрытый ключ и использует открытый ключ сервера для его шифрования. Это передается в сообщении обмена ключами клиента на сервер.
После того, как это было передано, клиент должен подписать что-то, что известно, как серверу, так и клиенту, чтобы убедиться, что отправитель является правильным устройством. Обычно до этого момента подпись присутствует во всех сообщениях обмена. Как правило, криптографический хеш используется для генерации проверки.
Сообщение об изменении спецификации шифра по существу подтверждает, что сеанс запущен и работает.
Готовое сообщение (завершение) еще раз аутентифицирует все предыдущие сообщения рукопожатия до этого момента.
Затем сервер подтверждает, что сеанс шифрования установлен, отправив сообщение изменения спецификации шифра.
Затем сервер отправляет готовое сообщение, которое аутентифицирует предыдущие сообщения, отправленные в рукопожатии таким же образом, как и выше.
Примечание. Дополнительные шаги в рукопожатии TLS были исключены из этого объяснения для ясности.
После того, как сеанс запущен, приложения могут отправлять информацию принимающему хосту по правильному номеру порта. Эти данные будут зашифрованы с использованием предварительно согласованного закрытого ключа и затем переданы TCP для доставки.
Временная группа (Time Group) – набор временных диапазонов, который можно применять к условиям проверки вызовов. Диапазон настраивается с учетом минут, часов, дней недели, месяца или года. Каждая временная группа может иметь множество временных диапазонов, каждый из которых будет проверяться. Как мы писали ранее, временная группа ассоциируется с временным условием (Time Condition), которое определяет направление для вызова при условии вхождения в указанный временной диапазон, или наоборот, выход за его рамки. Отметим, что временная группа так же может быть назначена на исходящий маршрут, чтобы лимитировать его использование по времени.
Приступим к настройке. Для этого, в меню Applications, выберем Time Groups
Рассмотрим основные параметры настройки временной группы:
Description - Описание данной временной группы. Рекомендуем указывать наглядные описания, например, «Рабочие дни» или «Праздничные дни»
Time(s) - Основное рабочее поле в данном пункте меню. Здесь вы можете указать временные диапазоны для данной группы. По умолчанию, доступен только один диапазон. Нажав на Add Time, вы можете добавлять дополнительные диапазоны. Доступны следующие параметры:
Time to start
Time to finish
Week Day start
Week Day finish
Month Day start
Month Day finish
Month start
Month finish
Например, указанная ниже настройка обеспечит настройку вызовов с понедельника по пятницу, с 10:00 до 19:00:
Праздничные дни
Чтобы настроить конкретный праздничный день, необходимо в поле Month Day start и Month Day finish выбрать один и тот же день. Например, вот настройка для праздника 8 марта:
По окончанию настройки, нажмите Save и затем Apply Config