Форум русскоязычного сообщества Ubuntu


Автор Тема: Как настроить безопасный шлюза на Linux Ubuntu?  (Прочитано 2926 раз)

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

Оффлайн ninja5

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Всем привет, :coolsmiley:
Делаю первые шаги в изучении Linux.
Стоит задача настроить безопасный шлюза на Linux Ubuntu.
Сейчас на тестовом стенде установлена версия Ubuntu 12.10 14.04.1 LTS (Спасибо "fisher74").
Защиту сети хочу строить по схеме, что не разрешено - запрещено.

Сервер выполняет роль шлюза+nat+firewall для локальной сети.

eth0 смотрит в интернет, eth1 в локальную сеть (192.168.0.0/24)

IP address for eth0: 192.168.136.129
IP address for eth1: 192.168.0.1

pc1 (192.168.0.2) - Нужно заблокировать доступ в интернет.
pc2 (192.168.0.3) - Нужно пробросить порт 3389
pc3 (192.168.0.4) - Нужно пробросить порт 3390


Настройки системы
 
1.Сеть
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# eth1 - local
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

pre-up iptables-restore < /etc/firewall.conf

2.Включен IP forwarding
net.ipv4.ip_forward = 1
3.iptables-save
*filter
:INPUT DROP [608:26735]
:FORWARD DROP [0:0]
:OUTPUT DROP [261:35404]
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.0.0/24 -i eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.0.2/32 -i eth1 -j DROP
-A FORWARD -s 192.168.0.2/32 -i eth0 -j DROP
-A FORWARD -s 192.168.0.0/24 -i eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.0.0/24 -i eth0 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [905:67641]
:INPUT ACCEPT [1:52]
:OUTPUT ACCEPT [110:25072]
:POSTROUTING ACCEPT [8:480]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

Помогите, пожалуйста, с правилами для проброса портов для pc2,pc3. И посмотрите общие правила на наличие ошибок.
Upd1. Добавлены правила перенаправления портов для pc2,pc3. Спасибо "Извращенец".
iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.0.3:3389
iptables -I FORWARD -p tcp --dport 3389 --destination 192.168.0.3 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 3390 -j DNAT --to 192.168.0.4:3390
iptables -I FORWARD -p tcp --dport 3390 --destination 192.168.0.3 -j ACCEPT

Какие настройки системы стоит еще сделать чтобы обезопасить сервер?

Спасибо!
« Последнее редактирование: 06 Ноября 2014, 16:21:54 от ninja5 »

Извращенец

  • Гость
Re: Как настроить безопасный шлюза на Linux Ubuntu?
« Ответ #1 : 06 Ноября 2014, 10:30:56 »
pc2 (192.168.0.3) - Нужно пробросить порт 3389

iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.0.3:3389
iptables -I FORWARD -p tcp --dport 3389 --destination 192.168.0.3 -j ACCEPT


Цитировать
pc3 (192.168.0.4) - Нужно пробросить порт 3390

iptables -A INPUT -p tcp --dport 3390 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 3390 -j DNAT --to 192.168.0.4:3390
iptables -I FORWARD -p tcp --dport 3390 --destination 192.168.0.3 -j ACCEPT

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Как настроить безопасный шлюза на Linux Ubuntu?
« Ответ #2 : 06 Ноября 2014, 12:42:47 »
Ubuntu 14.04 не решился ставить т.к. она вышла только в апреля 2014, боялся не найти ответов на форуме.
Вы с октябрьской версией не перепутали? К тому же на 14.01 уже даже 1-ый "сервис пак" вышел (14.04.1). Какой же Вам срок "утряски" нужен? Когда уже протухнет вместе с поддержкой что-ли?
Пока не накручено и сильно не завязано на работе - переустановите. Времени потрите - час, зато потом не надо будет плясать с бубуном. Это мой Вам совет. Тем более 12.10 уже в мае закончена поддержка.

Про OUTPUT DROP я Вам уже писал. Не верите, проверьте как сервер найдёт адрес этого форума
nslookup forum.ubuntu.ru

Оффлайн ninja5

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Как настроить безопасный шлюза на Linux Ubuntu?
« Ответ #3 : 06 Ноября 2014, 16:27:15 »
Извращенец, спасибо помогло.
Хотел уточнить про цепочку INPUT при перенаправлении портов обязательно использовать?Тестировал без них вроде все работает.

Цитата: Извращенец
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
iptables -A INPUT -p tcp --dport 3390 -j ACCEPT



fisher74,
Перешел на 14.04.1 LTS, спасибо.

Цитата: fisher74
..Какой же Вам срок "утряски" нужен? ..

Обычно жду пол года или до первого сервис пака. Но тут решил не рисковать. Мне главное стабильность и безопасность системы, а также популярность и поддержка у сообщества, т.к. опыта нет.


Цитата: fisher74
Про OUTPUT DROP
nslookup forum.ubuntu.ru
Тест будет не удачным т.к. на сервере не прописаны DNS сервера в /etc/resolv.conf. А также текущий сервер не будет выступать в роли DNS. Все настройки на сервере выше. (это только настройка сети, IP forwarding и правила iptables).
На клиентских компьютерах прописан Google DNS.
Правила DROP используется для построения защиты по схеме что не разрешено - запрещено.
Не хочу ничего пропустить, лучше буду открывать по необходимости.

fisher74, посоветуйте пожалуйста какие настройки  системы следует сделать еще для безопасности сервера.
И нет ли лишних правил у меня в iptables-save.

Спасибо.
« Последнее редактирование: 06 Ноября 2014, 16:44:25 от ninja5 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Как настроить безопасный шлюза на Linux Ubuntu?
« Ответ #4 : 06 Ноября 2014, 16:55:53 »
А в resolv.conf их уже 100 лет не прописывают. Но в любом случае, сервер же будет обновляться? Значит ему нужны адреса и явки.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как настроить безопасный шлюза на Linux Ubuntu?
« Ответ #5 : 07 Ноября 2014, 02:28:10 »
В начале каждой цепочки таблицы filter имеет смысл добавить:
-m state --state RELATED,ESTABLISHED -j ACCEPTЭто позволит убрать лишние правила.

И насчёт политики DROP можно поспорить.

Вообще, см. шаблоны тут:
https://help.ubuntu.ru/wiki/iptables#ipv4

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Как настроить безопасный шлюза на Linux Ubuntu?
« Ответ #6 : 07 Ноября 2014, 02:31:19 »
Ну не каждой, и не только filter, но filter/INPUT и filter/FORWARD - да. Безусловно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.055 секунд. Запросов: 25.