ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ХАКЕР.PRO<br />
Host filesrv<br />
HostName 192.168.5.201<br />
ProxyCommand ssh gateway nc -w 180 %h %p<br />
Подключаемся:<br />
$ ssh filesrv<br />
Использование параметра ControlMaster позволяет ускорить доступ к<br />
удаленному серверу за счет того, что в специальном файле сохраняются<br />
все параметры предыдущего сеанса, которые и используются при повторном<br />
подключении. Для примера создадим две Host-секции:<br />
$ vim .ssh/config<br />
Host srv1<br />
HostName 213.167.XX.YY<br />
ControlMaster yes<br />
# Здесь %r — имя, %h — хост и %p — порт<br />
ControlPath ~/.ssh/ctl-%r-%h-%p<br />
Host srv1fast<br />
HostName 213.167.XX.YY<br />
ControlMaster no<br />
ControlPath ~/.ssh/ctl-%r-%h-%p<br />
Теперь на сервере srv1 выполняем утилиту uptime. Логинимся на нем<br />
(чтобы создать локальный сокет для второго подключения), переходим на<br />
другую консоль и снова запрашиваем статистические счетчики:<br />
ttyp0% time ssh srv1 uptime<br />
5:55PM up 37 days, 9:19, 1 user, load averages: 0.33,<br />
0.32, 0.33<br />
0m0.77s real 0m0.06s user 0m0.01s system<br />
ttyp0% ssh srv1<br />
ttyp1% time ssh srv1fast uptime<br />
5:57PM up 37 days, 9:20, 2 users, load averages: 0.37,<br />
0.34, 0.33<br />
0m0.03s real 0m0.00s user 0m0.01s system<br />
Как видишь, при мультиплексировании соединений время выполнения<br />
команды uptime на удаленном сервере уменьшилось в 25 раз — настоящее<br />
турбореактивное ускорение!<br />
Секурные носки<br />
Но это еще не все чудеса. OpenSSH можно использовать как специальный<br />
SOCKS-сервер, который поддерживает более гибкое проксирование, чем<br />
простое перенаправление портов. Например, команда:<br />
HTTP/1.1 200 OK<br />
Date: Sat, 23 Feb 2008 14:27:43 GMT<br />
Server: Apache<br />
X-Powered-By: PHP/4.4.1<br />
Теперь носки готовы к использованию:<br />
$ tsocks thunderbird<br />
Поиграем в песочнице<br />
В OpenSSH 4.9 появилась долгожданная поддержка chroot(2) для sshd,<br />
контролируемая с помощью опции ChrootDirectory. К примеру, заставим<br />
подключающегося по sftp пользователя warez переходить в измененный<br />
корневой каталог 0day:<br />
$ sudo vim /etc/ssh/sshd_config<br />
#Subsystem sftp /usr/libexec/sftp-server<br />
Subsystem sftp internal-sftp<br />
Match User warez<br />
X11Forwarding no<br />
AllowTcpForwarding no<br />
ForceCommand internal-sftp<br />
ChrootDirectory /0day<br />
Вместо заключения<br />
Автодополнение хостов можно выполнить за счет использования встроенных<br />
средств командной оболочки:<br />
$ vim ~/.bash_profile<br />
complete -W "$(echo 'cat ~/.ssh/known_hosts | cut -f 1<br />
-d '' \<br />
| sed -e s/,.*//g | uniq | grep -v "\["';)" ssh<br />
Параноидально настроенные администраторы, возможно, захотят,<br />
наоборот, зашифровать все IP и доменные адреса из файла .ssh/known_<br />
hosts. Делается это так:<br />
$ echo 'HashKnownHosts' >> ~/.ssh/config<br />
$ ssh-keygen -H -f ~/.ssh/known_hosts<br />
$ head -1 ~/.ssh/known_hosts<br />
+|1|TJ2SaXGqO8uHYeiA92KuNRIKR7M=|GpQB8Qz0tQPqA+nF+ghe<br />
37mpcHA= ssh-rsa AAAA[...] z<br />
Пакет с ClusterSSH в Ubuntu уже есть<br />
$ ssh — D1080 user@domain.ru<br />
создает локальный SOCKS5‐сервер, который ждет подключения на<br />
localhost:1080. Альтернативный вариант — прописать директиву<br />
DynamicForward в .ssh/config:<br />
$ vim .ssh/config<br />
Host proxy<br />
HostName ns.domain.ru<br />
DynamicForward 1080<br />
Подключаемся, введя «ssh proxy». Протестировать работу SOCKS5‐сервера<br />
можно такой командой:<br />
$ echo -n "GET / HTTP/1.0\r\n\r\n" | nc -X 5 -x<br />
127.0.0.1:1080 \<br />
www.domain.ru 80 | head -4<br />
xàêåð 06 /114/ 08<br />
133