- Alt linux install ssh server
- 8.4.1. Доступ с компьютера под управлением Windows
- 8.4.2. Доступ с компьютера под управлением Linux
- Установка и настройка сервера SSH в Linux
- Установка пакетов SSH
- Настройка SSH
- Server Security
- Содержание
- Краткие заметки по минимальной защите сервера [ править ]
- Проверяем, какие сервисы запущены и слушают порты [ править ]
- Настраиваем firewall [ править ]
- Настраиваем сервисы [ править ]
- SSH [ править ]
Alt linux install ssh server
Получается так, что web-интерфейс к серверу доступен на клиентском компьютере, а если надо посмотреть содержимое какого-нибудь конфигурационного файла, надо пересаживаться к серверу. Это, конечно, неудобно. Хорошо бы и с клиентского (сисадминского) компьютера получить доступ к файлам сервера. Сделать это не просто, а очень просто.
Самая популярная технология для этого — SSH (Secure SHell). Она позволяет создать защищенное TCP-соединение между двумя компьютерами. Работа идет по принципу клиент-сервер.
В ALT Linux Office Server сервер ssh (компонент называется openssh) по умолчанию установлен, но настроен так, что сразу сделать ничего нельзя. Это необходимо для безопасности.
Доступ по SSH организуется разными способами — по паролю или по ключевым файлам. Что лучше, вопрос философский. Что легче украсть — пароль или файл? Для кражи пароля нужен вирус-троян или подглядывание, для кражи файла нужен кратковременный доступ к компьютеру. Гарантии безопасности нет нигде.
Откроем доступ по паролю. Для этого надо в конфиг-файле /etc/openssh/sshd_cofig раскомментировать строку:
После этого надо перезапустить службу:
# service sshd reload
При этом для пользователя root доступ все равно будет запрещен, и это правильно. За доступ суперпользователя отвечает параметр PermitRootLogin.
Сервер подготовлен, осталось подготовить клиент.
8.4.1. Доступ с компьютера под управлением Windows
Нам потребуется программа putty.exe. Получить ее можно на сайте http://www.putty.org. Программа эта автономная, так что держать ее можно хоть на рабочем столе.
Сначала выполним настройки, затем подключимся.
Открыв программу (рис. 8.2), надо зайти в раздел Translation и выбрать кодировку UTF-8. Затем в разделе Session надо ввести IP-адрес сервера, в строке Saved Sessions — произвольное имя сессии, а затем надо нажать кнопку Save. В дальнейшем можно выбирать эту сессию (ее настройки) кнопкой Load.
Рис. 8.2. Настройка программы putty.exe
Нажимаем клавишу Enter и получаем возможность ввести логин и пароль обычного пользователя (которого мы создали при установке сервера). Кстати в настройках putty можно задать и логин по умолчанию.
В результате получаем доступ в консоль сервера, и можем, к примеру, запустить MC (рис. 8.3).
Рис. 8.3. Удаленный доступ к серверу
Для системного администратора теперь уже не составит труда перейти в режим суперпользователя.
Для выхода из сессии надо набрать команду exit.
Вникнуть в тонкости SSH для ALT Linux можно здесь: http://heap.altlinux.org/modules/sshd/index.html.
8.4.2. Доступ с компьютера под управлением Linux
Если клиент работает под управлением Linux, можно использовать ту же программу putty.exe. Она работает под Wine, достаточно скопировать ее в каталог wine_c, и можно запускать. Единственная проблема — ее окно не может изменить размер.
Для Linux есть масса rpm-пакетов putty, Но в ALT Linux 4.1 Desktop с работой этой программы есть проблемы, результат гарантировать нельзя.
Проще использовать консоль и программу ssh. Нужно дать всего одну команду с указанием имени пользователя и адреса сервера, например:
При первом запуске необходимо ввести «yes» для создания ключа, потом потребуется только пароль. В результате мы получаем доступ в консоли, такой же, как при работе локально.
Для копирования файлов есть еще один вариант — доступ к сетевой папке с помощью SSH. Для этого предусмотрен мастер. Выберите команду Система — Сетевые ресурсы. Щелкните значок Добавить сетевую папку. В окне мастера введите нужные параметры (рис. 8.4).
Рис. 8.4. Создание ярлыка для сетевой папки
В конце нажмите кнопку Сохранить и подключиться. Доступ будет закрыт паролем пользователя на сервере, а работа будет проходить в обычных окнах графической оболочки.
Таким способом можно создать папку общего доступа на сервере (например, для хранения документов). Добавить виртуального пользователя (например, с именем docs) и выдать пароль тем, кто может работать с файлами из этой папки.
Источник
Установка и настройка сервера SSH в Linux
Secure Shell, т. е. SSH – протокол, обеспечивающий защищённые соединения и передачу данных между двумя удалёнными компьютерами. Изначально создавался на замену таким системам как rlogin и rcp. Как понятно из полного названия протокола, система SSH позволяет соединяться и управлять удалённым узлом (компьютером, маршрутизатором и т. д.), при этом защищая весь передаваемый трафик с помощью высоконадёжного шифрования.
SSH широко применяется администраторами серверов для их настройки и управления, да и обычные продвинутые пользователи — владельцы, например, сайтов или виртуальных серверов активно используют SSH для подключения к своей учётной записи на хостинге и использования командной оболочки сервера.
Сразу после окончания разработки система SSH стала активно трансформироваться в закрытый коммерческий продукт в виде версии SSH2. Но благодаря сообществу GNU версии протокола SSH1 и SSH2 были реализованы в виде открытого и свободно распространяемого ПО openSSH. В Linux-системах используется именно этот метапакет.
Метапакет SSH базово включает в себя сервер SSH (sshd) в качестве програмы-демона, а также несколько утилит: ssh – удаленная регистрация и выполнение команд, scp – передача файлов и ssh-keygen – для генерации пар SSH-ключей.
Установка пакетов SSH
Как уже говорилось система ssh в Linux-системах распространяется в виде составного метапакета, поэтому для установки всех требуемых утилит ssh нужно выполнить всего одну команду:
В Ubuntu
После чего начнется процесс установки
Как видно, менеджер пакетов сам распознает все зависимые и связанные пакеты и установит их. Также, по завершению установки, автоматически будет запущен SSH-сервер в режиме демона. Это можно проверить командой:
$ systemctl status sshd
или:
$ service sshd status даст тот же вывод. Теперь сервер работает с базовыми настройками по-умолчанию.
Настройка SSH
Режим работы SSH-сервера с настройками по-умолчанию хоть и является вполне работоспособным для небольших частных сетей, всё же нуждается в задании некоторых важных параметров для использования на высоконадёжных публичных серверах. Настройки демона хранятся в файле /etc/ssh/sshd_config. Посмотреть его можно командой
В первую очередь следует обратить внимание на следующие параметры: Port, AddressFamily, ListenAddress. Первый глобально задаёт номер порта, через который будет работать соединение и если оставить его стандартным, т. е. 22, то велика вероятность, что он будет слишком часто сканироваться роботами.
Примечание: для задания активации параметра необходимо раскомментировать соответствующую строку — убрать символ «#» в её начале.
Второй параметр задаёт семейство используемых IP-адресов — IPv4 и IPv6. Если, к примеру, используются только адреса IPv4, то очень рекомендуется установить для параметра
Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:
Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:
Следует заметить, что в таком случае серверу необходимо явно указывать, где хранятся открытые ключи пользователей. Это может быть как один общий файл для хранения ключей всех пользователей (обычно это файл etc/.ssh/authorized_keys), так и отдельные для каждого пользователя ключи. Второй вариант предпочтительнее в силу удобства администрирования и повышения безопасности:
AuthorizedKeysFile etc/ssh/authorized_keys # Для общего файла
AuthorizedKeysFile %h/.ssh/authorized_keys # Файл -> пользователь
Во втором варианте благодаря шаблону автоподстановки с маской «%h» будет использоваться домашний каталог пользователя.
Важно также отключать парольный доступ:
Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:
Для указания разрешённых или запрещённых пользователей и групп служат директивы DenyUsers, AllowUsers, DenyGroups, и AllowGroups. Значениями для них являются списки имён, разделяемых пробелами, например:
Следует также отключать root-доступ:
Иногда, когда следует задавать мультисерверную конфигурацию, очень удобно использовать алиасы (Aliases), что позволяет настроить сразу несколько режимов доступа (с разными хостами, портами и т. д.) и использовать их, указывая при этом конкретный алиас:
Настройки для алиасов хранятся либо глобально в /etc/ssh/ssh_config, либо раздельно для пользователей в
/.ssh/config. Здесь нужно не спутать с ssh_config! Пример:
Для применения сделанных настроек необходим перезапуск SSH-сервера:
Настройка и использование клиента SSH
Для подключения по к серверу используется команда:
где user_name – имя пользователя в системе, host_name – имя узла, к которому производится подключение, например:
При этом утилита ssh запросит (в зависимости от настроек сервера) логин, пароль или парольную фразу для разблокировки приватного ключа пользователя.
В случае авторизации по ключу, должна быть предварительно сгенерирована пара SSH-ключей — открытый, который хранится на стороне сервера, обычно в файле .ssh/authorized_keys в домашнем каталоге пользователя, и закрытый — используется для авторизации клиента и хранится, как правило, в каталоге .ssh/ домашней директории пользователя. Открытый ключ представляет собой «цифровой слепок» закрытого ключа благодаря которому сервер «знает», кто «свой», а кто «чужой».
Для генерации ключей используется утилита ssh-keygen:
Утилита предложит выбрать расположение ключей (лучше всё оставить по-умолчанию), обычно это каталог
/.ssh/, ввести парольную фразу для закрытого ключа. После чего будут сгенерированы открытый ключ id_rsa.pub и закрытый — id_rsa. Теперь нужно скопировать открытый ключ, т. е. «слепок» закрытого на сервер. Проще всего этого можно добиться командой:
Теперь можно выполнить подключение командой ssh и запустить защищённый сеанс удалённого управления.
Важно заметить, что использование сгенерированных openSSH-ключей несовместимо с PPK-форматом, используемым по-умолчанию в таких комплексах как PuTTY. Поэтому необходимо конвертировать имеющиеся openSSH-ключи в формат PPK. Удобнее всего это делать с помощью утилиты PuTTY – puttygen.exe.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Server Security
Эту статью следует викифицировать. |
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной. |
Содержание
Краткие заметки по минимальной защите сервера [ править ]
На написание данного черновика навел меня вопрос в рассылке:
hi all
Скажу сразу, я не спец по безопасности…
…
PS вопрос возник после того, как только что подняв машину завёл пользователя admin c паролем admin (думал когда закончу работу поменяю) поставил ssh и… пошёл на 10 мин в туалет. Когда вернулся дело было уже сделано — уже кто-то приконектился и начал что-то на мою машину заливать. Удивительно даже — маньяки какие-то… Я ж не супер-мега сервер какой-то, а рядовой
В этой заметке я хочу собрать советы и рекомендации, скорее идеи, как настроить некоторый уровень безопасности сервера или рабочей станции при подключении к Интернет. Эти рекомендации ни в коем случае не обеспечат абсолютной защиты вашего сервера (такой не существует), но большинство атак отразить помогут.
Проверяем, какие сервисы запущены и слушают порты [ править ]
После установки необходимого ПО, проверьте, какие порты открыты.
Приведенная строка информирует нас о том, что на всех сетевых адресах открыт порт 993, и слушает его cyrus-master.
Да, я уверен, что этот сервис должен слушать этот порт (это IMAPS). Надписи вида 127.0.0.1:xxx в третьей колонке означают, что сервис работает только в пределах самой машины (считается безопасным). Если вы обнаружите открытый порт и сервис, который вам не известен, разберитесь досконально, что это и для чего нужно, прежде чем отключать. Если данный сервис нужен в локальной сети, но не должен быть доступен извне, посмотрите в настройки данного сервиса, наиболее вероятным параметром будет LISTEN. Например, настройки сервера ssh:
В моем примере данная настройка не используется, а вы поступайте по своему разумению.
Настраиваем firewall [ править ]
Возможна ситуация, когда необходимый сервис не имеет такой настройки, и слушает все сетевые интерфейсы. В таком случае необходимо настроить iptables. (Я предполагаю, что у вас именно этот пакет. В другом случае, берите на вооружение идею, а реализуйте ее тем инструментарием, который у вас есть). Есть два пути настройки iptables, использовать тот файл настроек, который предусмотрен дистрибутивом, и написание собственного скрипта. Различий мало… Я привожу вариант настроек для /etc/sysconfig/iptables.
Более подробно почитайте на странице, подготовленной Виталием Липатовым.
Настраиваем сервисы [ править ]
SSH [ править ]
Минимально нужно ограничить вход в систему для пользователей, которым это не нужно. Оставим только того, кто реально может и должен иметь доступ (и ограничим скорость попыток подключений), и/или установим/настроим дополнительно sshutout.
По минимуму, все … Далее, имеет смысл правильно настроить ваш почтовый сервер, для того, чтобы через него не рассылали спам, но это уже другая статья (в дистрибутивах ALT Linux, в конфигурации по умолчанию, почтовик не смотрит в Интернет).
Источник