вторник, 20 сентября 2011 г.

SSH

Подготовка ключей: 
ssh-keygen #генерируем ключ
ssh-copy-id -i ~/.ssh/id_rsa.pub учётка@ip_адрес #копируем  ключ клиенту

Туннелирование:
Есть два вида ssh проброса туннелей:
1.) Вы открываете на удаленной машине локальный порт
ssh root@удалённый_сервер -R 2222:ip_ПК:22

где 2222 на удаленной машине, а 22 локальный порт.

2.) На локальной машине открываем удаленный порт
ssh root@уалённый_сервер -L 2222:ip_ПК:22

где 2222 локальный порт, а 22 порт на удаленной машине.

Удаленный доступ к файлам: 
sudo apt-get install sshfs  #ставим нужный пакет

А далее присоединить необходимую папку:
sshfs name@server:/path/to/folder /path/to/mount/point

Защита от взлома SSH :
sudo apt-get install fail2ban 

Суть этого демона заключается в облегчении жизни пользователя, а именно, он в фоновом режиме сканирует логи (/var/log/pwdfail или /var/log/apache/error_log и др.) на наличие записей вида “Failed password for invalid user condor” для таких служб как sshd, apache, vsftpd и др., и после нескольких неудачных попыток производит блокировку по IP адресу.

Количество попыток авторизации, время блокировки и многие другие настройки находятся в файле:
 
/etc/fail2ban/jail.conf

Настраивается все очень просто, работает отлично.


  
Оповещение при подключении по SSH:
При установке выполняется файл /etc/ssh/sshrc. Поэтому мы создадим скрипт и поместим команду для его запуска в этот файл:

/usr/local/alert/start.sh

unset SSH_CONNECTION  

И добавил в /root/.bashrc код:

unset SSH_CONNECTION

/usr/local/alert/start.sh  


 Скрипт будет выводить сообщение с важной информацией через notify-osd.

 #!/bin/sh  
export DISPLAY=:0
notify-send "Security Warning" "Occured Login as user \"$USER\" $(echo $SSH_CONNECTION $SSH_TTY | sed 's/\(.*\) \(.*\) \(.*\) \(.*\) \(.*\)/using SSH connection at \5 from \1:\2 to \3:\4/')" -u critical -i /usr/local/alert/icon.png 
 
  Первой строкой мы устанавливаем текущий дисплей для правильной работы notify-osd, а затем выводим сообщение с иконкой и пометкой критической важности, используя системные переменные $USER (текущий пользователь) и $SSH_CONNECTION (данные о соединении, которые мы преобразуем с помощью регулярных выражений чрезвычайно удобной утилитой sed).

Сюда же можно добавить и отправку сообщения на e-mail (sendmail) или jabber (sendxmpp).


Не забудьте также доставить нужные библиотеки, для Ubuntu это делается так:
sudo apt-get install libnotify-bin sox

Если есть ~/.ssh/rc, то выполнится он, а система работать не будет. Более того, для правильного выполнения эти скрипты ничего не должны выводить в stdout (на экран).

 

Комментариев нет:

Отправить комментарий