Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 23 октября 2025 08:37

В организации 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):
    1. Разрешить уже установленные соединения: sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    2. Разрешить новые соединения SSH только от 10.1.2.3: sudo iptables -A INPUT -p tcp -s 10.1.2.3 --dport 22 -m conntrack --ctstate NEW -j ACCEPT
    3. Заблокировать входящие 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.
  • Команды:
    1. Установите политику по умолчанию: sudo ufw default deny incoming
    2. Разрешите SSH только от 10.1.2.3: sudo ufw allow from 10.1.2.3 to any port 22 proto tcp
    3. Включите ufw: sudo ufw enable
  • Примечание: при настройке через ufw не добавляйте общие правила для SSH.

Вариант C. Linux с firewalld (RHEL, CentOS, Fedora)

  • Цель: аналогично — разрешить SSH только с 10.1.2.3.
  • Команды:
    1. Добавьте исключение для конкретного источника: 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'
    2. Перезагрузите конфигурацию: sudo firewall-cmd --reload
  • Примечание: по умолчанию другие входящие соединения к порту 22 будут отклоняться, если в зоне включён дефолт-лонк deny (проверьте текущие правила зонах).

Вариант D. Windows Server (Windows Firewall)

  • Цель: разрешить вход SSH только с IP 10.1.2.3 (при условии, что SSH-сервис установлен и слушает порт 22, например OpenSSH Server на Windows).
  • Команды PowerShell (администратор):
    1. Разрешить входящее SSH только от нужного источника: New-NetFirewallRule -DisplayName "SSH from 10.1.2.3" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress 10.1.2.3 -Action Allow
    2. Убедитесь, что политика по умолчанию блокирует входящие на порт 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 и т. д.), могу привести более точные команды под ваш дистрибутив и дать рекомендации по сохранению правил между перезагрузками.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

В организации 3826 для управления сервером администратор решил разрешить доступ до него только со своего компьютера с адресом 10.1.2.3 по защищенному протоколу ssh. Создайте такое входящее правило
Задача понятна: разрешить вход 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): 1) Разрешить уже установленные соединения: sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 2) Разрешить новые соединения SSH только от 10.1.2.3: sudo iptables -A INPUT -p tcp -s 10.1.2.3 --dport 22 -m conntrack --ctstate NEW -j ACCEPT 3) Заблокировать входящие 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. - Команды: 1) Установите политику по умолчанию: sudo ufw default deny incoming 2) Разрешите SSH только от 10.1.2.3: sudo ufw allow from 10.1.2.3 to any port 22 proto tcp 3) Включите ufw: sudo ufw enable - Примечание: при настройке через ufw не добавляйте общие правила для SSH. Вариант C. Linux с firewalld (RHEL, CentOS, Fedora) - Цель: аналогично — разрешить SSH только с 10.1.2.3. - Команды: 1) Добавьте исключение для конкретного источника: 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' 2) Перезагрузите конфигурацию: sudo firewall-cmd --reload - Примечание: по умолчанию другие входящие соединения к порту 22 будут отклоняться, если в зоне включён дефолт-лонк deny (проверьте текущие правила зонах). Вариант D. Windows Server (Windows Firewall) - Цель: разрешить вход SSH только с IP 10.1.2.3 (при условии, что SSH-сервис установлен и слушает порт 22, например OpenSSH Server на Windows). - Команды PowerShell (администратор): 1) Разрешить входящее SSH только от нужного источника: New-NetFirewallRule -DisplayName "SSH from 10.1.2.3" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress 10.1.2.3 -Action Allow 2) Убедитесь, что политика по умолчанию блокирует входящие на порт 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 и т. д.), могу привести более точные команды под ваш дистрибутив и дать рекомендации по сохранению правил между перезагрузками.