Ключевые слова:linux, ipfwadm, rule, example, firewall, (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alexej Novikov 2:5100/21.59 23 Jul 96 17:35:16
Subj : Firewall rules
________________________________________________________________________________
Здpав будь бояpин . Andy! .
В ответе на послание Andy Ushakov от <18 Jul 97>
хочется ответить вот что !
AU> Hello All!
AU> Может быть, кто-нибудь из специалистов опубликует здесь свой набор
AU> вызовов ipfwadm? Особенно интересует случай с IP-masquerade'ом, Dial on
AU> demand, и динамическим адресом на ppp0. Если бы еще с комментариями...
AU> Заранее спасибо.
Вот пжалуйста !
У меня fake фдpеса диапазона 10.0.10.0 / 255.255.255.0
ipfwadm пускается так
# Все в ноль
ipfwadm -I -p accept
ipfwadm -I -f
ipfwadm -O -p accept
ipfwadm -O -f
ipfwadm -F -p deny
ipfwadm -F -f
# Далее идут те кому pазpешен выход
ipfwadm -F -a masquerade -S 10.0.10.1 -D 0.0.0.0/0.0.0.0
тут вpоде все ясно pазpешить 10.0.10.1 выход наpужу и везде... остальные по
такомуже пpинципу
Что касается Diald то там все стандаpтно... постоянно висит. Rulez в нем почти
не пpавил *то что пpавил тебе не надо* пеpеодически шлю ему в pipe
pазpешения/запpет на pаботу (из crontab)
Что касается ppp то у меня один постоянный адpес... но судя по докам с
динамическим тоже пофиг...
Hа самом деле в доках вполне пpилично написано.... главное потpатить на них
вpемя и теpпение !
AU> Andy
Желаю вам здpавия & stuff
e-mail:[email protected] Ё http://www.ocean.lv/ric
Алексей Hовиков
---
* Origin: * Зубов боятся - в pот не давать * (2:5100/21.59)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alexej Novikov 2:5100/21.59 23 Jul 96 17:35:16
Subj : Firewall rules
________________________________________________________________________________
Здpав будь бояpин . Andy! .
В ответе на послание Andy Ushakov от <18 Jul 97>
хочется ответить вот что !
AU> Hello All!
AU> Может быть, кто-нибудь из специалистов опубликует здесь свой набор
AU> вызовов ipfwadm? Особенно интересует случай с IP-masquerade'ом, Dial on
AU> demand, и динамическим адресом на ppp0. Если бы еще с комментариями...
AU> Заранее спасибо.
Вот пжалуйста !
У меня fake фдpеса диапазона 10.0.10.0 / 255.255.255.0
ipfwadm пускается так
# Все в ноль
ipfwadm -I -p accept
ipfwadm -I -f
ipfwadm -O -p accept
ipfwadm -O -f
ipfwadm -F -p deny
ipfwadm -F -f
# Далее идут те кому pазpешен выход
ipfwadm -F -a masquerade -S 10.0.10.1 -D 0.0.0.0/0.0.0.0
тут вpоде все ясно pазpешить 10.0.10.1 выход наpужу и везде... остальные по
такомуже пpинципу
Что касается Diald то там все стандаpтно... постоянно висит. Rulez в нем почти
не пpавил *то что пpавил тебе не надо* пеpеодически шлю ему в pipe
pазpешения/запpет на pаботу (из crontab)
Что касается ppp то у меня один постоянный адpес... но судя по докам с
динамическим тоже пофиг...
Hа самом деле в доках вполне пpилично написано.... главное потpатить на них
вpемя и теpпение !
AU> Andy
Желаю вам здpавия & stuff
e-mail:[email protected] Ё http://www.ocean.lv/ric
Алексей Hовиков
---
* Origin: * Зубов боятся - в pот не давать * (2:5100/21.59)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Andy Ushakov 2:5030/435 23 Jul 97 21:43:00
Subj : Firewall rules
________________________________________________________________________________
Hello Aleksey!
21 Jul 97 17:54, Aleksey Zavilohin wrote to Andy Ushakov:
AU>> Может быть, кто-нибудь из специалистов опубликует здесь свой
AU>> набор вызовов ipfwadm? Особенно интересует случай с
AU>> IP-masquerade'ом, Dial on demand, и динамическим адресом на ppp0.
AU>> Если бы еще с комментариями...
AZ> А че на них смотреть, ipfwadm -h и man ipfwadm смотрел
Смотрел, и не только сюда.
AZ> не знаешь как на конкретный интерфейс вешаться смотри ключики -V/-W
AZ> типа
Знаю...
AZ> дозвонка и файрвол относятся как вино и колбаса, т.е. и то и то
AZ> продукты и в результате получишь свой кайф 8-) (то бишь выход в Инет с
AZ> всех мест)
Еще раз: первая проблема в том, что у меня адрес на ppp0 динамический, и я не
могу просто взять и написать строчки типа:
ipfwadm I -a accept -W ppp0 -S 0/0 -D <ppp_ip_address>
ipfwadm I -a deny -W ppp0 -S 0/0 -D 0/0
чтобы закрыть доступ из internet'а за firewall к рабочим станциям в локальной
сети. Выше - фактически фрагмент примера то ли из Firewall_HOWTO, то ли из
NET3_HOWTO, то с ip-masquerade home page (www.hwy401.com/achau/ipmasq). И везде
примеры лишь на фиксированный адрес на модеме.
Вторая - что положено делать с имеющимся из-за Diald интерфейсом sl0? Hе
_как_, а _что_. Я то из-за странной проблемы, про которую раньше написал,
заткнул его насмерть, но, может, это неправильно? :-)
Третий вопрос: какова стратегия использования разных ключиков типа -b, -y и
-k?
Andy
--- GoldED/386 2.50+ * Origin: SUNJET SYSTEMS (2:5030/435)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alexander L. Belikoff <[email protected]> 26 Jul 97 13:44:42
Subj : Re: Firewall rules
________________________________________________________________________________
X-RealName: Alexander L. Belikoff
RFC- <[email protected]>
Andy Ushakov <[email protected]> writes:
>
> Третий вопрос: какова стратегия использования разных ключиков типа -b, -y и
> -k?
-b - морально устаревший (по словам автора), делает вот что:
ipfwadm ... -b -S XXXXX -D YYYYY
эквивалентно:
ipfwadm ... -S XXXXX -D YYYYY
ipfwadm ... -S YYYYY -D XXXXX
-y - сопоставляет правило только с теми TCP пакетами, которые имеют
поднятым флаг SYN. Это, в нормальной TCP-перекличке первый пакет -
запрос на соединение. Соответственно, это можно использовать, чтобы
разрешить пакеты по уже установленным соединениям, но запретить
инициирование новых.
А вообще, читайте литературу по firewall'ам. Для того, чтобы
возиться со всем этим, литература необходима. Всё-таки речь о
безопасности идёт...
--
-Alexander
Alexander L. Belikoff [email protected]
Berger Financial Research Ltd.
---
* Origin: Demos Online Service (2:50/128.0@fidonet)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alex Korchmar 2:5020/28.100 05 Sep 97 01:33:48
Subj : ipfwadm
________________________________________________________________________________
Hi Dmitry,
On 03/Sep/97 at 15:33 you wrote:
DB> Затpахался я с ним. Получается или все отpубить, или все pазpешить.
DB> Ясное дело, кpивые pуки, но все же...
нет, дело явно не в бобине. Головой пробовал? В смысле, думать? :-)
Во-первых, ты очень хорошо описал _тачку_, вместо того, чтобы описать _что_ она
должна делать. (я уж не говорю о такой "мелочи", как конфиг ядра) Во-вторых, а
что, собственно, ты хочешь от файрвола? Он для того и задуман, чтобы "все
отрубить"...
DB> Есть тачка, на ней eth0 и ppp-1 (Кpоникс). Hа ней же
это понятно
DB> DNS,FTP,WWW,Squid Она же должна и файpволить. За ней дальше по
это непонятно. Чей dns? Твой, чужой, внутриконторский на левых адресах,
cache-only? ftp и www (ик... а вот я бы не ставил их на ту же машинку, которая
служит файрволлом. Догадайся-ка, почему.) - ладно, squid. Предполагаю, что
угадал, сквидом внутрь, фтпями наружу. Почты что - нету? Ремотно пинать весь
этот бардак собираешься?
DB> ethernet'у BinkD и усеpа, котоpым чеpез пpокси WWW можно, а
с настоящим IP или левым? (т.е. нужен маскарад или только форвард?)
DB> напpямую - ни-ни.
я надеюсь, у тебя нет ложных иллюзий по поводу работы через это дело ftp, хитрых
плагинов и т.п.? ("по-моему, черепаха все же дохлая")
DB> Кто пpишлет _pаботающие_на_самом_деле_ скpипты, гpаницы моих
думаю, извращенцев мало :) как-то диковато держать дома файрволл, а
экспериментировать на живой сети фанатов, думается, еще меньше. Свои не дам -
во-первых, другая конфигурация, во-вторых я вообще не жажду их показывать.
DB> благодаpностей не будут иметь pазмеpов :-) Теоpетиков пpошу не
DB> беспокоиться, ибо я и сам теоpетик, TFM уже изгpыз напpочь...
ладно. Вот тебе примерный алгоритм для тех, кому TFM показался жестковат (я
надеюсь, ты уже прочел Firewall-HOWTO?). Предполагаю, что адреса во внутренней
сети у тебя настоящие. В любом случае, это не догма, а "посмотреть, и принять к
сведению".
1) и главное - vi /etc/inetd.conf, и выключи там _все_, кроме необходимого. В
частности - лишние simple tcp services.
2) и тоже главное:
# отрубаем желание роутить ip куда попало
ipfwadm -F -p deny
# и вообще желание ловить какие-то там пакеты
ipfwadm -I -p deny
# если ты сделал это через телнет - поздравляю, нажми ресет и начинай сначала
:)
3) а теперь начинаем разрешать обратно - ничего, кроме самого необходимого
# предположим, что ты доверяешь собственной сети (а вот я этого не делаю :)
ipfwadm -I -a accept -S localnet/mask -W eth0
# но во всяком случае, наоборот мне не хочется. Поэтому тупо перечисляем то,
что жаждем видеть приходящим к нам в гости, не забывая, что в одной команде
может быть только десяток адресов, а диапазон занимает два адреса
ipfwadm -I -a accept -D localnet/mask www ftp ftp-data binkp ssh smtp ну и кто
там еще тебе нужен -W ppp0 -P tcp
повторить для udp и icmp
# самое гадкое, но, кажется, неизбежное
ipfwadm -I -a accept -S 0.0.0.0/0 -D your.gateway.host 1024:65535
4) так, с медведицей разобрались, какому еще там чукче я должен пожать лапу? (c)
один геолог
# твоему binkd не мешало бы разрешить видеть внешний мир
ipfwadm -F -a accept -P tcp -S our.binkd.host -D 0.0.0.0/0 binkp
# и внешнему миру - его
ipfwadm -F -a accept -P tcp -S0.0.0.0/0 -D our.binkd.host binkp
# вероятно, это не единственное, что тебе надо пропускать внутрь? Во всяком
случае, я оставил бы ssh.
5) совсем забыл еще один интерфейс - а зря.
ipfwadm -I -a accept -S 127.0.0.1 -D 127.0.0.1 -W lo
6) настоящий параноик, вроде меня, на этом бы не остановился, добавив deny по
умолчанию для выходного фильтра (afaik, это заметно ухудшает производительность)
и, опять же, разрешив только то, что явно необходимо выпускать.
7) если твой dual ppro еще кое-как работает, полезно добавить к этому еще и
accounting - по правилу на каждую внутриконторскую тачку, если их не шибко
много, плюс правило для всей сети - просмотр этой информации, хотя бы раз в
неделю, готовит тебе немало приятных открытий.
*) это совсем не для параноиков, но: форвард icmp мессаджей и echo я бы все же
оставил. Юзерам иногда очень нравится, что у них работает ping/traceroute, не
говоря уж о том, что они могут пригодиться тебе самому
> Alex
P.S. мда... может, проще к тебе добраться и все настроить? :)
--- MadMED v0.42i/DOS (Jul 22 1997 14:33:06) * Origin: Down System (2:5020/28.100)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Andy Ushakov 2:5030/435 09 Sep 97 13:32:44
Subj : ipfwadm
________________________________________________________________________________
Hello Alex!
05 Sep 97 01:33, Alex Korchmar wrote to Dmitry Baronov:
AK> # самое гадкое, но, кажется, неизбежное
AK> ipfwadm -I -a accept -S 0.0.0.0/0 -D your.gateway.host 1024:65535
Hу, тут тоже можно чуть кислород перекрыть, если вместо твоей одной строчки
написать две:
ipfwadm -I -a accept -S 0.0.0.0/0 -D your.gateway.host 1024:65535 -P udp
ipfwadm -I -a accept -S 0.0.0.0/0 -D your.gateway.host 1024:65535 -P tcp -k
Т.е. разрешить лишь tcp пакеты с установленным битом ACK в заголовке...
AK> 4) так, с медведицей разобрались, какому еще там чукче я должен
AK> пожать лапу? (c)
В самом конце серии вызовов с -I я бы добавил еще и
ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o
чтобы все, что отсекается (может быть, только на ppp0) - протоколировалось.
Собственно говоря, и для -F и -O серий фильтров, если и там вначале явно
перечислено то, что разрешено, я бы это добавил аналогичные строчки.
AK> 5) совсем забыл еще один интерфейс - а зря.
AK> ipfwadm -I -a accept -S 127.0.0.1 -D 127.0.0.1 -W lo
AK> 6) настоящий параноик, вроде меня, на этом бы не остановился, добавив
AK> deny по умолчанию для выходного фильтра (afaik, это заметно ухудшает
AK> производительность) и, опять же, разрешив только то, что явно
AK> необходимо выпускать.
В том числе и внутрь локальной сети.
Andy
--- GoldED/386 2.50+ * Origin: SUNJET SYSTEMS (2:5030/435)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alex Korchmar 2:5020/28.100 29 Nov 97 03:12:46
Subj : Masq + fairw.
________________________________________________________________________________
Hi Fyodor,
On 28/Nov/97 at 05:58 you wrote:
FU> Что-то я притормаживаю (возможно последствия ночного бдения). Есть
сейчас я наглюкаю, а народ подправит. (хм, не тем же ли способом я свои
файрволлы настраиваю? :)
FU> такая сеть: A(194.85.143.12/26)--+
FU> B(194.85.143.16/26)--+
FU> C(192.168.1.1/24)----+
FU> D(192.168.1.2/24)----+--(194.85.143.1/26)L(194.85.143.77/26)-
FU> Internet
я чего-то не понял? У тебя _две_ разные сети в одной физической? Тогда нихрена у
тебя не выйдет. Или это ты для упрощения и 192.168.1 за отдельным роутером? Если
все же нет - внедряй, блин, ip-aliasing, блин, тогда,блин, L станет выглядеть
как
(192.168.1.254/24)eth0:1
(194.85.143.1/26)eth0:0 L eth1(194.85.143.77/26)
и проблема исчезнет сама собой -
FU> 1. Замаскарадить машины C и D.
FU> 2. Закрыть машину A по всем портам, кроме 23 и 24554.
FU> 3. Закрыть машину B по всем портам, кроме 80.
ipfwadm -F -p deny
ipfwadm -F -m -a accept -S 192.168.1.0/24 -W 192.168.1.254
ipfwadm -F -a accept -P tcp -S 194.85.143.12 23 24554 -W 194.85.143.1
ipfwadm -F -a accept -P tcp -D 194.85.143.12 23 24554 -W 194.85.143.77
[только так работать нихрена не будет, если у тебя на 23 то, о чем я думаю.
Извини - так ты задание поставил. Если тебе "ходить телнетом на A" надо было, то
вместо этого:
ipfwadm -F -a accept -k -P tcp -S 194.85.143.12 23 24554 -D0.0.0.0/0 1024:65535 -W
194.85.143.1
ipfwadm -F -a accept -P tcp -S 0.0.0.0/0 1024:65535 -D 194.85.143.12 23 24554 -W
194.85.143.77
надо делать]
ipfwadm -F -a accept -k -P tcp -S 194.85.143.16 80 -D0.0.0.0/0 1024:65535 -W
194.85.143.1
ipfwadm -F -a accept -P tcp -S -0.0.0.0/0 1024:65535 -D 194.85.143.16 80 -W
194.85.143.77
[уж 80-й то порт у тебя точно то, о чем я думаю ]
-W - защита от спуфинга адресов. Я, кстати, совершенно не уверен, что в
алиасеной конфигурации это будет работать. Если вдруг будет, то добавь еще и -V
интерфейс, на всякий пожарный случай. Если и это заработает, то линукс в десять
раз круче, чем я думал.
Hо, если вдруг тебе приспичит кого-то тут сделать ftp-сервером, то участь твоя
совсем печальна, ибо ему кровь из носу надо 21-й порт на "той" стороне и
"верхние" у себя, и без -k. И еще на его стороне тоже 21-й на верхние у
неприятеля, иначе такие же обормоты не смогут с ним работать (passive).
> Alex
P.S. приведенные мной команды - не руководство к действию, а информация к
размышлению. Получившаяся конфигурация - insecure и чрезвычайно уязвима.
Особенно учитывая, что ты дал настоящие адреса :)
--- MadMED v0.42i/DOS * Origin: Down System (2:5020/28.100)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alex Korchmar 2:5020/28.100 18 Dec 97 01:56:48
Subj : Diald+IP-masquerade over and over again :)
________________________________________________________________________________
Hi Dmitry,
On 17/Dec/97 at 01:13 you wrote:
DB> Может быть и прозрачно, но для меня - не совсем. Вопрос заключается
DB> в следующем. Мне нужно пропускать из интернета внутрь сетки только
DB> www и ftp и отсеивать все остальное (например то, что относится к
ээ... ^^^^^^^ ты хочешь _снаружи_ ходить на _внутренние_ ftp/www в твоей сетке?
Hе выйдет. Маскарад тут не поможет - нужны настоящие адреса. Для настоящих все
тривиально - -I allow -P tcp -Dтвойwwwсервер 80 20 21 -S0.0.0.0/0 1024:65535 -W
внешний интерфейс # мы разрешаем ftp-data, поскольку кто-то может приходить тоже
через файрволл, и им нужен passive.
-S0.0.0.0 20 -Dтвойftpсервер 1024:65535 # а это для тех, у кого с ftp все
нормально
и если этот сервер не на той же тачке, то:
-F то же самое
-O то же самое для внутреннего интерфейса
это позволяет прислать пакет нам. Теперь то же самое в обратную сторону - -Sтвой
сервер допустимые порты -Dвсе остальные на высокие порты. -k по вкусу (опять же
не забыть про ftp-data).
DB> netbios over IP - я не хочу позволять кому попало лазить на WinNT
DB> внутри сетки :). Если бы адреса были настоящие, это бы легко
а он и не сможет - первый же встречный роутер отправит пакет для твоей левой
сетки в задницу.
DB> И еще вопрос, касающийся основ маскарада - как устанавливается
DB> соотношение между адресом/портом машины внутри сетки и портом
DB> пакета снаружи? Могу ли я (хацкер) по своей инициативе сформировать
по максимально отбалдовому принципу
DB> снаружи пакет, который придет на заданный адрес/порт внутри сетки?
вот именно по этой причине.
DB> Это я к тому, что, может, хитрая фильтрация, о которой я спрашивал
DB> в предыдущем абзаце нафиг не нужна...
не нужна, но лучше ее иметь.
DB> instead. ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o
тоже не советую :) тут можно придумать отличную DoS attack - логи-то у тебя,
небось, не резиновые.
> Alex
--- MadMED v0.42i/DOS (Jul 22 1997 14:33:06) * Origin: Down System (2:5020/28.100)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alex Korchmar 2:5020/28.100 20 Dec 97 01:57:42
Subj : Diald+IP-masquerade over and over again :)
________________________________________________________________________________
Hi Dmitry,
On 19/Dec/97 at 01:12 you wrote:
AK> ээ... ^^^^^^^ ты хочешь _снаружи_ ходить на _внутренние_ ftp/www в
AK> твоей сетке?
кстати, если я правильно понял то, что Борис тут цитировал, это становится
возможным :)
DB> Извини, я, видимо, не умею ясно выражать свои мысли :) Речь шла о
DB> клиентах внутри сетки, которые ходят наружу к www/ftp серверам
а сквид поставить ты из принципа не хочешь?
DB> (кстати, FAR'овский ftp работает, несмотря на твои мрачные прогнозы
DB> :)). Ответные пакеты от этих серверов должны, естественно,
DB> возврашаться внутрь с помощью маскарадного форвардинга.
не должны. Они адресованы твоей маскарадящей тачке, и обратное преобразование
выполняется автомагически, никаких спецнастроек тут не требуется.
DB> Все здорово, но к маскараду это IMHO отношения не имеет.
никакого. Это настройки для настоящих адресов, для захода к тебе снаружи.
DB> Во-первых, теоретически посылать пакеты на 192.168.* (и прочие
DB> частные адреса) может мой провайдер - на его пути нет ни одного
DB> роутера.
достаточно и твоего. Я надеюсь, у тебя -I -p deny ? И на ppp/sl или кто там у
тебя в провайдера нацелен, -I -S 192.168. тоже deny?
DB> Во-вторых, вопрос опять был не про то :) AFAIK, маскарад занимает
DB> верхние 4k адресов портов. Предположим, снаружи приходит пакет на
DB> мой ppp0 с адресом порта 63999. Этот порт вроде относится к
DB> маскараду. Будет ли пакет передан маскараду и попытается ли тот
нет.
DB> Предположим, я (нехороший человек) поймал где-то снаружи пакет с
DB> гейта с портом 65000 и поглядев на него понял, что это broadcast от
DB> NetBIOS :) (рассматриваем случай, когда защиты нет). Поглядев на
ну, если ты еще и броадкасты ухитряешься форвардить, то лично мне столь
идиотский случай малоинтересен.
DB> Вот я и спрашиваю - как это сделать?
DB>> instead. ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o
AK> тоже не советую :) тут можно придумать отличную DoS attack - логи-
AK> то у тебя, небось, не резиновые.
DB> Это не моя конфигурация, это просто была ссылка на источник, в
я и говорю - опасный это источник.
DB> котором указывалось, что в правиле -F -a masquerade нужно
DB> указывать -W ppp0. Ты сказал, что если стоит diald, то так делать
надо думать, авторы предполагали что ты ppp юзерам через маскарад раздаешь, а не
наоборот.
DB> не надо. А как все-таки надо - вообще не писать -W? Писать два
писать, обязательно. -V eth0
DB> правила для ppp0 и sl0? И как быть с защитой - правило -F -a
DB> masquerade, насколько я понимаю, двунаправленное, а фильтрация
_одно_,блин! Ответный пакет адресован _тебе_, а не машине за файрволлом.
Hикакого форварда тут нет и в помине.
DB> В общем, может расскажешь в последний раз, причем желательно
DB> командами ipfwadm :), как сделать следующее:
DB> Дано:
DB> Сетка на левых адресах с Linux-машиной с ppp0 в качестве шлюза в
DB> Интернет. Hа линуксовой машине только (все остальное опускаем для
DB> простоты): 1. Маскарад
DB> 2. Diald
DB> 3. DNS, авторитетный для локального домена (левого). Все, что не
DB> знает, форвардит провайдеру. Требуется:
DB> Дать возможность клиентам из локальной сетки лазить в Интернет к
DB> www/ftp серверам, ну и чтобы ping/traceroute наружу у них работал.
последнее потребует патчить ipfwadm (форвардинг любых icmp пакетов - это не для
параноиков). Оно тебе надо?
DB> Вопрос: Как настроить firewall, чтобы вся эта конструкция работала,
DB> а все остальное зафильтровывалось нафиг?
"ну как ты мне надоел". Hу было же это уже! [поправлено для маскарада]
Курсы для админов-параноиков On
# отрубаем желание роутить ip куда попало
ipfwadm -F -p deny
# и вообще желание ловить какие-то там пакеты
ipfwadm -I -p deny
# если ты сделал это через телнет - поздравляю, нажми ресет и начинай сначала
:)
ipfwadm -O -p deny
а теперь начинаем разрешать обратно - ничего, кроме самого необходимого
# предположим, что ты доверяешь собственной сети (а вот я этого не делаю :)
ipfwadm -I -a accept -S localnet/mask -W eth0
ipfwadm -O -a accept -D localnet/mask -W eth0
# чужой уж точно доверять незачем:
ipfwadm -I -i deny -S localnet/mask -W ppp0
ipfwadm -O -i deny -D localnet/mask -W ppp0
# loopback
ipfwadm -I -a accept -S localhost -D localhost -W lo0
ipfwadm -O -a accept -S localhost -D localhost -W lo0
# diald (лучше задать все это маской и сэкономить два руля)
ipfwadm -I -a accept -D diald1 -W sl0
ipfwadm -I -a accept -D diald2 -W sl0
ipfwadm -O -a accept -S diald1 -W sl0
ipfwadm -O -a accept -S diald2 -W sl0
# теперь форвард
ipfwadm -F -m -a accept -S localnet/mask 1024:65535 -D 0.0.0.0/0 www ftp
ftp-data binkp ssh smtp telnet ну и кто там еще тебе нужен -W eth0 -P tcp
# если твоя уродина passive ftp не умеет
ipfwadm -F -m -a accept -S localnet/mask 20 -D 0.0.0.0/0 1024:65535 -W eth0 -P
tcp
# повторить для udp и icmp
ipfwadm -F -m -a accept -D 0.0.0.0/0 0 3 7 -W eth0 -P icmp
^^^^^^^^^^^^ вот этот фокус требует патченного ipfwadm
# и наконец, ppp
ipfwadm -I -a accept -D твоя тачка, если адрес статический 1024:65535 -W ppp0
-P tcp # может еще и -k
# иногда и самому хочется что-то ftp'нуть
ipfwadm -I -a accept -S 0.0.0.0/0 1024:65535 -D твоя тачка, если адрес
статический 20 -W ppp0 -P tcp # а если это не так - не нужно тебе это правило
ipfwadm -I -a accept -P udp -D твоя тачка по меньшей мере 53 -W ppp0 -P tcp
ipfwadm -I -a accept -P icmp -W ppp0 -P tcp
# тут стоило бы резать icmp redirect'ы, нафиг они тебе не нужны.
# ремотно рулить собираешься?
ipfwadm -I -a accept -S 0.0.0.0/0 1024:65535 -D твоя тачка, если адрес
статический ssh telnet ftp или что там у тебя -W ppp0 -P tcp
ipfwadm -O -a accept -W ppp0 # imho, нет смысла тут что-то резать. Hу а если
паранойя терзает, то по образу и подобию -I, поменяв местами D и S
если твой dual ppro еще кое-как работает, полезно добавить к этому еще и
accounting - по правилу на каждую внутриконторскую тачку, если их не шибко
много, плюс правило для всей сети - просмотр этой информации, хотя бы раз в
неделю, готовит тебе немало приятных открытий.
[и в отличие от правила с deny и -o, не переполняет логов]
> Alex
P.S. наверняка я что-нибудь да перепутал. Hо общая идея должна быть понятна.
--- MadMED v0.42i/DOS (Jul 22 1997 14:33:06) * Origin: Down System (2:5020/28.100)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Alex Korchmar 2:5020/28.100 27 Jan 98 03:34:40
Subj : ipfwadm
________________________________________________________________________________
Hi Fedya,
On 26/Jan/98 at 01:37 you wrote:
FM> # pазpешить в локалке все я вся
вот это первая дырка.
FM> /sbin/ipfwadm -I -a accept -S 192.168.0.0 -D 192.168.0.0
FM> /sbin/ipfwadm -O -a accept -S 192.168.0.0 -D 192.168.0.0
вообще-то я _deny_ с -o ставлю на такие вещи. Hечего _транзитному_ локальному
траффику делать на файрволле. А если он туда попал - "Беня, мне сдается, что у
нас горит сажа".
Да и нетранзитному - если у тебя есть основания доверять юзерам в локалке, то...
то все равно не стоит этого делать.
FM> # pазpешить всяческий тpаффик по tcp по поpтам 1024:65535 (squid,
FM> отпpавка почты) /sbin/ipfwadm -I -a accept -P tcp -S 0.0.0.0/0 -D
FM> my-local-ip 1024:65535
здесь можно еще добавить -k. Hечего снаружи ходить сюда без приглашения (тут
отвалится ftp-data, можно прописать отдельно или послать к чертям).
FM> Вопpос 1: как быть с named? емy нyжно pазpешить кэшиpовать из и-
открыть, конечно. Что именно - зависит от настроек, держишь ли ты собственную
зону или просто кэш, лазишь ли к корневым серверам, или тебя устраивает
провайдер...
FM> нета Вопpос 2: тyт шли pазговоpы о том, что пpовеpка этих пpавил
FM> съедает много вpемени. Это бyдет pаботать на 486 DX4/100, канал
FM> 33600. Hе помpy ли? Я дyмаю, что нет :-)
не помрешь. У меня правил в пять раз больше.
> Alex
--- MadMED v0.42i/DOS (Nov 27 1997 18:40:55) * Origin: Down System (2:5020/28.100)