Intereting Posts

Блокировать все IP-адреса от доступа к чему-либо на сервере

Я хочу заблокировать все IP-адреса, кроме собственного собственного IP-адреса, от каких- либо действий на моем сервере.

Как я могу сделать это с помощью iptables? Например, можно сказать, что мой домашний IP – это 1.2.3.4

Мой сервер по-прежнему должен иметь возможность подключаться к различным IP-адресам. Кроме того, делая это, это вызовет общие проблемы?

Что-то вроде этого? (не работает)

/sbin/iptables -A INPUT -s 1.2.3.4 -j ACCEPT iptables -A INPUT -s 0.0.0.0/0 -j DROP iptables -A OUTPUT -d 0.0.0.0/0 -j DROP 

Оставьте цепь OUTPUT нетронутой. Поместите их в цепочку INPUT

 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -s 1.2.3.4 -j ACCEPT iptables -A INPUT -j DROP # or REJECT 

Первое правило позволяет вашей конфигурации iptables принимать трафик для установленных подключений (т. Е. Инициированных вашим собственным сервером в другие пункты назначения).

Вы можете использовать /etc/hosts.deny и /etc/hosts.allow .

/etc/hosts.allow :

 ALL: allowed_ip 

/etc/hosts.deny :

 ALL: ALL 

Эта конфигурация позволяет получить доступ к вашему серверу только с разрешенного ip (это может быть проблемой в некоторых случаях). Возможно, вам нужно использовать какой-либо firewall чтобы указать доступ к вашему серверу.

Но выше не будет обрабатывать запросы httpd и ICMP, вы можете попробовать следующее:

 # Allow your server to other destinations iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Default Policy to DROP all incoming traffic iptables -P INPUT DROP # Allow traffic from source 1.2.3.4 # Add an additional rule for each allowed source iptables -A INPUT -s 1.2.3.4 -j ACCEPT