2

Как я могу заблокировать все порты, кроме

  1. SSH (порт 22)
  2. httpd (порт 80)

используя iptables и iphains?

2 ответа2

8

Ipchains старые, и я не рекомендую это

простой скрипт

#!/bin/bash
IPTABLES=/sbin/iptables

#start and flush
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -P FORWARD DROP
$IPTABLES -P INPUT   DROP
$IPTABLES -P OUTPUT  ACCEPT

#SSH traffic
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
#HTTP traffic
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT

#loopback
iptables -A INPUT -i lo -p all -j ACCEPT
5

Какой дистрибутив Linux? Возможно, вам лучше использовать брандмауэр более высокого уровня, такой как ufw:

Как root/sudo:

ufw default deny
ufw allow ssh
ufw allow http
ufw enable

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