Назад | Перейти на главную страницу

Настройка фильтрации на основе локального IP-адреса с помощью OpenSSH в Ubuntu

Приветствую,

администратор сервера нашей компании внезапно ушел, оставив остальных из нас, ИТ-специалистов, в некоторой степени невежественных в отношении Linux, настройки серверов и прочего. Настройка выглядит следующим образом:

Наш локальный сервер, который мы используем для разработки и в качестве туннеля безопасности, через который мы достигаем наших действующих серверов в Германии, находится на первом этаже нашей компании. На нем установлены Ubuntu и OpenSSH. Он содержит наш репозиторий SVN и обновления наших живых серверов с этого сервера. У него установлен dyndns, и он отлично работает. Рабочий процесс обновления таков: внесение изменений, фиксация, SSH на локальный сервер как пользователь root, SSH на живые серверы, выполнение обновления. Все это прекрасно работает через dyndns, и раньше отлично работало через нашу локальную сеть -> пока мы были на первом этаже (с сервером), у нас была какая-то фильтрация на основе IP. Из 5 WAN в компании только наша могла подключаться к серверу по SSH. Однако теперь мы переехали на второй этаж, и сервер ведет себя так, как будто он нас не знает. Я предполагаю, что локальный IP-адрес изменился, когда мы переключили кабели от одной части коммутатора в стойке к другой части (разные части коммутатора находятся на разных IP-адресах? Полагаю, что да ...), и теперь мы не можем использовать SSH для это локально (dyndns все еще работает). Люди, которые заняли наш заброшенный офис, могут подключиться к нему по SSH, как и мы, но не должны.

Вопрос в следующем -> где и как настроить фильтрацию на основе локального IP для SSH-соединений на локальном сервере? Я прочитал несколько руководств по SSH, прогулялся по файлу sshd_config и тому подобному и ничего не нашел. Если вы можете мне помочь, пожалуйста, будьте конкретны, я совершенно не понимаю весь процесс, поэтому слова вроде «сгенерируйте открытый ключ и загрузите его на машину» просто запутают меня :)

Огромное спасибо..

Редактировать:

netstat -plutn | grep sshd

tcp 0 0 0.0.0.0:22 0.0.0.0:* СЛУШАТЬ 758 / sshd
tcp6 0 0 ::: 22 ::: * СЛУШАТЬ 758 / sshd

iptables -n -L

Цепочка INPUT (policy ACCEPT) target prot opt ​​source destination

Цепочка FORWARD (policy ACCEPT) target prot opt ​​source destination

Цепочка OUTPUT (policy ACCEPT) target prot opt ​​source destination

SSHD_config

HostbasedAuthentication нет

IgnoreUserKnownHosts да

ListenAddress ::

ListenAddress 0.0.0.0

Соответствие -> не указано, строка не существует

Изменить 2: проблема решена.

Это была обычная старая человеческая ошибка. Парень, который соединил нашу стойку на первом этаже со вторым этажом, вообще этого не делал. Он фактически перенаправил розетку Ethernet на их собственный коммутатор и сказал нам, что сделал это. Таким образом, мы были в сети, но через их сеть. Сегодня вошел более молодой сетевой администратор здания, и когда я спросил его об этом, он разочарованно вздохнул и подключил все так, как должно было быть подключено в первую очередь. Теперь все отлично.

вы должны проверить, какие интерфейсы слушает sshd

netstat -plutn | grep sshd

и ты должен проверить iptables правила для входящих подключений на 22 порт.

также проверьте sshd_config:

HostbasedAuthentication
IgnoreUserKnownHosts
ListenAddress
Match

Никакой фильтрации не было. Это была человеческая ошибка, как указано в отредактированном содержании вопроса. Думаю, мне придется однажды все разобрать и изучить этот материал, чтобы избавить себя от лишней траты времени и смущения.

Спасибо MealstroM за приложенные усилия!