LinuxForum.Fans
Тема

IPTABLES-запретить apache из глобальной сети

Автор: alex_s 22 сообщений 4127 просмотров
#301463

ДД. Есть сервер. Debian 6. На нем стоит squid3, apache2, ssh, php. все работает. прокси не прозрачный порт 3128. Задача стоит в том что бы закрыть apache. Внешний IP=172.16.4.30(тестовый вариант) внутренняя сеть 192.168.0.0/24.

text
sudo iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -p tcp --dport 80 -j DROP

запрещает вход на веб-сервер, страницы не открываются.

text
sudo iptables -A INPUT -s 172.16.0.0/16 -d 172.16.4.30 -p tcp --dport 80 -j DROP

ни чего не запрещает, все как работало так и работает.

для примера пробовал закрыть ssh:

text
sudo iptables -A INPUT -s 172.16.0.0/16 -d 172.16.4.30 -p tcp --dport 22 -j DROP

закрывает подключение из вне.

text
 sudo netstat -npltu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1246/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1228/cupsd
tcp        0      0 192.168.0.3:3128        0.0.0.0:*               LISTEN      2372/(squid)
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1257/postgres
tcp6       0      0 :::80                   :::*                    LISTEN      3096/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      1246/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      1228/cupsd
udp        0      0 0.0.0.0:631             0.0.0.0:*                           1228/cupsd
udp        0      0 0.0.0.0:41638           0.0.0.0:*                           2372/(squid)
udp6       0      0 :::60253                :::*                                2372/(squid)

ports.conf

text
NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c> Listen 443 </IfModule>

<IfModule mod_gnutls.c> Listen 443 </IfModule>

#301464

В каком смысле закрыть апач?
Можно Listen 127.0.0.1:80 в конфиге апача прописать
Только не совсем понятно что именно вам нужно

#301466

Что бы из вне нельзя было открывать сайты и подключаться к серверу по 80 порту.

#301467
alex_s написал:
Что бы из вне нельзя было открывать сайты и подключаться к серверу по 80 порту.

Listen 127.0.0.1:80

#301468

или в .htaccess
order deny,allow
deny from all
allow from

#301469

ешё есть host.allow и host.deny

#301470
GoUpInSmoke написал:
[quote=alex_s]Что бы из вне нельзя было открывать сайты и подключаться к серверу по 80 порту.

Listen 127.0.0.1:80[/quote]

это только с самого сервера получается будет доступ.

#301472
text
sudo iptables -A INPUT -i ppp0 --dport 80 -j DROP

за место ppp0 поставьте ваш внешний интерфейс.

#301477
Kettler написал:
text
sudo iptables -A INPUT -i ppp0 --dport 80 -j DROP

за место ppp0 поставьте ваш внешний интерфейс.

Мне кажеться что hosts.allow и hosts.deny правильней. Там можно разрешать запрещать ip подсети и т.д. Потом если потребуется зайти на сервак извне. то можно просто доьавить ip в hosts.allow и всё ок. а так придёться открывать порт.

#301480
GoUpInSmoke написал:
[quote=Kettler]
text
sudo iptables -A INPUT -i ppp0 --dport 80 -j DROP

за место ppp0 поставьте ваш внешний интерфейс.

Мне кажеться что hosts.allow и hosts.deny правильней. Там можно разрешать запрещать ip подсети и т.д. Потом если потребуется зайти на сервак извне. то можно просто доьавить ip в hosts.allow и всё ок. а так придёться открывать порт.[/quote]
Кому как проще :)

#301483
Kettler написал:
text
sudo iptables -A INPUT -i ppp0 --dport 80 -j DROP

за место ppp0 поставьте ваш внешний интерфейс.

не помогает, так уже пробовал.

#301484

ээээээ.... как это не помогает? вы блокируете весь входящий трафик... Может вы не сохраняете правила? Опишите последовательность действий...

#301485
GoUpInSmoke написал:
[quote=Kettler]
text
sudo iptables -A INPUT -i ppp0 --dport 80 -j DROP

за место ppp0 поставьте ваш внешний интерфейс.

Мне кажеться что hosts.allow и hosts.deny правильней. Там можно разрешать запрещать ip подсети и т.д. Потом если потребуется зайти на сервак извне. то можно просто доьавить ip в hosts.allow и всё ок. а так придёться открывать порт.[/quote]

порт тоже желательно закрыть.

#301486
GoUpInSmoke написал:
ээээээ.... как это не помогает? вы блокируете весь входящий трафик... Может вы не сохраняете правила? Опишите последовательность действий...

правила автоматически начинают работать после их добавления. они сбрасываются только после перезагрузки если их не сохранить.

#301487
alex_s написал:
[quote=GoUpInSmoke]ээээээ.... как это не помогает? вы блокируете весь входящий трафик... Может вы не сохраняете правила? Опишите последовательность действий...

правила автоматически начинают работать после их добавления. они сбрасываются только после перезагрузки если их не сохранить.[/quote]
ну я собственно об этом и спросил :) может он iptables restart делает

#301488

ну я собственно об этом и спросил :) может он iptables restart делает

Он это кто?

#301490
alex_s написал:
ну я собственно об этом и спросил :) может он iptables restart делает

Он это кто?

Извиняюсь. Заработался :)

#301503
alex_s написал:
[quote=Kettler]
text
sudo iptables -A INPUT -i ppp0 --dport 80 -j DROP

за место ppp0 поставьте ваш внешний интерфейс.

не помогает, так уже пробовал.[/quote]
И не будет :)
Я щас буду давать вредные советы пользуйтесь на свой страх и риск:

Очень вредно без знания iptables. На свой страх и риск.

text
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
Тут пишем кучу правил

Либо можно пробнуть так. Менее вредный, неуверен что будет вообще работать.

text
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DROP
Войдите или зарегистрируйтесь, чтобы ответить.