Автор Тема: Вопрос обеспечения безопасности (iptables)  (Прочитано 4328 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sferg

Здравствуйте, господа. Подскажите, пожалуйста набор правил iptables (или готовый скрипт, если это возможно), дабы опеспечить максимальную безопасность сети.

eth0 - смотрит в локальную сеть (dhcp: 192.168.0.26-192.168.0.130), адрес ПК - 192.168.0.1;
eth1- подключен к интернету (dhcp)
wlan0 - настроен как мост с eth0 в режиме точки доступа Wi-Fi;

Установлено и настроено:

- dhcp;
- transmission (веб-интерфейс, порт 9091);
- samba;
- ftp (порт 21);
- ssh (порт 22);

Какие iptables следует прописать, дабы локальная сеть (eth0 и wlan0) могли глядеть в интернет, но при этом заблокировать доступ к ПК из интернета... в том числе к веб-интерфейсу transmission, ssh, samba и прочему?

Сейчас у меня прописано следующее:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.1/24 -j MASQUERADE
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j REJECT

Интернет в локальной сети есть. Wi-Fi интернет раздаёт. Но терзают сомнения насчёт безопасности. Да и доступ к веб-интерфейсу Transmission из интернета виден всем желающим...
« Последнее редактирование: 17 Марта 2013, 22:19:25 от Sferg »
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Оффлайн fry

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #1 : 17 Марта 2013, 22:35:42 »
#!/bin/sh
iptables -t mangle -F
iptables -t mangle -X
iptables -t nat -F
iptables -t nat -X
iptables -t filter -F
iptables -t filter -X

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

###INPUT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i br0 -s 192.168.0.0/24 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 21 -m state --state NEW -j ACCEPT

###FORWARD
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i br0 -o eth1 -j ACCEPT


###POSTROUTING
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Как-то так, наверное. Буду потрезвее - смогу проверить)
Например, так.
« Последнее редактирование: 19 Марта 2013, 03:22:26 от fry »
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн Sferg

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #2 : 18 Марта 2013, 16:02:23 »
fry, премного благодарен. Интернет появился только после того, как в Вашем Своде Правил я малость изменил строчку:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
вот так (т.е. указал входящий интерфейс - eth1):

iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
Есть 3 вопроса:

1. С какой целью в скрипте дважды прописаны нижеприведённые строки?

iptables -t mangle -F
iptables -t mangle -X
iptables -t nat -F
iptables -t nat -X
iptables -t filter -F
iptables -t filter -X

2. Не опечатка ли символ "!" в нижеприведённой строке?

iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j DROP
3. Доступ к Transmission из внешней сети по порту 9091 остался открытым. Каким образом прикрыть его только из внешки, дабы никто левый не лазил?

Вопрос с доступом к Transmission извне решил путём изменения в файле settings.json строчки:

"rpc-bind-address": "0.0.0.0",
на эту:

"rpc-bind-address": "192.168.0.1",
Но всё-таки, можно ли блокировать извне с помощью iptables (для пущей надёжности)?
« Последнее редактирование: 18 Марта 2013, 16:27:27 от Sferg »
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Оффлайн fry

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #3 : 18 Марта 2013, 22:15:40 »
Цитировать
вот так (т.е. указал входящий интерфейс - eth1)
У меня все работает без указания интерфейса. Может, причина не в этом была?
Цитировать
1. С какой целью в скрипте дважды прописаны нижеприведённые строки?
-F
Цитировать
Сброс (удаление) всех правил из заданной цепочки (таблицы). Если имя цепочки и таблицы не указывается, то удаляются все правила, во всех цепочках. (Хочется от себя добавить, что если не указана таблица ключом -t (--table), то очистка цепочек производится только в таблице filter, прим. перев. ).
Это без комментариев.
-X
Цитировать
Удаление заданной цепочки из заданной таблицы. Удаляемая цепочка не должна иметь правил и не должно быть ссылок из других цепочек на удаляемую цепочку. Если имя цепочки не указано, то будут удалены все цепочки заданной таблице кроме встроенных.
По идее, можно не указывать. Честно говоря, не помню почему так сделал.
Цитировать
2. Не опечатка ли символ "!" в нижеприведённой строке?
Нет. Дропаем все пакеты на данную подсеть кроме тех, что пришли с локального интерфейса. на локальный интерфейс.
И с transmission - как проверяли?

« Последнее редактирование: 19 Марта 2013, 01:44:47 от fry »
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн Sferg

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #4 : 18 Марта 2013, 23:20:02 »
fry, доступ к Transmission проверял:

1. Заходя с ПК приятеля (другая сеть) на внешний адрес своего ПК.
2. Заходя со своего ПК на свой же ПК через dyndns, который привязан к внешнему адресу ПК.

После того, как в файле конфигурации Transmission задал слушать только 192.168.0.1 вместо 0.0.0.0, доступ извне по обоим пунктам прекратился.
« Последнее редактирование: 18 Марта 2013, 23:48:45 от Sferg »
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Оффлайн fry

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #5 : 18 Марта 2013, 23:55:39 »
я не заметил, что два раза написал в правилах очистку. сорри. сейчас поправлю. вы не могли бы кинуть листинг iptables -vL  после применения правил сюда выложить?
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн Sferg

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #6 : 19 Марта 2013, 00:08:33 »
fry, да, конечно.

Chain INPUT (policy ACCEPT 858K packets, 56M bytes)
 pkts bytes target     prot opt in     out     source               destination
 
  424 72994 ACCEPT     all  --  lo     any     anywhere             anywhere
 
 
Chain FORWARD (policy ACCEPT 412K packets, 40M bytes)
 pkts bytes target     prot opt in     out     source               destination
 
    0     0 ACCEPT     all  --  eth0   eth1    anywhere             anywhere
 
 490K  351M ACCEPT     all  --  eth1   any     anywhere             anywhere
    state RELATED,ESTABLISHED
    0     0 REJECT     all  --  eth1   eth0    anywhere             anywhere
    reject-with icmp-port-unreachable
 
Chain OUTPUT (policy ACCEPT 188K packets, 2007M bytes)
 pkts bytes target     prot opt in     out     source               destination
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Оффлайн fry

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #7 : 19 Марта 2013, 00:12:23 »
Я правильно понимаю, что это вывод до использования того, что написал я?
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн Sferg

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #8 : 19 Марта 2013, 00:27:02 »
fry, это вывод после использования Вашего Свода Правил. Ну, с добавлением от себя указания интерфейса eth1 (чтобы интернет появился). А также с двумя повторяющимися блоками строк:

iptables -t mangle -F
iptables -t mangle -X
iptables -t nat -F
iptables -t nat -X
iptables -t filter -F
iptables -t filter -X

Или Вам нужен результат iptables -vL после сделанных Вами исправлений в Вашем скрипте?

P.S. Прошу прощения, Вас запутал и сам запутался.
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Оффлайн fry

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #9 : 19 Марта 2013, 00:36:23 »
Да, после изменения. Я сам запутал. Т.е примените правила и потом посмотрите что получилось. Вывод сюда. Попутный вопрос. С чего проверяете работоспособность интернета? Через что подключено устройство? lan ил и wlan? Сдается мне, для wlan тоже правило нужно будет. Но давайте пока так попробуем.
P.S. Чтобы обойтись без этогоecho 1 > /proc/sys/net/ipv4/ip_forward впишите в /etc/sysctl.conf net.ipv4.ip_forward=1Заработает после перезагрузки.
« Последнее редактирование: 19 Марта 2013, 00:39:54 от fry »
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн Sferg

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #10 : 19 Марта 2013, 00:47:02 »
fry, применил Ваш исправленный Свод Правил. На этот раз интернет заработал без дополнительного указания интерфейса.

Вывод нынешнего результата iptables -vL:

Chain INPUT (policy ACCEPT 283 packets, 27199 bytes)
 pkts bytes target     prot opt in     out     source               destination
 
    2   100 ACCEPT     all  --  lo     any     anywhere             anywhere
 
 
Chain FORWARD (policy ACCEPT 312 packets, 35280 bytes)
 pkts bytes target     prot opt in     out     source               destination
 
    0     0 ACCEPT     all  --  eth0   eth1    anywhere             anywhere
 
  210 66981 ACCEPT     all  --  eth1   any     anywhere             anywhere
    state RELATED,ESTABLISHED
    0     0 REJECT     all  --  eth1   eth0    anywhere             anywhere
    reject-with icmp-port-unreachable
 
Chain OUTPUT (policy ACCEPT 279 packets, 31244 bytes)
 pkts bytes target     prot opt in     out     source               destination

Цитата: fry
С чего проверяете работоспособность интернета? Через что подключено устройство?
Работоспособность интернета проверяю на планшете. Подключение по Wi-Fi.

Цитата: fry
впишите в /etc/sysctl.conf
Уже было вписано.
« Последнее редактирование: 19 Марта 2013, 00:51:58 от Sferg »
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Оффлайн fry

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #11 : 19 Марта 2013, 00:51:17 »
Что-то не так. Я не вижу своих правил тут. И еще. Смотрите но политику по умолчанию. она у вас в ACCEPT. А после выполнения скрипта она должна была обратиться в DROP. От рута, надеюсь, выполняте? Хотя iptables бы ругнулся, если бы от непривелигерованного пользователя.
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн Sferg

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #12 : 19 Марта 2013, 00:58:53 »
Цитата: fry
От рута, надеюсь, выполняте?
Да, вернее из-под sudo, приравненного к руту. Скрипт с Вашим списком iptables у меня лежит в /etc/nat.sh (права на исполнение стоят). При загрузке скрипт (якобы) вызывается строчкой из /etc/network/interfaces:

post-up /etc/nat.sh
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Оффлайн fry

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #13 : 19 Марта 2013, 01:03:03 »
попробуйте sudo -i
cd /etc/
./nat.sh
Прямо в лоб. и потом
iptables -vL и сравните с тем, что было до этого.
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн Sferg

Re: Вопрос обеспечения безопасности (iptables)
« Ответ #14 : 19 Марта 2013, 01:25:09 »
fry, при запуске Вашего скрипта ругнулся:
iptables v1.4.14: Can't use -i with POSTROUTING

После приименения пропал интернет. Весь. Пришлось перезагружаться в неправильный режим с политикой ACCEPT.

Результат iptables -vL (делал при пропавшем интернете):

Chain INPUT (policy DROP 82 packets, 10305 bytes)
 pkts bytes target     prot opt in     out     source               destination
 
    0     0 DROP       all  --  any    any     anywhere             anywhere
    state INVALID
    0     0 DROP       all  --  !lo    any     anywhere             loopback/8
 
  102  8183 ACCEPT     all  --  any    any     anywhere             anywhere
    state RELATED,ESTABLISHED
 
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 
    0     0 DROP       all  --  any    any     anywhere             anywhere
    state INVALID
   26  2020 ACCEPT     all  --  any    any     anywhere             anywhere
    state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  eth0   eth1    anywhere             anywhere
 
 
Chain OUTPUT (policy ACCEPT 110 packets, 9464 bytes)
 pkts bytes target     prot opt in     out     source               destination
С уважением.

Debian 10.2, kernel 5.3.13-1-pve x86_64 (WiFi-роутер)
Intel Pentium J5005, 16Gb DDR4-2400, UHD605, 1Tb HDD + 500Gb Ext. HDD

Debian 10.2, kernel 4.19.0-6 x86_64 (домашний ПК)
Intel Core i7-3770, 16Gb DDR3-1600, HD4000, 250Gb SSD + 2Tb HDD
 

Теги:
     

    вопрос по настройке dns внешних зон, не видно из интернета зону

    Автор ALARMUS

    Ответов: 1
    Просмотров: 2067
    Последний ответ 26 Апреля 2013, 13:24:55
    от ALARMUS
    Вопрос по fail2ban

    Автор PbI6A

    Ответов: 2
    Просмотров: 1302
    Последний ответ 09 Июля 2015, 05:11:34
    от ihammers
    Proxmox(Вопрос про сеть, поясните пж, ни как не пойму)

    Автор farik7707

    Ответов: 2
    Просмотров: 1804
    Последний ответ 22 Января 2019, 11:21:07
    от farik7707
    вопрос по nessus

    Автор gor

    Ответов: 0
    Просмотров: 1421
    Последний ответ 15 Августа 2012, 00:18:01
    от gor
    Вопрос по сети

    Автор Palamar

    Ответов: 4
    Просмотров: 1304
    Последний ответ 01 Марта 2017, 18:37:35
    от ecc83