LINUX.ORG.RU
ФорумAdmin

Iptables - закрыть всё, кроме некоторых

 , ,


1

1

Приветствую, господа. Собстнна, сабж. Поднят опенвпн на впс, дебиан 9. Задача: 1. Дать отдельным ип доступ по опенвпн(upd, 1950 порт) в сеть. Моих кривых рук хватило только на: iptables -A INPUT ! -s xxx.xxx.xxx.xxx -j DROP и так повторять, пока не наберётся нужное нам кол-во 2. Закрыть любые дыры\утечки - заблокировать все входящие\исходящие, кроме тех ип, что указаны выше + заблокировать все порты, кроме 443, 1950, 22 и 80-го.

Комментарии в стиле «кури основы» приветствуются, но, увы, с Линуксом работать тесно не требуется, нужно только установить данные правила.

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


Дать отдельным ип доступ по опенвпн(upd, 1950 порт) в сеть

Какую сеть? Рыболовную может быть?

iptables -A INPUT ! -s xxx.xxx.xxx.xxx -j DROP и так повторять, пока не наберётся нужное нам кол-во

«нам» это кому? Не ну «набирать» можно много, вот только смысл? Первое же правило пропускает все что не содержит в входящем адресе xxx.xxx.xxx.xxx

Закрыть любые дыры\утечки
заблокировать все входящие\исходящие

Вы случайно не в ркн устроились работать?

Комментарии в стиле «кури основы» приветствуются

iptables tutorial

anc ★★★★★
()
Ответ на: комментарий от Fake

ssh на 22 порту - несекурно

Ога, при учете еще 443 и 80 со скорее всего кучей пых и тому подобного мусора. Конечно только через ssh вас и поломают... не, ну если рутовый с пассом 111... поломают быстро, только смена порта это страусиная политика при таких условиях.

anc ★★★★★
()

Сначала нужно закрыть все, потом уже разрешать что хочется:

iptables -P INPUT DROP
iptables -P OUTPUT DROP

iptables -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -j ACCEPT

iptables -A INPUT -p TCP --dport 80 -j ACCEPT

nike-tesla
()
Ответ на: комментарий от nike-tesla

Благодарен за ответы и размышления. Дали немало подсказок 22 порт дан условно - в последствии будет изменен. Нужно было понять, по какому принципу работает данная схема.

Ktb1
() автор топика

Можно сделать скрипт с правилами iptables. Поставить в автозагрузку. Пример такой:

#!/bin/sh
iptables -F
iptables -t nat -F
echo "1" >  /proc/sys/net/ipv4/ip_forward
killall pptpd
/usr/local/sbin/pptpd
## Разрешаем кому надо
iptables -A INPUT -s 10.12.1.0/24 -j ACCEPT
iptables -A INPUT -s 10.12.0.0/24 -j ACCEPT
iptables -A FORWARD -s 195.72.229.46 -j ACCEPT
#Пробрасываем кому надо
iptables -t nat -A PREROUTING -p udp --dport 8999 -j DNAT --to 192.168.115.237:8999
iptables -t nat -A POSTROUTING -d 192.168.115.237 -p udp --dport 8999 -j SNAT --to-source 192.168.115.15
### Остальных лесом
iptables -A INPUT -p tcp -m multiport --dport 110,143,995,10022,25,8080,3128,443,80 -j DROP
#
Это сырой набросок конечно. Но. сначало разрешаем а потом запрещаем.

Bootmen ☆☆☆
()
Ответ на: комментарий от Bootmen

Можно сделать скрипт с правилами iptables. Поставить в автозагрузку.

Есть же для этого человеские iptables-save & iptables-restore . Нет надо через жопу делать.

anonymous
()
Ответ на: комментарий от anonymous

Это которые всё равно на добавление каждого отдельного правила выгружают-загружают заново всю таблицу?

anonymous
()
Ответ на: комментарий от anonymous

Можно делать по правилам, а можно правильно. Кому как удобнее. Мне удобнее добавить/убавить правило в скрипт и перезапустить его. и комменты к каждому правилу в скрипте всегда кстати..

Bootmen ☆☆☆
()
Ответ на: комментарий от Bootmen

Признателен. Теперь уж точно всё стало на свои места!

Ktb1
() автор топика

... Задача: 1. Дать отдельным ип доступ по опенвпн(upd, 1950 порт) в сеть ... с Линуксом работать тесно не требуется, нужно только установить данные правила.

Поставь себе CSF - и не надо будет мучиться с правилами iptables. Там всё конфигурится в достаточно удобном формате.

https://configserver.com/cp/csf.html

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.