2

В моей домашней сети я устанавливаю сервер CentOS, который будет использоваться примерно дюжиной или около того в образовательных целях - например, узнать, как использовать оболочку Linux и размещать веб-сайты, среди прочего. У меня есть порт 22 и порт 80 на моем маршрутизаторе, чтобы они могли войти через SSH через Интернет.

Поскольку я не могу полностью доверять этим пользователям, в настоящее время я пытаюсь максимально заблокировать сервер (проверка прав доступа, блокировка торрентов и т.д.) Поскольку я не хочу, чтобы люди проверяли остальные компьютеры в моей сети через сервер, я хотел бы блокировать трафик на компьютеры в локальной сети, но при этом разрешать трафик в Интернет.

Я не очень знаком с iptables, но я попытался установить несколько правил iptables - сначала он разрешает трафик до 192.168.1.1 (маршрутизатор) и 192.168.1.2 (компьютер, который я использую для настройки сервера), а затем блокирует трафик до 192.168.1.0/24 и регистрирует такой трафик. Остальная часть трафика должна быть разрешена. Однако проблема заключается в том, что сервер не может подключиться к Интернету.

Вот мой текущий конфиг iptables:

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            192.168.1.2
2    ACCEPT     all  --  0.0.0.0/0            192.168.1.1
3    LOGGING    all  --  0.0.0.0/0            0.0.0.0/0
4    DROP       all  --  0.0.0.0/0            192.168.1.0/24
5    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain LOGGING (1 references)
num  target     prot opt source               destination
1    LOG        all  --  0.0.0.0/0            0.0.0.0/0           limit: avg 10/min burst 5 LOG flags 0 level 7 prefix `DROP: '
2    DROP       all  --  0.0.0.0/0            0.0.0.0/0

Проверка разрешенных IP-адресов (192.168.1.1 и 192.168.1.2) работает (хорошо), но Google не проверяет (плохо):

[root@server ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1950ms

[root@server ~]# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.294 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.270 ms

Конечно, я понимаю, что существует определенный уровень доверия, связанный с предоставлением людям доступа к серверу в моей сети, но я все еще хочу укрепить его настолько, насколько смогу. Если кто-то может прокомментировать другие вещи, которые я могу сделать, я буду признателен за это.

Заранее спасибо!

2 ответа2

2

Хорошо, я сам решил проблему, поэтому я отвечу на свой вопрос для справки. Проблема заключалась в том, что весь трафик проходил через цепочку LOGGING, а второе правило цепочки LOGGING отбрасывает весь трафик. Я просто удалил правило 2 из цепочки LOGGING и все заработало.

0

У меня похожая проблема, у меня есть устройство IOT с несколькими уязвимостями, которые я хочу выделить в своей локальной сети, но оно подключено через коммутатор к другим устройствам, которые я НЕ хочу отделять. Я попытался создать отдельную ЦЕПЬ и поместить ссылку на нее в начале цепочки INPUT для чего-либо с источником устройства IOT или назначением устройства IOT, а затем в новой цепочке, если источником является LAN и назначение - IoT, затем DROP или, если источником является IoT, а назначение - LAN, то DROP, но я не могу заставить его отбрасывать пакеты, все еще могу пропинговать и получать доступ к устройству. даже пытался добавить мои правила в начало нескольких других цепочек, чтобы увидеть, если это имеет значение, но не повезло - есть идеи?

b1tphr34k@RT-AC87U-C598:/tmp/home/root# iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
TIVOFILTER  all  --  192.168.10.8         anywhere
TIVOFILTER  all  --  anywhere             192.168.10.8
logdrop    icmp --  anywhere             anywhere             icmp echo-request
logaccept  all  --  anywhere             anywhere             state RELATED,ESTABLISHED
logdrop    all  --  anywhere             anywhere             state INVALID
PTCSRVWAN  all  --  anywhere             anywhere
PTCSRVLAN  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             state NEW
ACCEPT     all  --  anywhere             anywhere             state NEW
logaccept  udp  --  anywhere             anywhere             udp spt:bootps dpt:bootpc
INPUT_ICMP  icmp --  anywhere             anywhere
logdrop    all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
DROP       all  --  192.168.10.8         192.168.10.0/24
DROP       all  --  192.168.10.0/24      192.168.10.8
logaccept  all  --  anywhere             anywhere             state RELATED,ESTABLISHED
logdrop    all  --  anywhere             anywhere
logdrop    all  --  anywhere             anywhere             state INVALID
logaccept  all  --  anywhere             anywhere
SECURITY   all  --  anywhere             anywhere
NSFW       all  --  anywhere             anywhere
logaccept  all  --  anywhere             anywhere             ctstate DNAT
logaccept  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  192.168.10.0/24      192.168.10.8
DROP       all  --  192.168.10.8         192.168.10.0/24

Chain ACCESS_RESTRICTION (0 references)
target     prot opt source               destination

Chain FUPNP (0 references)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             192.168.10.5         udp dpt:54927
ACCEPT     tcp  --  anywhere             192.168.10.7         tcp dpt:32400

Chain INPUT_ICMP (1 references)
target     prot opt source               destination
RETURN     icmp --  anywhere             anywhere             icmp echo-request
RETURN     icmp --  anywhere             anywhere             icmp timestamp-request
logaccept  icmp --  anywhere             anywhere

Chain NSFW (1 references)
target     prot opt source               destination
logdrop    udp  --  anywhere             anywhere             udp spt:https
logdrop    udp  --  anywhere             anywhere             udp dpt:https
logdrop    udp  --  anywhere             anywhere             udp spt:www
logdrop    udp  --  anywhere             anywhere             udp dpt:www
logdrop    icmp --  anywhere             anywhere             icmp timestamp-request
logdrop    icmp --  anywhere             anywhere             icmp timestamp-reply
RETURN     all  --  anywhere             anywhere

Chain PControls (0 references)
target     prot opt source               destination
logaccept  all  --  anywhere             anywhere

Chain PTCSRVLAN (1 references)
target     prot opt source               destination

Chain PTCSRVWAN (1 references)
target     prot opt source               destination

Chain SECURITY (1 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5
logdrop    tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN
RETURN     tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
logdrop    tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/RST
RETURN     icmp --  anywhere             anywhere             icmp echo-request limit: avg 1/sec burst 5
logdrop    icmp --  anywhere             anywhere             icmp echo-request
RETURN     all  --  anywhere             anywhere

Chain TIVOFILTER (2 references)
target     prot opt source               destination
DROP       all  --  192.168.10.0/24      192.168.10.8
DROP       all  --  192.168.10.8         192.168.10.0/24

Chain logaccept (8 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "ACCEPT "
ACCEPT     all  --  anywhere             anywhere

Chain logdrop (14 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "DROP "
DROP       all  --  anywhere             anywhere

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