Титла: Apache host allow/deny Публикувано от: anakinn в Apr 28, 2006, 10:21 Здравейте.
Ползвам Apache/2.0.54 + Linux Gentoo 2005.1 Апачето ползва mod_php & mod_ssl. Искам да направя ограничения по ip адреси. Всички да са deny, с изключение на някои описани от мен. Въпроса ми е как да го направя. От някой конфигурационен файл на апачето? През някой системен файл или от firewall - нещо от типа на: $ipt -A INPUT -p tcp -s 192.168.1.2 --dport 443 -j ACCEPT $ipt -A INPUT -p tcp -s 192.168.1.3 --dport 443 -j ACCEPT и т.н. Благодаря. Титла: Apache host allow/deny Публикувано от: Hapkoc в Apr 28, 2006, 10:53 Само да питам - интересува те технически как може да стане или кое е по-добрия вариант?
Титла: Apache host allow/deny Публикувано от: anakinn в Apr 28, 2006, 11:00 И двете, но предпочитам по-добрия вариант.
Титла: Apache host allow/deny Публикувано от: martos в Apr 28, 2006, 11:07 .htaccess?
Титла: Apache host allow/deny Публикувано от: astronom в Apr 28, 2006, 11:19
По-добрият вариант, но от каква гледна точка? Ако например гледната ти точка е производителност на web сървъра, за предпочитане е да отхвърляш пакетите с iptables, за да не товариш сървъра с проверки. Ако идеята ти е гъвкавост, може би по-добрия вариант е с .htascces, защото той се чете всеи път при зареждане на страницата, променя се лесно и не е необходимо да манипулираш iptables. Титла: Apache host allow/deny Публикувано от: anakinn в Apr 28, 2006, 14:42 Не съм много наясно - .htaccess - създава се файл в директорията на апачето ?
Струва ми се че по-лесния вариант е с iptables (поне за мен), но ще се опитам да разбера и за .htaccess-а. Титла: Apache host allow/deny Публикувано от: Hapkoc в Apr 28, 2006, 15:14 В .htaccess файла се описват настройки на Apache за определена директория. Файлът се слага в директорията, за която искаш да промениш настройките, т.е. ако искаш да ограничиш достъпа до някоя поддиректория от сайта ти, който се намира в /var/www например, слагаш .htaccess в /var/www/direktoriata-koato-iskash-da-ogranichish/.htaccess.
При всяка заявка към тази директория Apache ще прочита .htaccess файла и ще прилага описанията в него. Важно е да се отбележи, че за да има ефект, трябва AllowOverride директивата да е подходящо настроена, например AllowOverride All ще рече, че можеш да променяш всички настройки през .htaccess файла. За повече информация: http://httpd.apache.org/docs/2.0/howto/htaccess.html http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride Титла: Apache host allow/deny Публикувано от: voyager в Apr 29, 2006, 09:37 А защо не ограничиш направо порта да се вижда от хостовете, от които искаш да се вижда? (с iptables например). По лесно е, и е и малко по-сигурно - никой (от тия дето нямат достъп) не може да runn-не експлойт срещу apache-то ти.
$ipt -A INPUT -p tcp -s 192.168.1.2 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT да, нещо такова, само че порт 80 е default за http. А, и освен това - default-policy-то... нали е DROP? иначе това губи смисъл ![]() iptables -P INPUT DROP Титла: Apache host allow/deny Публикувано от: Hapkoc в Apr 29, 2006, 10:15 Добре де, защо наистина всички слагат DROP политика, вместо REJECT? При DROP не се връща никакъв отговор на заявката и хоста, който се опитва да се свърже прави опити да се свърже в зависимост от net.ipv4.tcp_syn_retries параметъра (или аналогичен за други операционни системи), което пък ще генерира излишен трафик.
Не виждам как повишава сигурността факта, че не се връща никакъв отговор на заявката за връзка. При REJECT на връзката изглежда все едно няма демон, който да слуша на порта, докато при DROP изглежда, че няма връзка с хоста. Ако има отворени за света портове или ICMP Echo не е блокирано веднага се вижда какво точно се случва. Титла: Apache host allow/deny Публикувано от: VladSun в Apr 29, 2006, 12:16 @Наркос
Наистина, като може да се ползва TARPIT ![]() ![]() Титла: Apache host allow/deny Публикувано от: anakinn в May 02, 2006, 10:15 Слагам порт 443, защото сайта е https.
Засега ползвам начина с .htaccess. А това е част от моят firewall: $ipt -F $ipt -X $ipt -t nat -X $ipt -t nat -F $ipt -t mangle -X $ipt -t mangle -F $ipt -P INPUT DROP $ipt -P OUTPUT ACCEPT $ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $ipt -A INPUT -i lo -j ACCEPT $ipt -A INPUT -p tcp --dport 443 -j ACCEPT $ipt -A INPUT -p tcp --dport 80 -j ACCEPT $ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT |