Я использую АТС Asterisk на виртуальной машине, напрямую подключенной к Интернету, и я действительно хочу предотвратить доступ к моему серверу сценаристов, l33t h4x0rz и реальных хакеров. Основной способ защитить мой счет за вызовы - это использовать 32-символьные пароли, но я бы предпочел способ защиты

Сценарий брандмауэра, который я сейчас использую, описан ниже, однако без установленного правила брандмауэра подключения (упомянутое правило № 1) я не могу получать входящее аудио от цели во время исходящих вызовов:

#!/bin/bash

# first, clean up!
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP # we're not a router
iptables -P OUTPUT ACCEPT

# don't allow invalid connections
iptables -A INPUT -m state --state INVALID -j DROP

# always allow connections that are already set up (MENTIONED RULE #1)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# always accept ICMP
iptables -A INPUT -p icmp -j ACCEPT

# always accept traffic on these ports
#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# always allow DNS traffic
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

# allow return traffic to the PBX
iptables -A INPUT -p udp -m udp --dport 50000:65536 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
iptables -A INPUT -p udp --destination-port 5060:5061 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5060:5061 -j ACCEPT
iptables -A INPUT -m multiport -p udp --dports 10000:20000
iptables -A INPUT -m multiport -p tcp --dports 10000:20000

# IP addresses of the office
iptables -A INPUT -s 95.XXX.XXX.XXX/32 -j ACCEPT

# accept everything from the trunk IP's
iptables -A INPUT -s 195.XXX.XXX.XXX/32 -j ACCEPT
iptables -A INPUT -s 195.XXX.XXX.XXX/32 -j ACCEPT

# accept everything on localhost
iptables -A INPUT -i lo -j ACCEPT

# accept all outgoing traffic
iptables -A OUTPUT -j ACCEPT

# DROP everything else
#iptables -A INPUT -j DROP

Я хотел бы знать, какое правило брандмауэра мне не хватает, чтобы все это работало .. Существует так мало документации о том, какие порты (входящие и исходящие) на самом деле нужны звездочке .. (включая возвратные порты).

Есть ли здесь специалисты по брандмауэру /iptables, которые видят серьезные проблемы с этим сценарием брандмауэра?

Это так расстраивает, что я не могу найти простое решение для брандмауэра, которое позволило мне запустить УАТС где-нибудь в Интернете, который защищен брандмауэром таким образом, что он может разрешать ТОЛЬКО подключения к офису, к серверам DNS и транку (s) (и поддерживает только SSH (порт 22) и трафик ICMP для внешнего мира).

Надеюсь, используя этот вопрос, мы сможем решить эту проблему раз и навсегда.

1 ответ1

1

Доступна полная документация о портах. Непонятно, почему вы считаете это недоступным.

Порт использования звездочки зависит от используемой технологии / типа канала

Для звездочки протокола sip используйте порт, описанный в sip.conf(по умолчанию 5060), и для данных rtp используйте порты, описанные в rtp.conf(по умолчанию 10000-20000). Обычно sip используют только порт udp. TCP-sip также может использовать порт TCP.

Если вы используете звездочку после брандмауэра /NAT(не белый ip), вы также должны сообщить звездочке о внешнем IP-адресе. Для получения дополнительной информации см. Sip.conf.sample или руководства в Интернете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .