В организации 3826 для управления сервером администратор решил разрешить доступ до него только со своего компьютера с адресом 10.1.2.3 по защищенному протоколу ssh. Создайте такое входящее правило
Ответ нейросети
23 октября 2025 08:37
Задача понятна: разрешить вход SSH только с компьютера с IP 10.1.2.3. Ниже приведены варианты реализации под разные распространённые системы. Выберите тот, который у вас на сервере.
Важно по условиям задачи
- SSH по умолчанию слушает порт 22 (если у вас другой порт — используйте его в правилах).
- Убедитесь, что IP 10.1.2.3 действительно ваш внешний/источник подключения (через VPN или NAT адрес может быть другим).
- Лучше сначала проверить на тестовом сеансе, чтобы не потерять удалённый доступ.
Вариант A. Linux с iptables (универсально по Linux)
- Цель: разрешить только from 10.1.2.3 на порт 22, остальные соединения к 22 блокируем.
- Команды (выполняйте от имени root или через sudo):
- Разрешить уже установленные соединения: sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
- Разрешить новые соединения SSH только от 10.1.2.3: sudo iptables -A INPUT -p tcp -s 10.1.2.3 --dport 22 -m conntrack --ctstate NEW -j ACCEPT
- Заблокировать входящие SSH с любых других адресов: sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- Сохранение правил (зависит от дистрибутива):
- Debian/Ubuntu: sudo sh -c "iptables-save > /etc/iptables/rules.v4" (или установить пакет iptables-persistent и сохранить)
- RHEL/CentOS: sudo service iptables save
- Примечание: если вы используете IPv6, добавьте аналогичные правила для ip6tables.
Вариант B. Linux с ufw (Ubuntu, Debian)
- Предпосылка: ufw работает как простой фронтенд к iptables.
- Команды:
- Установите политику по умолчанию: sudo ufw default deny incoming
- Разрешите SSH только от 10.1.2.3: sudo ufw allow from 10.1.2.3 to any port 22 proto tcp
- Включите ufw: sudo ufw enable
- Примечание: при настройке через ufw не добавляйте общие правила для SSH.
Вариант C. Linux с firewalld (RHEL, CentOS, Fedora)
- Цель: аналогично — разрешить SSH только с 10.1.2.3.
- Команды:
- Добавьте исключение для конкретного источника: sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.1.2.3/32" port protocol="tcp" port="22" accept'
- Перезагрузите конфигурацию: sudo firewall-cmd --reload
- Примечание: по умолчанию другие входящие соединения к порту 22 будут отклоняться, если в зоне включён дефолт-лонк deny (проверьте текущие правила зонах).
Вариант D. Windows Server (Windows Firewall)
- Цель: разрешить вход SSH только с IP 10.1.2.3 (при условии, что SSH-сервис установлен и слушает порт 22, например OpenSSH Server на Windows).
- Команды PowerShell (администратор):
- Разрешить входящее SSH только от нужного источника: New-NetFirewallRule -DisplayName "SSH from 10.1.2.3" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress 10.1.2.3 -Action Allow
- Убедитесь, что политика по умолчанию блокирует входящие на порт 22 с прочих адресов (обычно уже сделано).
- Дополнительно: настоятельно рекомендуется отключить аутентификацию по паролю и включить SSH-ключи, а также ограничить доступ к SSH по времени/двум факторам.
Дополнительные рекомендации по безопасности
- Подтвердите, что IP 10.1.2.3 статичен (или используйте VPN/тunnel, чтобы источником был известный адрес).
- Рассмотрите использование ключей SSH вместо пароля, отключение входа под root, и включение ограничения по времени или по попыткам (fail2ban-scale).
- Если сервер находится за NAT, убедитесь, что внешний источник — это именно IP 10.1.2.3 или VPN-узел, который вы контролируете.
- Регулярно перебирайте журналы SSH (journalctl, /var/log/auth.log, или аналог) и настройте мониторинг попыток входа.
Проверка работоспособности
- Из компьютера с IP 10.1.2.3 попробуйте: ssh your_user@server_ip
- Из другого IP попробуйте не допускать подключение: повторная попытка должна заканчиваться отказом.
- Убедитесь, что SSH действительно работает на нужном порту (если вы изменяли порт — используйте его).
Если скажете, какая именно операционная система у вашего сервера (например, Ubuntu 22.04, CentOS 8, Windows Server 2019 и т. д.), могу привести более точные команды под ваш дистрибутив и дать рекомендации по сохранению правил между перезагрузками.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



