Вторник, 24.10.2017, 09:37
Приветствую Вас Гость | RSS

Мои записки о Линукс

Меню сайта
Наш опрос
Что вы хотите видеть на этом сайте?
Всего ответов: 223
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа



Яндекс цитирования



Фриланс работа на Freelancehunt.com
Главная » 2010 » Февраль » 16 » Безопасность SSH
20:22
Безопасность SSH
Безопасность SSH
 

При администрировании серверов, очень часто нужен удаленный доступ, для установки и настройки программного обеспечения, внесения корректив, мониторинга различных параметров и всего того, что мы относим к слову «администрировать». В Линукс, как и в большинстве других операционных системах, такой удаленный доступ происходит через SSH или попросту шел.


Справка

SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Сходен по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы имеются для большинства сетевых операционных систем.

SSH позволяет безопасно передавать в незащищенной среде практически любой другой сетевой протокол, таким образом, можно не только удаленно работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры)[2]. Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удаленного запуска клиентов X Window System.

Большинство хостинг-провайдеров за определенную плату предоставляют клиентам доступ к их домашнему каталогу по SSH. Это может быть удобно как для работы в командной строке, так и для удаленного запуска программ (в том числе графических приложений).

http://ru.wikipedia.org

 


 

 

Как правило, SSH сервер  в CentOS устанавливается по умолчанию. Для доступа к нему существует множество клиентов, которые вы без труда найдете по первому же поисковому запросу.

Шел доступ к серверу, конечно же удобен и очень часто жизненно необходим, но вместе с удобствами, мы получаем и дополнительную лазейку для злоумышленника, который может воспользоваться SSH для своих темных дел.
Поэтому, в этой статье, мы рассмотрим способы усилить безопасность SSH.
Прежде всего, нужно отключить вход root по SSH, если потребуются права администратора, никто не запрещает вам из-под залогиненного обычного пользователя воспользоваться командой su.
Для этого нам нужно отредактировать файл /etc/ssh/sshd

Раскоментируем строчку PermitRootLogin , и заменим значение yes, на no.

В этом же файле меняем номер стандартного порта, по которому мы подключаемся к нашему серверу, на любой другой свободный порт. Защита конечно примитивная и не поможет, если вас будут целенаправленно сканировать, но, по крайней мере, отсечет множество ботнетов, использующих подключения на стандартный 22 порт.
Итак, я у себя в файле /etc/ssh/sshd, в строке Port 22,поставил 2222, вы - смотрите по обстоятельствам.
Далее

Нам нужна утилита, которая бы блокировала, хосты подбирающие пароли к нашему серверу. В этом нам поможет Denyhosts.

 


Справка

Denyhosts - это скрипт, написанный на Python для защиты SSH серверов от переборов паролей (брутфорса).Скрипт отслеживает логи системы о неудачных авторизациях и после того, как N-раз был неверно введена связка "логин-пароль" блокирует IP-адрес, с которого производилась атака(Банально вносит IP-адрес в /etc/hosts.deny).


 

 

 Для установки Denyhosts воспользуемся yum:

yum install denyhosts

Возможно, в стандартных репозиториях Denyhosts не окажется, но можно добавить дополнительный, например этот:

http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

После установки, вы можете изменить конфигурационный файл (/etc/denyhosts.conf) по своему усмотрению, хотя по умолчанию в нем уже  выставлены оптимальные настройки.

В denyhosts.conf, все параметры, достаточно хорошо прокоментированы, и думаю у вас не возникнет вопросов по внесению своих коррекций.
Приведу несколько основных параметров конфига  Denyhosts, на которые следовало бы обратить внимание:

# Количество попыток входа с несуществующим логином

DENY_THRESHOLD_INVALID = 5

 

 

#Количество попыток входа с неверным паролем

DENY_THRESHOLD_VALID = 5

 

 

# Количество попыток войти c учетной записью root

DENY_THRESHOLD_ROOT = 1

 

 

#Интервал времени, после которого заблокированный хост будет разблокирован

PURGE_DENY = 12h

 

 

Внеся свои коррективы или оставив все по умолчанию, запускаем Denyhosts:

 

 service denyhosts start

После чего добавляем его в «автозагрузку»:

 

setup

или так:

 

 

chkconfig --level 2345 denyhosts on

На  этом все. Существует, конечно же, еще множество способов обезопасить наш SSH, здесь я перечислил лишь некоторые из них, ну а вы можете сами решить что необходимо для вашей безопасности, а что нет.

 

При перепечатке указание ссылки на http://centos.moy.su обязательно
 
 
Просмотров: 4092 | Добавил: 63rS3rK | Рейтинг: 5.0/2
Всего комментариев: 2
2  
Разобрался. SECURE_LOG=/var/log/secure

1  
Здравствуйте! Спасибо за записку.
А как заполнить SECURE_LOG для CentOs?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Календарь
«  Февраль 2010  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
Сайт детских журналов

Споносор для web-мастеров







Copyright MyCorp © 2017