The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"посмотрите на мои rc.* (FreeBSD 5.4)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"посмотрите на мои rc.* (FreeBSD 5.4)"  
Сообщение от paulencio email(ok) on 26-Мрт-07, 10:42 
Добрый день! я пока новичок во фре, подскажите пожалуйста некоторые моменты.
Задача: поднять шлюз для раздачи инета в локальную сеть (20 машин)
Что уже сделано:
1.ядро скомпилировано с поддержкой ipfw, поднят NAT, SQUID (авторизация по IP)и 80 завернут на 3128;
2.поднят Named, прописана dns-зона для моей внутренней подсети;
3.боекомплект Apache+SSL+perl+php+mysql;
4.Подсчет трафика пока что на LightSquid;
Есть куча вопросов:
посмотрите, правильно ли я настроил файер:

#cat rc.firewall

fwcmd="/sbin/ipfw -q"     # ключик -q (нефиг засорять консоль)
ournet="192.168.150.0/24" # моя локалка
iip="192.168.150.101"     # внутренний IP шлюза
oip="212.12.X.X"          # внешний IP шлюза
squid="127.0.0.1"         # тут висит сквид
ifout="rl0"               # Внешний интерфейс
ifuser="sis0"             # Внутренний интерфейс

${fwcmd} -f flush
# защитился как умел, мож еще чего-то добавить?
${fwcmd} add 100 deny log icmp from any to any in icmptype 5,9,13,14,15,16,17
${fwcmd} add 110 deny log all from any 135-139,445,3306 to any via ${ifout}
${fwcmd} add 120 deny ip from ${ournet} to any in via ${ifout}

#Разрешить прохождение любых пакетов внутри системы (127.0.0.1)
${fwcmd} add 200 allow ip from any to any via lo
${fwcmd} add 210 allow tcp from me to any via ${ifout}

#Разрешить прохождение любых ICMP-пакетов (да пусть так, ничего страшного)
${fwcmd} add 220 allow icmp from any to any

#Разрешить DNS запросы через мой named
${fwcmd} add 310 allow udp from ${iip} to any 53        # мой DNS-сервер -> наружу
${fwcmd} add 320 allow udp from ${ournet} to ${iip} 53  # Внутренняя подсеть -> запрашивает у моего DNS-сервера
${fwcmd} add 330 allow udp from any to ${oip} 53        # Internet -> внешний IP

#Разрешить все пакеты с этого сервера (сам себе доверяю)
${fwcmd} add 340 allow ip from ${oip} to any
${fwcmd} add 350 allow ip from ${iip} to any

#SSH (подключаюсь только из внутренней сети)
${fwcmd} add 400 allow tcp from ${ournet} to ${iip} 22
${fwcmd} add 410 allow tcp from any to ${oip} 22

#Forward for squid завернул на сквид (а авторизация на сквиде по IP)
${fwcmd} add 500 fwd ${squid},3128 tcp from ${ournet} to any 80 out via ${ifout}

#NAT
${fwcmd} add 510 divert natd ip from ${ournet} to any out via ${ifout}
${fwcmd} add 520 divert natd all from any to ${oip} in via ${ifout}

# А теперь по каждому разрешенному сервису:
#ICQ
${fwcmd} add 530 pass tcp from ${ournet} to any 5190
${fwcmd} add 540 pass tcp from any 5190 to ${ournet}

#Jabber
${fwcmd} add 530 pass tcp from ${ournet} to any 5223
${fwcmd} add 540 pass tcp from any 5223 to ${ournet}

#FTP
${fwcmd} add 550 pass tcp from any 21 to any
${fwcmd} add 560 pass tcp from any to any 21
${fwcmd} add 570 pass tcp from any 20 to any
${fwcmd} add 580 pass tcp from any to any 20

#SMTP
${fwcmd} add 590 pass tcp from ${ournet} to any 25
${fwcmd} add 600 pass tcp from any 25 to ${ournet}

#POP3
${fwcmd} add 610 pass tcp from ${ournet} to any 110
${fwcmd} add 620 pass tcp from any 110 to ${ournet}

#HTTP
${fwcmd} add 630 pass tcp from ${ournet} to any 80,8080,443
${fwcmd} add 640 pass tcp from any 80,8080,443 to ${ournet}

#HTTP (c-panel)
${fwcmd} add 650 pass tcp from ${ournet} to any 2083
${fwcmd} add 660 pass tcp from any 2083 to ${ournet}

#NTP (Это для синхронизации времени)
${fwcmd} add 710 pass udp from ${ournet} to any 123
${fwcmd} add 720 pass udp from any 123 to ${ournet}

${fwcmd} add 65500 deny log all from any to any

Конфиг полностью рабочий.
Может я чего лишнего накрутил?
Смущает named, может попроще как-то решить?
NAT divert правильно я сделал?

Спасибо за поддержку!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "посмотрите на мои rc.* (FreeBSD 5.4)"  
Сообщение от maxsvet email(??) on 27-Мрт-07, 13:08 
По моему многовато лишнего, посмотри мой rc.firewall

#!/bin/sh

fwcmd="/sbin/ipfw"
${fwcmd} -f flush

################################################
## Внешняя сеть (Инет) #########################

oif="rl0"
onet="xxx.xxx.xxx.xxx"
omask="xy"
oip="yyy.yyy.yyy.yyy"

###############################################
### Определение переменных для разрешений #####
asxxx="*.*.*.*"
moon="*.*.*.*"
predxxx="*.*.*.*"
yarxxx="*.*.*.*"


## Внутренняя сеть (Локаль)####################
iif="rl1"
inet="192.168.1.0"
imask="24"
iip="192.168.1.21"
################################################


### Правила для "Локальной петли" (внутри сервера всё могёт крутится) ###
${fwcmd} add 100 allow all from any to any via lo0
${fwcmd} add 200 deny all from any to 127.0.0.0/8
${fwcmd} add 300 deny ip from 127.0.0.0/8 to any

### Запретить хождения сеток на не свои интерфейсы (перекрёстные)###
### На всякий случай, бо це обурливо ###
${fwcmd} add 1000 deny all from ${inet}/${imask} to any in via ${oif}
${fwcmd} add 1010 deny all from ${onet}/${omask} to any in via ${iif}

### Запрещаем подключение через внешний интерфейс частных сеток ###
### Нечего им там подключаться ;) ###
${fwcmd} add 2000 deny all from any to 10.0.0.0/8 via ${oif}
${fwcmd} add 2010 deny all from 10.0.0.0/8 to any via ${oif}
${fwcmd} add 2020 deny all from any to 172.16.0.0/12 via ${oif}
${fwcmd} add 2030 deny all from 172.16.0.0/12 to any via ${oif}
${fwcmd} add 2040 deny all from any to 0.0.0.0/8 via ${oif}
${fwcmd} add 2050 deny all from 0.0.0.0/8 to any via ${oif}
${fwcmd} add 2060 deny all from any to 169.254.0.0/16 via ${oif}
${fwcmd} add 2070 deny all from 169.254.0.0/16 to any via ${oif}
${fwcmd} add 2080 deny all from any to 192.0.2.0/24 via ${oif}
${fwcmd} add 2090 deny all from 192.0.2.0/24 to any via ${oif}
${fwcmd} add 2100 deny all from any to 224.0.0.0/4 via ${oif}
${fwcmd} add 2110 deny all from 224.0.0.0/4 to any via ${oif}
${fwcmd} add 2140 deny all from any to 192.168.0.0/16  via ${oif}
${fwcmd} add 2150 deny tcp from 192.168.0.0/16 to any via ${oif}

### Разрешаем крутится мускулу только внутри сервера###
${fwcmd} add 3000 deny tcp from not me to me 3306

##########  Прокси Squid и Froxy #################################
${fwcmd} add 3050 fwd 127.0.0.1,3128 tcp from ${inet}/${imask} to any 80 via ${oif}
${fwcmd} add 3055 fwd 192.168.1.21,2121 tcp from ${inet}/${imask} to any 21
########## НАТ #######
${fwcmd} add 3060 divert natd tcp from ${inet}/${imask} to any out via ${oif}
####Для пингов внаружу ####
${fwcmd} add 3065 divert natd icmp from any to any via ${oif}

### отбрасываем фрагментированые пакеты ###
${fwcmd} add 3070 deny icmp from any to any frag

### Пинги ###
${fwcmd} add 3080 allow icmp from any to any icmptypes 0,8,11


### Уж кто попал, тот пусть работает по етому правилу, нефиг проверять каждый раз ###
### если конект установлен, значит какоето правило пропустило ###
${fwcmd} add 4000 allow tcp from any to any established


### Доступ по ssh из вне (с определённого хоста)###
${fwcmd} add 6000 allow tcp from ${moon} to ${oip} 22 setup

### Почта ###
${fwcmd} add 6010 allow tcp from any to ${oip} 25 setup

#####Почта (из нутри чтоб трояны не плодились) ###########
${fwcmd} add 6015 allow tcp from ${inet}/${imask} to ${iip} 25 setup


############ Доступ к веб ресурсам (мыло и Интранетовский сайт) ###

### XXX ###
${fwcmd} add 6020 allow tcp from ${astxxx} to ${oip} 80 setup

### YYY  ###
${fwcmd} add 6030 allow tcp from ${predxxx} to ${oip} 80 setup

### ZZZ ###
${fwcmd} add 6040 allow tcp from ${yarxxx} to ${oip} 80 setup

### Moon ########################################################

#${fwcmd} add 6050 allow tcp from ${moon} to ${oip} 80 setup

#################################################################

### Заперщаем доступ к внешнему интерфейсу (с записью в лог)###
### всё что непрохавали правила с пометкой setup ###
${fwcmd} add 7000 deny log tcp from any to any in via ${oif} setup

### Разрешить пакеты которые не запрещены выше ###
### в частности для доступа к серверу из локальной сети ###
### кулхацкеров пока не наблюдалось внутри локалки :) ###
${fwcmd} add 8000 allow tcp from any to any setup

### Для DNS###
${fwcmd} add 9000 allow udp from ${oip} to any 53 keep-state
${fwcmd} add 9010 allow udp from any to ${oip} 53 keep-state
${fwcmd} add 9020 allow udp from ${iip} to ${inet}/${imask} 53 keep-state
${fwcmd} add 9030 allow udp from ${inet}/${imask} to ${iip} 53 keep-state

### Для сервера времени ###
${fwcmd} add 9040 allow udp from ${oip} to any 123 keep-state
${fwcmd} add 9050 allow udp from any 123 to ${oip} keep-state
${fwcmd} add 9060 allow udp from ${inet}/${imask} to ${iip} 123 keep-state
${fwcmd} add 9070 allow udp from ${iip} 123 to ${inet}/${imask} keep-state

#### На самом деле ето правило не нужно если по дефолту все пакеты запрещены
#### в ядре (так ... для перестраховки, кушать-то не просит :)
${fwcmd} add 10000 deny ip from any to any
====================

аську пускай через прокси и т.д.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру