Настройка SSH для ОС Nas4Free

загрузка...

Очень часто для организации серверного хранилища данных с удаленным доступом используют операционную систему Nas4Free. И чтобы обеспечить безопасный удаленный доступ к такому серверу данных с других компьютеров, часто обращаются к протоколу SSH. Это зашифрованный сетевой протокол, который гарантирует безопасность сохранения паролей и полную конфиденциальность. Кроме того, такой протокол сложно взломать. Но для этого нужна правильная настройка SSH, что мы и разберем в приведенной статье. Вы узнаете об особенностях настроек сетевого протокола в Nas4Free и о главных отличиях ее от конфигураций в FreeNas.

Почему именно SSH для Nas4Free

Дело в том, что сетевой протокол SSH по умолчанию рекомендован для операционной системы Nas4Free. Его настройка доступна сразу после установки ОС Nas4Free на компьютер и присвоения серверу IP-адреса. И настроить протокол можно через вкладку «Службы SSH». Кроме того, SSH — это один из немногих протоколов, который позволяет не только просматривать данные, но и изменять его, что является необходимым условием для функционирования сетевых хранилищ на базе ОС Nas4Free.

Как настроить SSH в ОС Nas4Free

Дело в том, что Nas4Free — это продолжение FreeNas, потому управлять конфигурациями протокола SSH можно аналогичным образом, как и в предшествующей операционной системе. Все команды и настройки, по сути, идентичны.

Чтобы правильно настроить сетевой протокол, вам нужно разобраться со всеми конфигурациями в файле sshd_config.

Потому рассмотрим все основные переменные этого файла.

Функцию AcceptEnv вы навряд ли будете использовать. Она нужна для управления и передачи переменных между сервером и клиентом. В целом, функция необходима для увеличения безопасности. Если вы хотите более детально ознакомиться с принципом управления переменными, прочтите мануал, введя в командной строке: man ssh_config.

загрузка...

Куда более полезная функция — это AddressFamily. Она поможет вам увеличить безопасность, ограничив семейства IP, какие могут заходить на сервер. Хотя для сетевого хранилища такая настройка навряд ли понадобится, но если вы хотите использовать только один или несколько определенных клиентов, то можете указать через эту функцию inet или inet6 для фильтрации IP4 или IP6.

AllowTcpForwarding — не самая популярная функция, которую, в принципе, даже можете не трогать в настройках. Она нужна для активации перенаправления по каналам TCP. Дело в том, что без деактивации удаленного доступа для пользователей, изменение этого параметра никак не повлияет на уровень безопасности.

При помощи функции AllowGroups вы сможете создать отдельные группы пользователей, которым нельзя или, наоборот, можно заходить на сервер. Функция работает при помощи переменных Allow и Deny — первая разрешает доступ группам пользователей, вторая — запрещает. Если не использовать эту функцию, то доступ для всех пользователей будет открыт. А при помощи строки Allow users вы сможете разрешить доступ отдельным юзерам из списка запрещенных групп. Учтите, что указывать нужно имена групп/пользователей — через GID писать не получится.

Очень важная функция — это AuthorizedKeysFile. Она определяет расположение на сервере файла с публичными ключами для авторизации. Этот файл необходим в том случае, если вы используете аутентификацию путем сверки ключей на компьютере клиента и в файле AuthorizedKeys. Если не будете менять расположение файла, то функция и не понадобится — он будет размещен в «.ssh/authorized_keys».

Subsystem-sftp

Если вы организуете какой-то публичный сервер, которым будут пользоваться посторонние пользователи, то есть вероятность, что вам нужно будет им что-то сообщать при входе. В таком случае воспользуйтесь функцией Banner для добавления баннера в качестве приветствия. Учтите, что баннер работает только со второй версией протокола. Но поскольку первой уже мало кто пользуется — он считается небезопасной — то проблем с добавлением баннера не будет.

ChallengeResponseAuthentication определяет возможность беспарольной аутентификации. Эту опцию можно не изменять, поскольку по умолчанию установлен ответ Yes, а значит вы сможете настроить аутентификацию путем сверки публичных ключей.

Функция Ciphers необходима для добавления новых алгоритмов шифрования паролей и данных. В целом, обычному юзеру такая опция не понадобится, но если на ваш сервер нападают и пытаются его взломать (это можно увидеть в логах), тогда лучше добавить как можно больше механизмов шифрования, чтобы они не смогли раскрыть пароли.

Строка ClientAliveCountMax определяет число проверок активности клиента. Это необходимо для того, чтобы заблокировать ботов, которые пытаются пробраться к вам на сервер. Кроме того, вы сможете уменьшить нагрузки сетевого хранилища, если установите параметр ClientAliveCountMax, к примеру, равный трем. Тогда после трех запросов неактивные клиенты будут отключаться от сервера. Таким образом можно снизить нагрузки примерно на 20 %.

Вместе с предыдущей функцией стоит использовать ClientAliveInterval. Эта строка определяет время, когда нужно отправлять запрос на активность клиента. То есть если у вас установлен интервал в 20 секунд, а количество запросов — 3, то неактивный клиент будет отключен через 60 секунд.

nas4free.local-SistemaObshhie-parametryi-----Opera_006

ForceCommand — это аналог автозапуска в операционных системах. Суть в том, что вы определяете, какая команда будет запущена по умолчанию после входа пользователя на сервер. Эта опция необходима, особенно если вы управляете сетевым хранилищем. К примеру, вы сможете прописать команду mc и после аутентификации на сервере перед пользователем появится менеджер файлов, что весьма удобно.

Опция GSSAPIAuthentication необходима для активации аутентификации GSSAPI. Чтобы выключить ее, пропишите no, а чтобы включить — yes. Такая аутентификация доступна только для второй версии протокола. Также вам понадобится команда GSSAPICleanupCredentials, которая определяет, нужно ли очищать кэш после аутентификации клиента.

Есть еще один вид аутентификации, который можно использовать вместе с авторизацией путем сверки публичного ключа — это HostbasedAuthentication. Суть такой аутентификации в дополнительной проверке имени хоста.

Если вы все же используете первую версию протокола, тогда рекомендуется перенастроить опцию KeyRegenerationInterval. Она необходима для определения временного интервала, во время которого изменяется ключ сервера. В первом протоколе ключ нигде не хранится, чтобы его нельзя было перехватить. Чтобы у злоумышленников было еще меньше шансов сделать это, можете изменить стандартный параметр 3600 секунд на другой меньший отрезок.

Опция ListenAddress вам понадобится для указания адресов хостов, на которых сервер будет ожидать соединения. Если ничего не менять, то соединения будут ожидаться на 22-м порту.

Для дополнительной защиты от действий ботов по подбору паролей используйте команду LoginGraceTime. Она позволит вам назначить временной промежуток, который ограничивает время авторизации. Если клиент не успевает за отведенное время зайти на сервер, сессия обрывается и ему нужно заново делать запрос, что значительно усложнит жизнь ботам. По умолчанию установлен промежуток в 120 секунд. Можете смело его менять на 60-80 секунд — этого достаточно.

Также рекомендуется перенастроить параметр MaxAuthTries. Он определяет число возможных попыток проникнуть на сервер во время авторизации. Если число будет ограниченным, хакеры никак не смогут подобрать пароль. По умолчанию установлено 6 попыток, но вы можете сократить число до трех.

Еще одна команда для борьбы с ботами — это MaxStartups. Хитрые злоумышленники могут пытаться взломать пароль к клиенту используя сразу множество соединений. Тогда им не страшны временные ограничения и пределы попыток. Зато ограничение общего числа сеансов аутентификации их наверняка испугает. И MaxStartups как раз позволяет создать такой ограничитель. По умолчанию в системе указано 10 соединений. Меняйте это значение в зависимости от масштабов вашего сетевого хранилища и количества пользователей.

Что не рекомендуется делать, так это активировать парольную аутентификацию. Она прописывается через команду PasswordAuthentication. И по умолчанию установлено значение yes в настройках, потому вам лучше его изменить на no.

Также позаботьтесь о том, чтобы root-пользователь не смог заходить на сервер каким-либо способом. Возможность входа на сервер через аккаунт суперадмина прописана в опции PermitRootLogin. В ней можно указать несколько значений: yes, no и without-password. Лучше сразу установить no, так как по умолчанию вход для суперадминистратора разрешен.

И напоследок не забудьте изменить порт. Сделать это можно через опцию Port. Дело в том, что по умолчанию стоит значение 22, о чем знают многие хакеры. Измените это значение на любое другое. А затем настройте PubkeyAuthentication и на этом все!

documentation_setup_and_user_guide_services.ssh

Похожие статьи

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here