Поддерживает ли брандмауэр марионетки строковый модуль? Мне нужна помощь в реализации следующих правил iptables в марионетке, но я не могу найти документацию или примеры того, как это сделать.
iptables -I INPUT -p udp -m udp --dport 5060 -m string --string "User-Agent: VaxSIPUserAgent" --algo bm --to 65535 -j DROP
iptables -I INPUT -p udp -m udp --dport 5060 -m string --string "User-Agent: friendly-scanner" --algo bm --to 65535 -j REJECT --reject-with icmp-port-unreachable
iptables -I INPUT -p udp -m udp --dport 5060 -m string --string "REGISTER sip:" --algo bm -m recent --set --name VOIP --rsource
iptables -I INPUT -p udp -m udp --dport 5060 -m string --string "REGISTER sip:" --algo bm -m recent --update --seconds 60 --hitcount 12 --rttl --name VOIP --rsource -j DROP
iptables -I INPUT -p udp -m udp --dport 5060 -m string --string "INVITE sip:" --algo bm -m recent --set --name VOIPINV --rsource
iptables -I INPUT -p udp -m udp --dport 5060 -m string --string "INVITE sip:" --algo bm -m recent --update --seconds 60 --hitcount 12 --rttl --name VOIPINV --rsource -j DROP
iptables -I INPUT -p udp -m hashlimit --hashlimit 6/sec --hashlimit-mode srcip,dstport --hashlimit-name tunnel_limit -m udp --dport 5060 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 5060 -j DROP
Вот пример, но сначала вам нужно скачать puppet-firewall
firewall { 'your_rule':
string => "INVITE sip:",
string_algo => "bm"
}
Сам Puppet не имеет такого ресурса, как iptables / firewall из коробки.
Для управления iptables / firewall вы можете использовать выкл. модуль из кукольных лабораторий
В качестве альтернативы вы можете создать свой собственный модуль (который обрабатывает вашу конфигурацию iptables) с помощью Augeas так как тип ресурса