Временно запретить весь входящий трафик с помощью firewalld

Как насчет:

while read line col1 col2 col3; 
do 
    if [[ "$line" = "pos" ]]; then
        echo "pos COL"
        continue    
    fi
    echo "$line COL1 $col1"  
    echo "$line COL2 $col2"  
    echo "$line COL3 $col3"  
done < real2.txt

output:

pos COL
18691441 COL1 C
18691441 COL2 A
18691441 COL3 G
18691572 COL1 G
18691572 COL2 C
18691572 COL3 G
18691620 COL1 A
18691620 COL2 T
18691620 COL3 G
18691716 COL1 C
18691716 COL2 G
18691716 COL3 C
1
23.11.2016, 21:22
1 ответ

Из этого сообщения serverfault видно, что для ограничения трафика на этом более высоком уровне требуются «расширенные» правила .

Для реализации расширенного правила, применяемого в зоне по умолчанию, которое отбрасывает весь трафик IPv4:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 drop'

Это имитирует поведение ufw default deny ; чтобы вместо этого отправить сообщение об отклонении ICMP, измените drop на reject . Вышеупомянутое правило специфично для IPv4; для IPv6 используйте:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --add-rich-rule='rule family=ipv6 source address=::/0 drop'

После исследования это добавляет запись в iptables, которая идет после соединения «accept RELATED and ESTABLISHED», так что это не нарушит ваш существующий сеанс ssh. В моем тестировании результирующая «цепочка» iptables выглядит следующим образом (для зоны по умолчанию 'public'):

INPUT -> INPUT_ZONES -> IN_public -> IN_public_deny

Если вы ожидаете перезагрузки как часть обновлений, то добавьте флаг - постоянный .

Если вы не ожидаете перезагрузки в рамках обновлений, вы можете использовать флаг - timeout , который принимает такие значения, как 5s , 10m или 15h для «5 секунд», «10 минут» или «15 часов» соответственно. Такое правило будет удалено по истечении этого периода ожидания.

Если вы хотите удалить добавленное правило, просто запустите тот же firewall-cmd , что и раньше, но заменив - add-rich-rule на --remove-rich-rule ; для примера IPv4:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --remove-rich-rule='rule family=ipv4 source address=0.0.0.0/0 accept'

Ссылка: http://www.firewalld.org/documentation/man-pages/firewalld.richlanguage.html

1
28.01.2020, 01:08

Теги

Похожие вопросы