Блокировка удаленного входа

Прошлой ночью я закрывал свой сервер и увидел сообщение, спрашивающее, хочу ли я закрыть сеанс "pts / 0". Странно, подумал я. Поэтому я снова вошел в систему и выполнил finger и увидел, что кто-то вошел в систему с удаленного IP-адреса (итальянский адрес), и они выполняли много команд scanssh. Они также изменили пароль для учетной записи, в которую они вошли (это была учетная запись моего ребенка, и пароль был легко угадать - ему только 6!).

Хорошо, поэтому я оставил некоторые порты открытыми - моя вина полностью. Мне повезло, что аккаунт ограничен. Был также файл с именем W2ksp3.exe (или что-то похожее) в домашней папке учетной записи. Поэтому я предполагаю, что кто-то использовал мой сервер для поиска компрометированных компьютеров с Windows.

Итак, моя сеть выглядит следующим образом:

internet-eth0-server-eth1-LAN

и это был взломанный сервер. Сервер использует dnsmasq для поиска DNS и сервер DHCP для локальной сети.

Это приводит меня к двум вопросам:

  1. Как настроить брандмауэр (iptables?) Для блокировки всего на eth0, кроме http, исходящего ftp, e- почта и все остальное, что нужно для доступа в Интернет?

  2. Как мне остановить вход через eth0, но разрешить через eth1

2
задан 20 December 2010 в 13:04

5 ответов

Чтобы отключить SSH на определенных интерфейсах, выполните следующие действия:

Сначала найдите IP-адрес сервера на eth1, используя ifconfig или другой метод. Это может быть, например, 192.168.0.12.

Откройте файл /etc/ssh/sshd_config (sudo nano /etc/ssh/sshd_config) и добавьте к нему следующую строку:

#ListenAddress 0.0.0.0

(что означает «прослушать все интерфейсы») к этому:

ListenAddress 192.168.0.12
[ 1112] (что означает «только прослушивать соединения с интерфейса, которому принадлежит этот IP»).

Затем перезапустите сервер SSH:

sudo /etc/init.d/ssh restart

Теперь он должен принимать соединения только от этого интерфейса.

0
ответ дан 20 December 2010 в 13:04

Для первого вопроса вам необходимо настроить брандмауэр. Если ваш сервер полностью открыт для Интернета, это настоятельно рекомендуется. Возможно, вы захотите взглянуть на Ubuntu Wiki . Если у вас есть маршрутизатор, он может сделать это за вас.

Во второй части вы можете настроить sshd на прослушивание только локальных адресов. Это, конечно, при условии, что ваш eth1 имеет статический ip. В вашем /etc/ssh/sshd_config измените строку ListenAddress. Он должен выглядеть как ListenAddress 10.10.0.1:22, где вы заменяете статический IP-адрес eth1.

А зачем вашему 6-летнему ребенку нужен доступ к вашему серверу в оболочке?

0
ответ дан 20 December 2010 в 13:04

Хорошие ответы до сих пор, но я также добавил бы, что создание маршрутизатора между вашим сервером и остальной частью Интернета, вероятно, не плохая идея, если у вас действительно нет веских причин не делать этого. Если ничто иное, как дверь в вашем доме / квартире / месте жительства / жилище - это препятствует людям бродить и осматриваться, даже если им нечего видеть.

0
ответ дан 20 December 2010 в 13:04

Я поддерживаю рекомендации по установке маршрутизатора между вашим сервером и Интернетом. Это простой способ получить первую линию обороны.

Если вы когда-нибудь захотите включить ssh извне, рекомендуется отключить аутентификацию по паролю и оставить только аутентификацию с открытым ключом. Таким образом, вы защищены от попыток подбора пароля: ssh можно использовать только в учетной записи, для которой вы намеренно создали файл authorized_keys, и только в том случае, если злоумышленник каким-либо образом получил ваш закрытый ключ. (Вы по-прежнему уязвимы для удаленных уязвимостей в OpenSSH, но они крайне редки и обычно исправляются быстро.)

Убедитесь, что в /etc/ssh/sshd_config установлены следующие параметры:

PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
0
ответ дан 20 December 2010 в 13:04

Просто закройте порт, открытый для публики. Обычно это контролируется маршрутизатором, который вы используете. В случае ssh это порт 22.

0
ответ дан 20 December 2010 в 13:04

Другие вопросы по тегам:

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