03.01.2015 Views

Офисное западло - Xakep Online

Офисное западло - Xakep Online

Офисное западло - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ХАКЕР.PRO<br />

При помощи ClusterSSH можно легко управлять сразу несколькими системами<br />

links<br />

По адресу www.<br />

jfranken.de/<br />

homepages/johannes/<br />

vortraege/ssh2_inhalt.<br />

en.html ты найдешь<br />

отличное руководство<br />

по созданию<br />

туннелей.<br />

В Debian и Ubuntu для аутентификации по умолчанию<br />

используется GSSAPI (Generic Security Services Application<br />

Programming Interface), что обычно требует времени. Есть<br />

смысл использовать этот механизм только совместно с<br />

Kerberos 5, иначе его можно отключить, уменьшив задержку.<br />

Одновременно запретим использование одноразовых паролей<br />

на базе системы S/Key:<br />

GSSAPIAuthentication no<br />

ChallengeResponseAuthentication no<br />

Несколько параметров в sshd_config позволяют контролировать<br />

время работы и бездействия клиента, но они не всегда<br />

так уж полезны. Например, по умолчанию TCPKeepAlive<br />

установлен в «yes»; это означает, что сервер будет периодически<br />

проверять, находится ли клиент «на линии» — если он<br />

не отвечает, соединение автоматически разрывается. И хотя с<br />

ним системные ресурсы не расходуются зря, в целях безопасности<br />

его лучше отключить:<br />

TCPKeepAlive no<br />

Хакер, анализируя такие пакеты, может провести ряд сетевых<br />

атак, поэтому вместо TCPKeepAlive лучше использовать<br />

директивы:<br />

ClientAliveInterval 15<br />

ClientAliveCountMax 3<br />

Следующие два параметра позволяют контролировать неудачные<br />

подключения к серверу:<br />

LoginGraceTime 60<br />

MaxStartups 2:50:10<br />

Параметр LoginGraceTime определяет, по истечению какого<br />

времени простаивающее подключение будет разорвано<br />

(в секундах). Значение по умолчанию (120) явно завышено.<br />

Количество параллельных неаутентифицированных подключений<br />

к серверу контролируется при помощи MaxStartups.<br />

Запись параметра имеет форму «start:rate:full». В<br />

нашем случае она означает отключение с вероятностью 50%<br />

при наличии двух неаутентифицированных связей с линейным<br />

ростом вероятности до 100% при достижении 10.<br />

Установки в файлах /etc/ssh/sshrc или ~/.ssh/rc<br />

позволяют выполнить действия при регистрации пользователя.<br />

Здесь можно использовать любые команды оболочки.<br />

Например, отправляем на почту уведомление, что в систему<br />

по ssh зашел пользователь:<br />

$ sudo vim /etc/ssh/sshrc<br />

echo $(date) $SSH_CONNECTION $USER $SSH_TTY |<br />

mail -s "ssh login" admin@domain.ru<br />

Таким образом, можно полностью контролировать<br />

подключения.<br />

Золотые ключики<br />

Аутентификация при помощи пароля не всегда безопасна,<br />

поэтому некоторые security-специалисты советуют ее отключить<br />

и воспользоваться авторизацией по ключам:<br />

PasswordAuthentication no<br />

PubkeyAuthentication yes<br />

Чтобы подстраховаться, стоит ограничить доступ беспарольным<br />

клиентам. Нужные параметры можно указывать прямо в<br />

~/.ssh/authorized_keys:<br />

$ vim .ssh/authorized_keys<br />

from="192.168.0.*,212.34.XX.YY" ssh-rsa<br />

AAAA[...]<br />

Здесь же допускается задавать команды, которые будут вызваны<br />

при подключении:<br />

command="ssh -t user@192.168.5.201" ssh-rsa<br />

AAAA[...]<br />

Этот подход можно использовать для создания бэкапов. Генерируем<br />

пару ключей (секретный и публичный):<br />

$ sudo ssh-keygen -t rsa -C 'remote backup'<br />

Generating public/private rsa key pair.<br />

Enter file in which to save the key (/home/<br />

user/.ssh/id_rsa): /home/user/.ssh/id_rsa_<br />

backup<br />

Добавляем публичный ключ в список авторизованных ключей<br />

на удаленной системе:<br />

$ ssh remotehost "mkdir -m 700 .ssh; umask<br />

130<br />

xàêåð 06 /114/ 08

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!