Как я могу сделать так, чтобы только утвержденные IP-адреса имели доступ к моему серверу Ubuntu 12.04, я только что его настроил.
Вы можете добиться этого с помощью следующих команд, если у вас есть 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
ВСЕ: 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.