- Блоги
- Вебмастер
- VPS
- SHH
SSH
подключение к серверу
Сетевой протокол для удалённого управления. Шифрует весь трафик...
PuTTY. Используем инсталлятор (например для 64-битной: putty-64bit-0.78-installer.msi), скачиваем с официального сайта: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Для подключения надо знать ip адрес, логин и пароль. Порт по-умолчанию равен 22.
Команда копировать: Ctrl Insert
Команда вставить: Shift Insert (или правый клик мышки)
WinSCP - проводник. Для подключения надо знать ip адрес, логин и пароль. Порт по-умолчанию равен 22. Протокол SFTP и т.д. Есть командная строка и кнопка запуска PuTTY.
BvSshClient - тут и терминал и проводник
После подключения к серверу:
- sudo -s - Повышаем наши права в системе
- apt update && apt upgrade -y - Обновляем систему
- apt install ufw git nmap nano curl net-tools -y - Устанавливаем дополнительные компоненты, где:
- ufw - надстройка над iptables, упрощает настройку файрволла сервера.
- git - часто необходим для скачивания и развертывания программ на сервере, лишним не будет.
- nmap - для 'простукивания' портов, помогает проверить что на сервере лишние порты не открыты.
- nano - редактор текстовый
- net-tools - сюда входит популярный ifconfig и netstat, часто облегчает работу.
- curl - для выполнения http запросов прямо из консоли.
Порты
- sudo iptables -F && iptables -A INPUT -p TCP --dport 22 -j ACCEPT - удалить все правила iptables, но сразу откроем 22 порт SSH
Запретим на все соединения, кроме исходящих. И сделаем некоторые исключения:
- iptables -P INPUT DROP && iptables -P FORWARD DROP && iptables -P OUTPUT ACCEPT && iptables -A INPUT -i lo -j ACCEPT && iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT && iptables -A INPUT -p TCP --dport 22 -j ACCEPT
где:
- iptables -P INPUT DROP - Запрет все входящие соединения
- iptables -P FORWARD DROP - Запрет все перенаправления
- iptables -P OUTPUT ACCEPT - Разрешить все исходящие соединения
- iptables -A INPUT -i lo -j ACCEPT - Разрешить входящие соединения с localhost
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT - Разрешить входящие соединения, которые уже были установлены
- iptables -A INPUT -p TCP --dport 22 -j ACCEPT - открываем порт 22 для SSH
Или с защитой SSH от брутфорса (подбора пароля). Первые пять правил описаны выше, а последние два правила после неверной попытки подключения блокируют новые попытки в течение 20 секунд:
- iptables -P INPUT DROP && iptables -P FORWARD DROP && iptables -P OUTPUT ACCEPT && iptables -A INPUT -i lo -j ACCEPT && iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT && iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 20 -j DROP && iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT
iptables -L -v -n - проверить конфигурацию
Замена порта SSH
Лучше всего настроить и использовать авторизацию по ключу вместо авторизации по паролю. При использовании пароля по умолчанию SSH использует порт 22, поэтому для повышения безопасности и предотвращения перебора паролей SSH можно изменить номер порта SSH на любое случайное число в диапазоне от 1025 до 65535:
- В файле /etc/sshd/sshd_config найти #Port 22 и удалить решётку изменить порт на любой, например на Port 1234
Fail2ban - утилита для защиты SSH порта, отслеживает и банит по IP при пяти неправильных ввода пароля.