Как я могу заблокировать все порты, кроме 1962, 999, 12020?
Один порт для SSH и два других для своего рода скрипта. Итак, необходимо разрешить исходящие на этих портах, верно?
Мои iptables:
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*mangle
:PREROUTING ACCEPT [643521:136954367]
:INPUT ACCEPT [643521:136954367]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
:POSTROUTING ACCEPT [645723:99904505]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*filter
:INPUT ACCEPT [643490:136950781]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
-A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 999 -j ACCEPT
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*nat
:PREROUTING ACCEPT [5673:734891]
:POSTROUTING ACCEPT [2816:179474]
:OUTPUT ACCEPT [2816:179474]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
Извините, но я новичок в этом деле, и я просто хочу сделать свой сервер более безопасным.
Ответы:
Сначала вы всегда должны промывать, чтобы убедиться, что уже определено ... ничего
Затем установите политику по умолчанию для цепочки INPUT на DROP, если достигнут конец и не найдено ни одного правила:
Чтобы убедиться, что петля не затронута, вы должны добавить
разрешить весь трафик в lo-if и каждый входящий трафик для установленных вами соединений. После этого добавьте все правила, которые вам нужны для ваших служб (не забудьте открыть ssh, если вам это нужно! Иначе вы вышли) :
Небольшой трюк, который я делаю, чтобы не дать себе и другим случайно вскрыть дыры в безопасности, и наконец добавляю:
Эта строка соответствует всему для цепочки INPUT, и политика не должна ничего получать. Преимущество этого в том, что даже если вы добавляете ACCEPT-правило через некоторое время после инициализации набора правил, оно никогда не станет проверенным, потому что все ранее было отброшено. таким образом, вы должны хранить все в одном месте.
На ваш вопрос все выглядит примерно так:
источник
-P
устанавливает политику в цепочке. Это на самом деле не добавление правила. Политика цепочки указывает действие, которое должно быть выполнено над пакетом, если достигнут конец цепочки. Из-за этого разумно добавлять свои правила перед установкойDROP
политики.iptables -A INPUT -j DROP
вместо этого, по этой самой причине.Ответ от новичка, такого же как вы :-) Мне также нужно было защитить свой сервер Ubuntu, изучение iptables было болью, которую я не мог преодолеть. UFW (Uncomplicated Firewall) - это программа, которая максимально упрощает настройку брандмауэра.
установить UFW:
немедленно отключите его (мне пришлось выполнить аварийно-загрузочную загрузку, потому что я был заблокирован из своего собственного входа в SSH):
установите "deny" как правило по умолчанию (это блокирует все порты):
разрешить порты вам нужно:
если вы уверены, что приведенные выше правила не нарушают ваше ssh-соединение, включите ufw:
Документы хорошо написаны и предоставляют больше примеров: https://help.ubuntu.com/community/UFW
источник
ERROR: Bad destination address
иERROR: Bad source address