Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Безопасность в Linux - сервер ssh



Безопасность в Linux - сервер ssh


В данной статье пойдет речь о базовых методах безопасности сервера доступа по протоколу ssh в Linux


# Установка OpenSSH сервера и клиента

# Ubuntu
sudo apt update && sudo apt install openssh-server openssh-client

# CentOS
sudo dnf install openssh-server openssh-clients

# Примеры подключение к серверу (-v - подробный вывод)
ssh -p 22 username@server_ip
ssh -v -p 22 username@server_ip


# Используйте только актуальный протокол SSH версии 2
Protocol 2


# Управление демоном SSHd

# проверка статуса в Ubuntu
sudo systemctl status ssh

# проверка статуса в CentOS
sudo systemctl status sshd

# остановка, перезапуск, старт демона Ubuntu
sudo systemctl stop ssh
sudo systemctl restart ssh
sudo systemctl start ssh

# остановка, перезапуск, старт демона CentOS
sudo systemctl stop sshd
sudo systemctl restart sshd
sudo systemctl start sshd

# включение и выключение демона при загрузке ОС Ubuntu
sudo systemctl enable ssh
sudo systemctl disable ssh

# включение и выключение демона при загрузке ОС CentOS
sudo systemctl enable sshd
sudo systemctl disable sshd

# Проверить, включен ли демон при загрузке ОС Ubuntu
sudo systemctl is-enabled ssh

# Проверить, включен ли демон при загрузке ОС CentOS
sudo systemctl is-enabled sshd


# Защита демона SSHd

# Основной конфигурационный файл
/etc/ssh/sshd_config

# Вывести справку по всем параметрам
man sshd_config

# После изменения параметров необходимо перезагрузить сервер sshd Ubuntu
systemctl restart ssh

# После изменения параметров необходимо перезагрузить сервер sshd Centos
systemctl restart sshd

 

Основные параметры безопасности ssh

# Изменить стандартный порт 22 на другой, пример
Port 2212

# Отключить возможность входа под логином root
PermitRootLogin no

# Указать конкретные учетные записи, которым вход по ssh разрешен, пример
AllowUsers user1 user2 user3

# Если известно, с каких ip будет вход по ssh - ограничить доступ в брандмауэре
iptables -A INPUT -p tcp --dport 22 -s 1.1.1.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP


# Использовать только аутентификацию с открытым ключом, отключить аутентификацию по паролю

# Вывести неудачные попытки входа по ssh в систему Linux
lastb | tail

# проверить наличие существующих ключей SSH у текущей учетной записи:
ls -al ~/.ssh/id_*.pub

# Создать пару(приватный и публичный) SSH ключей в 4096 бит с адресом электронной почты
ssh-keygen -t rsa -b 4096 -C "email@domain.local"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):

# Должны появиться 2 ключа
ls ~/.ssh/id_*

# Скопировать открытый(public) ключ на удаленный сервер

# Вариант 1: Копирование открытого ключа с использованием идентификатора SSH-Copy-ID
ssh-copy-id username@remote_host

# Вариант 2: Копирование открытого ключа с помощью SSH
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

# Аутентификация на удаленном сервере с помощью SSH ключей
ssh username@server_ip

# Отключить возможность аутентификации по паролю в /etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no


# Защита от массового bruteforce

# проверки состояния клиента в секундах
ClientAliveInterval 100

# кол-во проверок состояния клиента без ответа, предел достигнут - sshd завершит сеанс
ClientAliveCountMax 3

# кол-во попыток аутентификации за сеанс, предел достигнут - sshd обрвет сеанс
MaxAuthTries 3

# кол-во неавторизованных подключений, длительность определяется параметром LoginGraceTime
MaxStartUps 3

# start:rate:full, где
# start – уже имеющееся количество неавторизованных подключений
# rate – процент вероятности отклонения попытки подключения
# full – максимальное количество неавторизованных соединений
# пример:
# если уже есть 3 неавторизованных подключения
# следующее будет отклонено с вероятностью 50%
# если количество неавторизованных подключений достигнет 5, следующие попытки будут отвергнуты

LoginGraceTime 3:50:5

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект