Ubuntu разрешает входящий доступ только с 192.168.0.0/8 или IP-адреса сервера
Как я могу сделать так, чтобы только одобренные IP-адреса имели доступ к моему серверу Ubuntu 12.04 Я только настроил его.
3 ответа
Вы можете достичь этого с помощью следующих команд, если у вас есть UFW
установить:
Чтобы разрешить использование определенного IP-адреса,
sudo ufw allow from XXX.XXX.XXX.XXX
Для разрешения определенной подсети мы вызываем маску сети и используем,
sudo ufw allow from XXX.XXX.XXX.XXX/XX
Чтобы разрешить использовать определенный порт и IP-адрес, который вы можете использовать,
sudo ufw allow from XXX.XXX.XXX.XXX to AAA port YY
Пожалуйста, обратитесь к документации сообщества для предварительной помощи.
Используя tcpwrappers,
/etc/hosts.deny проверяется перед /etc/hosts.allow, так что вы можете перейти
hosts.deny
ВСЕ: ВСЕ
во-первых, мы блокируем все от всех,
hosts.allow
ALL: localhost
sshd: 192.168.0.2
это означает, что только 192.168.0.2 в вашей локальной сети может получить доступ к ssh-серверу на этой машине.
Это будет достигнуто с iptables
(netfilter), встроенная утилита брандмауэра для Linux.
В зависимости от того, что вы делаете со своим сервером (и что вы обслуживаете), это необходимо (тщательно) настроить, чтобы разрешить соответствующий трафик.
На официальном справочном сайте Ubuntu есть хорошее руководство по этому вопросу, а также UFW ( несложный брандмауэр), встроенный в Ubuntu для работы с основами. Например, если вы хотите разрешить доступ по SSH (TCP 22) только с 10.0.0.15, вы должны сделать это:
sudo ufw allow proto tcp from 10.0.0.15 to any port 22
Вы также можете использовать один из нескольких удобных генераторов правил iptables для генерации всего набора правил iptables.
Другое предложение (особенно если этот хост Ubuntu будет в Интернете) будет состоять в использовании пар ключей SSH для аутентификации вместо паролей; Я также отключил бы root-логины.
Стоит отметить - чтобы перехватить частный диапазон адресов (RFC1918), вы, вероятно, хотите 192.168.0.0/16, -not- /8.