Князь 355 Опубликовано 12 марта, 2013 Приветствую. 1 Вопрос по части iptables'a создал фаил iptables.sh с таким содержанием # очищаем правила /sbin/iptables -F /sbin/iptables -t nat -F /sbin/iptables -t mangle -F # other network protection echo 1 > /proc/sys/net/ipv4/tcp_syncookies # enable syn cookies (prevent against the common 'syn flood attack') echo 0 > /proc/sys/net/ipv4/ip_forward # disable Packet forwarning between interfaces echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # ignore all ICMP ECHO and TIMESTAMP requests sent to it via broadcast/multicast echo 1 > /proc/sys/net/ipv4/conf/all/log_martians # log packets with impossible addresses to kernel log echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses # disable logging of bogus responses to broadcast frames echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter # do source validation by reversed path (Recommended option for single homed hosts) echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects # don't send redirects echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route # don't accept packets with SRR option # запрещаем все /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT DROP # drop Bad Guys /sbin/iptables -A INPUT -m recent --rcheck --seconds 60 -m limit --limit 10/second -j DROP # drop unwanted services /sbin/iptables -A INPUT -m multiport -p tcp --dports 25,110,111,119,143,465,563,587,993,995 -j DROP /sbin/iptables -A INPUT -m multiport -p tcp --dports 25,110,111,119,143,465,563,587,993,995 -j DROP # accept everything from loopback /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT # disable ping /sbin/iptables -A INPUT -p icmp -j DROP # internet (established and out) /sbin/iptables -A OUTPUT -o eth0 -j ACCEPT /sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # открываем порт логина 2106 /sbin/iptables -I INPUT -p tcp --dport 228 -j ACCEPT # закрываем порт гейм сервера 7777 /sbin/iptables -A INPUT -p tcp --dport 10000 -j DROP ### # прочие разрешения ## коннект к БД, порт 3306 # запрет для всех остальных /sbin/iptables -I INPUT -p tcp --dport 3306 -j DROP # разрешить следующим IP iptables -I INPUT -p tcp -s XX.XX.XX.X1 --dport 3306 -j ACCEPT iptables -I INPUT -p tcp -s XX.XX.XX.X2 --dport 3306 -j ACCEPT iptables -I INPUT -p tcp -s XX.XX.XX.X3 --dport 3306 -j ACCEPT iptables -I INPUT -p tcp -s XX.XX.XX.X4 --dport 3306 -j ACCEPT ## коннект к SSH, порт 22 # запрет для всех остальных /sbin/iptables -I INPUT -p tcp --dport 22 -j DROP # разрешить следующим IP /sbin/iptables -I INPUT -p tcp --dport 22 -s XX.XX.XX.X1 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 22 -s XX.XX.XX.X2 -j ACCEPT Где XX.XX.Xn это ип-адреса. Выдаю все права на фаил iptables.sh после его запуска без проблем конектится на дц только XX.XX.XX.X1 по всем портам, а все айпи то, что ниже не могут подключиться на 22 порт. Если XX.XX.XX.X2 сделает конект на 3306 порт то только после этого он сможет зайти на 22 порт. В чем может быть проблема и как ее грамотней устранить? Помогите... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 56 Опубликовано 12 марта, 2013 Не вариант просто разрешить доступ полный IP адресу? iptables -A INPUT -s XX.XX.XX.X2 -j ACCEPT 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Князь 355 Опубликовано 12 марта, 2013 (изменено) т.е после этого # открываем порт логина 2106 /sbin/iptables -I INPUT -p tcp --dport 228 -j ACCEPT # закрываем порт гейм сервера 7777 /sbin/iptables -A INPUT -p tcp --dport 10000 -j DROP 1)Можно прописать iptables -A INPUT -s XX.XX.XX.X1 -j ACCEPT iptables -A INPUT -s XX.XX.XX.X2 -j ACCEPT iptables -A INPUT -s XX.XX.XX.X3 -j ACCEPT iptables -A INPUT -s XX.XX.XX.X4 -j ACCEPT и все будет в норме у каждого ип-адреса? 2)Можно ли в iptables.sh прописать iptables -A INPUT -s domen1.no-ip.com -j ACCEPT iptables -A INPUT -s domen2.no-ip.com -j ACCEPT Изменено 12 марта, 2013 пользователем Князь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 56 Опубликовано 12 марта, 2013 1 замечание: # запрещаем все /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT DROP # drop unwanted services /sbin/iptables -A INPUT -m multiport -p tcp --dports 25,110,111,119,143,465,563,587,993,995 -j DROP /sbin/iptables -A INPUT -m multiport -p tcp --dports 25,110,111,119,143,465,563,587,993,995 -j DROP Масло масляное получается.. Запрещаем уже запрещенное... По 1му: Да,все будет ок. По 2му, скорее всего нету,iptables не умеет работать с доменными именами. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Князь 355 Опубликовано 12 марта, 2013 Плохо, как быть тогда если у меня ип-адрес изменится а скрипт уже запущен?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HECKBuK 229 Опубликовано 12 марта, 2013 Плохо, как быть тогда если у меня ип-адрес изменится а скрипт уже запущен?) доступ по маске как вариант Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 56 Опубликовано 12 марта, 2013 Плохо, как быть тогда если у меня ип-адрес изменится а скрипт уже запущен?) Прокси сервер,как вариант. Для истенных извращенцев,можно скрипт написать,который раз в минуту будет парсить IP адрес,и добавлять его в iptables,если тот изменился. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexZr 95 Опубликовано 12 марта, 2013 Плохо, как быть тогда если у меня ип-адрес изменится а скрипт уже запущен?) диапазон вашей сети загоните Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Князь 355 Опубликовано 12 марта, 2013 92.37.223.128 - 92.37.223.255 но как я понял диапозон не верный т.к у меня бывает ип начинается с 95 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexZr 95 Опубликовано 18 марта, 2013 92.37.223.128 - 92.37.223.255 но как я понял диапозон не верный т.к у меня бывает ип начинается с 95 типа так 92.37.128.0/17 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты