Подготовка ключей:
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 (на экран).
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 (на экран).
Комментариев нет:
Отправить комментарий