Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Help & Support » Servers & Services » Сървър и рутер в същото време
Тема: Сървър и рутер в същото време, Файъруол насоки
Мнение #1 Skip to the next post in this topic.
Написано на: Декември 10 2005, 00:11
Zero_effect

Avatar




Група: Li maniacs
Мнения: 489
Регистриран: Юли 2005

Оценка: 5

Offline
Ситуацията е следната:
Имам няколко компютъра зад един рутер. Тези компютри се ползват за ежедневна употреба (музика, филми, чат и други често срещани неща).
В същото време този рутер искам да го трансформирам и в сървър, за да не стават твърде много машините. Сървърът ще е уеб и може да предлага други неща също така.

Това, което в момента не мога да измисля е план, по който да си организирам файъруол-а, така че сървърът да е с добро ниво на сигурност и другите компютри да могат да си вършат работата.

Моля, дайте някакъв съвет какво да направя, за да си реша по сравнително най-добрият начин проблема.
Контакти:  Zero_effect

  • AOL  AOL:
  • ICQ  ICQ: 94584818
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #2 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 10 2005, 03:47
LazCorp

No avatar chosen




Група: Li fans
Мнения: 31
Регистриран: Ноември 2005

Оценка: няма

Offline
Политиката трябва да е следната:
1. От вътре на вън РУТИРАШ всичко.
2. Всичко към рутера, било то отвън или отвътре си го управляваш с една политика.
До колкото ще рутираш всичко зависи от това до колко е нужно това. Същото е и с точка две - може да предоставяш определена услуга само за вътрешната мрежа. Например файловия сървър (samba) не е нужно да се вижда от света. Също и dns кеш сървъра ти.
Разбира се можеш да режеш на ниво програма или дирекно iptables :-)
Всъщност въпроса ти е малко общ и за това му отговрям общо. Добре ще е да конкретизираш какво имаш предвид - какви са ти контретните цели и нужди?

Контакти:  LazCorp

  • AOL  AOL:
  • ICQ  ICQ: 178489938
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #3 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 10 2005, 18:55
Zero_effect

Avatar




Група: Li maniacs
Мнения: 489
Регистриран: Юли 2005

Оценка: 5

Offline
Услугите на сървъра трябва да бъдат достъпни от интернет, но да има ограничение на нещата, които лично него засягат, а не се рутират.
Сървърът ще предлага горе-долу:
- Уеб
- SSH достъп от външната и вътрешната мрежа
- Може би Събвершън.

Да се рутират достатъчно неща, които клиентите да употребяват. Торенти, ИМ-ове, Уеб и други неща за ежедневно ползване.

Това горе-долу искам да постигна.

Най-хубаво ще е и с приложението да добавите примерна ИП таблица. Може да ми препоръчате и някой специален файъруол, с който да направя по-лесно това, което желая.


Редактирано от Zero_effect на Декември 10 2005, 19:06
Контакти:  Zero_effect

  • AOL  AOL:
  • ICQ  ICQ: 94584818
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #4 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 10 2005, 22:31
mexus

Avatar




Група: Li fans
Мнения: 163
Регистриран: Октомври 2005

Оценка: няма

Offline
Цитат:  (Zero_effect @ Декември 10 2005,18:55)

Услугите на сървъра трябва да бъдат достъпни от интернет, но да има ограничение на нещата, които лично него засягат, а не се рутират.
Сървърът ще предлага горе-долу:
- Уеб
- SSH достъп от външната и вътрешната мрежа
- Може би Събвершън.

Да се рутират достатъчно неща, които клиентите да употребяват. Торенти, ИМ-ове, Уеб и други неща за ежедневно ползване.

Това горе-долу искам да постигна.

Най-хубаво ще е и с приложението да добавите примерна ИП таблица. Може да ми препоръчате и някой специален файъруол, с който да направя по-лесно това, което желая.

#!/bin/sh

Настрой като за теб
IPTABLES=/etc/iptables133/iptables
LAN=192.168.0.1/29  - вътрешна
LAN_ETH=eth2
INET_IP=83.148.105.228  - външна
INET_ETH=eth1
#allowIP forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
#Затваря се всички входящи и се пуска нат
$IPTABLES -P OUTPUT DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
#allow access to loopback
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
#Deny all, allow LAN
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p tcp --sport 137:139 -d ! $LAN -j DROP
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p udp --sport 135:139 -d ! $LAN -j DROP
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p tcp --sport 445 -d ! $LAN -j DROP
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p udp --sport 445 -d ! $LAN -j DROP
#Allow LAN ping
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -s $LAN -j ACCEPT
#Allow LAN access
$IPTABLES -A INPUT -i $LAN_ETH -s $LAN -j ACCEPT
#Allow only in to out connections
$IPTABLES -A OUTPUT -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#All connections are mask, so that they come form this PC
$IPTABLES -t nat -A POSTROUTING -o $INET_ETH -s $LAN -d ! $LAN -j SNAT --to $INET_IP

#Allow package sending to other networks
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -d ! $LAN -o $INET_ETH -j ACCEPT
#############OPENPORTS############
#ssh до определени PC-на
$IPTABLES -A INPUT -i $INET_ETH -p tcp -s 212.116.100.130 -d $INET_IP --dport 22 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp -s 83.148.100.181 -d $INET_IP --dport 22 -j ACCEPT
#http inbound -
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 21 -j ACCEPT
#ftp inbound
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 80 -j ACCEPT
#mail inbound
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 25 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 110 -j ACCEPT
#cups inbound
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 631 -j ACCEPT
#DNS inbound
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 53 -j ACCEPT
#Отваряме си портове за другите неща
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 6882 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 6882 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 6881 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 6881 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 441 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 441 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 9176 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 9176 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 4672 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 4662 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 4665 -j ACCEPT
#Това е IP Forward пусни на всяко  1 от PC-тата по един порт, който да ползват за торент.
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 6890 -j ACCEPT
$IPTABLES -A FORWARD -o $INET_ETH -s 192.168.0.4 -p tcp --sport 6890 -j ACCEPT
$IPTABLES -A FORWARD -i $INET_ETH -p tcp -d 192.168.0.4 --dport 6890 -j ACCEPT
$IPTABLES -A PREROUTING -t nat -i $INET_ETH -p tcp -d $INET_IP --dport 6890 -j DNAT --to 192.168.0.4
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 6890 -j ACCEPT
$IPTABLES -A FORWARD -o $INET_ETH -s 192.168.0.4 -p udp --sport 6890 -j ACCEPT
$IPTABLES -A FORWARD -i $INET_ETH -p udp -d 192.168.0.4 --dport 6890 -j ACCEPT
$IPTABLES -A PREROUTING -t nat -i $INET_ETH -p udp -d $INET_IP --dport 6890 -j DNAT --to 192.168.0.4

С нат ще им работят всичките неща които искаш. Отваряш портове, които са за външната мрежа!
Контакти:  mexus

  • AOL  AOL:
  • ICQ  ICQ: 243745868
  • MSN  MSN: mexus_bg@hotmail.com
  • YIM  Yahoo IM:
WEB  
Мнение #5 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 12 2005, 10:58
mcwolf

No avatar chosen




Група: Li gurus
Мнения: 1489
Регистриран: Април 2005

Оценка: 5

Offline
Zero_effect незнам дали се оправи вече но все пак да си кажа - лично аз не съм особен фен на сложните правила (като тези горе) - когато си правиш фаерлолът на машината лично моят съвет е да се придържаш към простите неща - по сигурно от това няма

правилата за маскиране си си ги задал коректно предползарам в nat таблицата (ако желаеш да пренасочваш портове мястото също е тук)

основното правило към което трябва да се придържаш е забрани ВСИЧКО и после разрешавай само това което ти трябва - това би изглеждало така
Код: 

# iptables -t filter -P INPUT DROP
# iptables -t filter -A INPUT -p tcp --destination-port 22 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --destination-port 80 -j ACCEPT


това е - режеш всичко което е предназначено за рутерът и после рзарешаваш достъпът на всички заявки за портове 22 и 80 - попринцип е хубаво да се подсигуриш допълнително на 22-ри порт (ssh-то) като ограничиш входящите заявки само от вътрепният интерфей например
Код: 

# iptables -t filter -A INPUT -i eth0 -p tcp --destination-port 22 -j ACCEPT


можеш да добавиш и достъп само от конкретна машина през този интерфейс
Код: 

# iptables -t filter -A INPUT -i eth0 -s XXX.XXX.XXX.XXX -p tcp --destination-port 22 -j ACCEPT


също така е повече от желателно да забраниш директното  логване на root през ssh

това е 3 реда и бетонна защита - ако желаеш можеш да ACCEPT-ваш заявки които не са със статус NEW - така всички приложения от рутерът ще имат достъп до мрежата (ако те започват връзката) но отвън нищо няма да може да се свърже с тях - значи фаерлолът нараства на 4 реда


Редактирано от mcwolf на Декември 12 2005, 11:00
Контакти:  mcwolf

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #6 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 12 2005, 19:37
Zero_effect

Avatar




Група: Li maniacs
Мнения: 489
Регистриран: Юли 2005

Оценка: 5

Offline
Аз от параноична гледна точка задавах въпроса, иначе нищо не съм пипнал почти по iptable-а ми, освен че съм добавил за рутиране, коментирах няколко реда и го разкрасих.

Код: 
# Generated by iptables-save v1.2.11 on Fri Dec  9 22:51:11 2005
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [191:28310]
:RH-Firewall-1-INPUT - [0:0]

# ERTGM Server Port
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6061 -j ACCEPT

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

# Accept all traffic from the loopback interface.
-A RH-Firewall-1-INPUT -i lo -j ACCEPT

# Allow ICMP
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

# ipv6
#-A RH-Firewall-1-INPUT -p ipv6-crypt -j ACCEPT
#-A RH-Firewall-1-INPUT -p ipv6-auth -j ACCEPT

#-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT

#-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

# Accept legitimate responses to traffic we generate.
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# SSH
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

# WWW
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

#-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

# Completed on Fri Dec  9 22:51:11 2005
# Generated by iptables-save v1.2.11 on Fri Dec  9 22:51:11 2005
*nat
:PREROUTING ACCEPT [7:872]
:POSTROUTING ACCEPT [1:116]
:OUTPUT ACCEPT [1:116]

-A POSTROUTING -o ppp+ -j MASQUERADE

COMMIT
# Completed on Fri Dec  9 22:51:11 2005


Ето този ред беше проблематичен, защото пречеше на рутирането(и го коментирах) :

Код: 
#-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited


Всъщност с каква цел е това?

Някакъв съвет да ми дадете друг?


Редактирано от Zero_effect на Декември 12 2005, 20:07
Контакти:  Zero_effect

  • AOL  AOL:
  • ICQ  ICQ: 94584818
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #7 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 13 2005, 18:09
LazCorp

No avatar chosen




Група: Li fans
Мнения: 31
Регистриран: Ноември 2005

Оценка: няма

Offline
Всичко което минава през веригата INPUT, но не попада в горните правила се REJECT-ва.

Контакти:  LazCorp

  • AOL  AOL:
  • ICQ  ICQ: 178489938
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #8 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 13 2005, 23:08
Zero_effect

Avatar




Група: Li maniacs
Мнения: 489
Регистриран: Юли 2005

Оценка: 5

Offline
Горе-долу излиза, че цялата таблица е абсурд без този ред, но той не позволява и на клиентите на рутера да имат интернет.

Може би някакви специални права да пусна за компютрите от локалната мрежа.

Някакъв друг вариант?
Контакти:  Zero_effect

  • AOL  AOL:
  • ICQ  ICQ: 94584818
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #9 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 14 2005, 10:20
mcwolf

No avatar chosen




Група: Li gurus
Мнения: 1489
Регистриран: Април 2005

Оценка: 5

Offline
Zero_effect реално погледнато този файл не означава нищо (веднъж вече ти го казах май) - ако искаш някаква адекватна помощ трябва да дадеш състоянието на фаерлолът а не този скрипт

INPUT веригата на filter таблицата няма нищо общо с FORWARD веригата - просто пакетите са разделиени на три - пакети предназначени за процеси на машината INPUT, пакети които се изпращата от процеси в машината ти OUTPUT и пакети които се рутират FORWARD - правилата поставени в една от тези вериги не влияиат по никакъв начин на другите вериги

този скрипт който си дал създава допълнителна верига RH-Firewall-1-INPUT и блъска всички правила в нея - така че това разделяне на практика липсва - затова ти казах че ще е много по ефективно ако си направиш сам правилата - просто си направи едно скриптче и го стартирай последно - така ще си сигурен че нищо няма да отмени това което си направил
Контакти:  mcwolf

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #10
Skip to the previous post in this topic. Написано на: Декември 14 2005, 15:35
Zero_effect

Avatar




Група: Li maniacs
Мнения: 489
Регистриран: Юли 2005

Оценка: 5

Offline
Не бих създавал конфликти, като използвам допълнителни файлове. Нищо не ми пречи да разкарам "RH-Firewall-1-INPUT" от цялата верига, защото частта, в която се свързва с INPUT и FORWARD ясно се вижда и той не е нещо отделно.

По конфигурационния файл може да се даде преценка какво е моментното състояние, но все пак е добре да се прилагат и резултатите от ония команди, за да е сигурно, че няма и други фактори.

Когато си оправя конфигурацията на сървъра ще пусна малко по-широка статистика освен този файл, за да дадете някой съвет (в момента други проблеми изникнаха).


Редактирано от Zero_effect на Декември 14 2005, 15:38
Контакти:  Zero_effect

  • AOL  AOL:
  • ICQ  ICQ: 94584818
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Общо 9 отговор(а) от Декември 10 2005, 00:11 до сега
 » Начало » Li Форуми » Help & Support » Servers & Services » Сървър и рутер в същото време

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums