Форум программистов, компьютерный форум, киберфорум
Безопасность сайтов и серверов
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
9 / 9 / 4
Регистрация: 27.01.2013
Сообщений: 450
1

Настройка Firewall для XL2TPD & Samba

27.07.2019, 19:06. Показов 1701. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Имеется Ubuntu 16.04 и VPN-сервер: XL2TPD PPP IPSec Libreswan Samba (папка с общим доступом находится на сервере Ubuntu).
Уже один раз меня хакали. Не хочу, чтобы впредь это повторялось.
Как грамотно прописать правила для iptables, чтобы не было открытого прямого доступа?

Я сделал так (/etc/iptables/rules.v4):

Код
# eth0 подключен к интернету.
# eth1 подключен к частной подсети.

# Внешний интерфейс сервера
IF_EXT="ens3"

# Внутренние интерфейсы (обслуживающие ВПН-клиентов)
IF_INT="ppp+"

# Сеть, адреса из которой будут получать ВПН-клиенты
NET_INT="112.128.72.0/24"

LOOP="127.0.0.1"


*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s ${NET_INT} -o eth0 -j MASQUERADE
-t nat -A POSTROUTING -s ${NET_INT} -j MASQUERADE -o ${IF_EXT}
-t nat -A POSTROUTING -o eth0 -s ${NET_INT} -j MASQUERADE
COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# 
-A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol none -j DROP
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m multiport --dports 500,4500 -j ACCEPT
-A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol ipsec -j ACCEPT
-A INPUT -p udp -m udp --dport 1701 -j DROP
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -i eth0 -o ${IF_INT} -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ${IF_INT} -o eth0 -j ACCEPT
-A FORWARD -s ${NET_INT} -d ${NET_INT} -i ${IF_INT} -o ${IF_INT} -j ACCEPT
-A FORWARD -j DROP


# Разрешаем весь трафик на петлевом интерфейсе
-A INPUT -i lo -j ACCEPT

# Запретить внешним пакетам использовать петлевой адрес
-A INPUT -i eth0 -s ${LOOP} -j DROP
-A FORWARD -i eth0 -s ${LOOP} -j DROP
-A INPUT -i eth0 -d ${LOOP} -j DROP
-A FORWARD -i eth0 -d ${LOOP} -j DROP

# Все, что приходит из Интернета, должно иметь настоящий интернет-адрес
-A FORWARD -i eth0 -s 192.168.0.0/16 -j DROP
-A FORWARD -i eth0 -s 172.16.0.0/12 -j DROP
-A FORWARD -i eth0 -s 10.0.0.0/8 -j DROP
-A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
-A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
-A INPUT -i eth0 -s 10.0.0.0/8 -j DROP

# Разрешаем всё для ВПН-клиентов
-A INPUT -i ${IF_INT} -s ${NET_INT} -j ACCEPT


# Разрешаем входящие соединения к L2TP
# Но только с шифрованием!
-A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT

# Разрешаем IPSec
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
-A INPUT -p udp --dport 500 -j ACCEPT
-A INPUT -p udp --dport 4500 -j ACCEPT

# Разрешаем доступ к серверу по SSH
-A INPUT -m tcp -p tcp --dport 2002 -j ACCEPT


# Разрешаем входящие ответы на исходящие соединения
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# NAT для локальной сети (ВПН-клиентов)
-A FORWARD -i ${IF_INT} -o ${IF_EXT} -s ${NET_INT} -j ACCEPT
-A FORWARD -i ${IF_EXT} -o ${IF_INT} -d ${NET_INT} -m state --state RELATED,ESTABLISHED -j ACCEPT

# Блокировать исходящие NetBios (если у вас запущены машины с Windows
# в частной подсети). Это не повлияет на NetBios
# трафик, который проходит через VPN-туннель, но он остановится
# локальные машины Windows от вещания себя
# интернет.
-A FORWARD -p tcp --sport 137:139 -o eth0 -j DROP
-A FORWARD -p udp --sport 137:139 -o eth0 -j DROP
-A OUTPUT -p tcp --sport 137:139 -o eth0 -j DROP
-A OUTPUT -p udp --sport 137:139 -o eth0 -j DROP

# Проверка правильности адреса источника на пакетах, выходящих в интернет
-A FORWARD -s ! ${NET_INT} -i eth1 -j DROP

# Разрешить локальную петлю
-A INPUT -s ${LOOP} -j ACCEPT
-A INPUT -d ${LOOP} -j ACCEPT

# Drop входящих эхо-запросов
-A INPUT -p icmp --icmp-type echo-request -j DROP

# Drop пакетов из частных подсетей
-A INPUT -i eth1 -j DROP
-A FORWARD -i eth1 -j DROP

# Сохранять состояние соединений из локальной машины и частных подсетей
-A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Самба ВКЛ
-A INPUT -p tcp -m tcp --dport 445 –s ${NET_INT} -j ACCEPT
-A INPUT -p tcp -m tcp --dport 139 –s ${NET_INT} -j ACCEPT
-A INPUT -p udp -m udp --dport 137 –s ${NET_INT} -j ACCEPT
-A INPUT -p udp -m udp --dport 138 –s ${NET_INT} -j ACCEPT

-A INPUT -i eth0 -s ${NET_INT} -p udp --dport 137:138 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -d ${NET_INT} -p udp --sport 137:138 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -s ${NET_INT} -p tcp --dport 139 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -d ${NET_INT} -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -d ${NET_INT} -p udp --sport 445 -m state --state ESTABLISHED -j ACCEPT

-I INPUT -i eth0 -p tcp --dport 137 -j DROP
-I INPUT -i eth0 -p tcp --dport 138 -j DROP
-I INPUT -i eth0 -p tcp --dport 139 -j DROP
-I INPUT -i eth0 -p tcp --dport 445 -j DROP
-I INPUT -i eth0 -p tcp --dport 1701 -j DROP

COMMIT
Подскажите, пожалуйста, всё ли правильно у меня написано?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2019, 19:06
Ответы с готовыми решениями:

Настройка UserGate Proxy & Firewall 6.0 VPN Gost для сетевого плоттера
Здравствуйте. Проблема следующая: имеется сетевой плоттер с IP-адресом (192.168.0.2), он стоит за...

Настройка COMODO Firewall для VS 2015
Приветствую, отключил все компоненты COMODO Firewall кроме самого Firewall что бы блокировал...

Помогите найти драйвера для pci\ven_8086&DEV_266E&SUBSYS_A002145&REV_05\3&13C0B0C5&0&F2
pci\ven_8086&DEV_266E&SUBSYS_A002145&REV_05\3&13C0B0C5&0&F2 Мультимедиа аудиоконтроллер ...

Настройка Samba
Здравствуйте, устал уже. На Centos 6.3 работает шлюз и надо чтоб ещё работала Samba. Одна папка...

0
27.07.2019, 19:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2019, 19:06
Помогаю со студенческими работами здесь

Настройка samba в ubuntu
Доброго времени суток. У меня есть некое приложение, которое запускается от моего имени и...

query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так?
упростил для краткости запрос. в чем ошибка? RecSet - это коннекшн. query='SELECT * FROM resume...

Настройка samba как pdc
Доброе время суток! Вот есть проблемма пытаюсь настроить samba как pdc на ОС ubuntu 9.04, когда...

Настройка Dr.Web Firewall
Доброго времени суток! Помогите, пожалуйста настроить брандмауэр Dr.Web, для доступа в инет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru