Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

[Lug-bg] firewall project


  • Subject: [Lug-bg] firewall project
  • From: derleader derleader <derleader@xxxxxx>
  • Date: Mon, 29 Jun 2009 23:07:10 +0300 (EEST)

 здравейте,
   обмислям в момента един хоби проект за управление на достъпа на големи мрежи, и също така
firewall който да предпазва от DoS DDoS и други атаки. Ще се състои от Squid transparent proxy и openldap и
от софтуер писан на PHP на отделен сървър който да подава тези IPта на firewall който могат да преминат
а тези който не могат автоматично да ги дропи.
  Когато клиента не трябва да достъп до мрежага php програмата маха ip-то от списъка на
firewalls с ip-та които могат да преминават. firewall изписва на потребителите че достъпа е заключен.
Също  може да се зададе firewall да филтрира имената на web sites които нямат право да
минат.
    Не съм проверил но мисля че може да се направи squid да чете списък от ip-та които могат да се свързват на порт 22 - SSH.
Ако ip-то не е в списъка squid ще дропи клиентите които искат да се свържат през порт 22.
    Цялата система дори ще е по- лесна за администрация. Не съм проверил но можеби има вариан да направя пощенски сървър който да ченте от главната php програма дали даден e-mail адрес на потребител може да се ползва.
Тоест мога да заключа освен достъпа до сървъра и е-mail акаунта в пощенския съвър.
Друга опция която бих искал да използвам е delay pools - тоест да лимитирам скоростта на всяко ip. Също така
да се лимитира и общия брой конекции който ip може да прави.
Като за начало мисля само да направя като функционалност да се проверява дали до дадено IP може да има
достъп и да се брои трафита на всяко IP. Другите екстри ще се обсъждат по нататък.
Виж picture 1
Проблема е че тези защитни стени трябва да издържат огромен брой конекции и огромен трафик. Иска ми се да мога
да ги пригодя за реализация в големи datacenters със стотици съвъри и гигабити трафик.

В случая firewall смятам да проектирам по следния начин. Виж picture 2
На съвъра има качен squid, OpenLDAP в който се съхраняват IPтата които имат достъп, скриптове за защита
против DoS DDoS и може и да включа APF и CSF като тяхното използване e под въпрос тъйкато сървъра можеби
ще се претоварва. Малко е спорно това дали да има OpenLDAP на сървъра тъйкато ще се натоварва, но ако няма достъп
до главния сървър firewall ще си работи без пробелем.
Squid ще се конфигурира да използва този скрипт
http://www.stress-free.co.nz/transparent_squid_authentication_to_edirectory
за да провери дали пакета на клиентите магат да преминат. В squid се настройва и така наченото ttl
в случая представлява колко време достъпа на ip-то на важи. Като изтече ttl squid пак проверява в
openldap дали има достъп. Все пак ако скоростта по спомени межди CPU и RAM е
по смътни спомени е 6 GB/sec ако направя squid всеки път да проверява в главния сървър ще има голямо
чакане от страна на клиента и мрежата може да се претовари. Главния сървър (php+mysql) периодично ще
обновява списъка с ip-та на openLDAP. Дори обмислям дали да не напрява т.н RAMDISK - да инсталирам програма
която да инсталира в рам паметта виртуален твърд диск и всичко да инсталирам там. Разбирасе в случая трябва
рам паметта да е по-голяма. И трябва да се бриджнат двете мрежи, за да бъде невидима firewall (без ip адрес)
    Засега проблема който не съм решил е как да записвам трафика на всяко ip в списъка на openldap
и дали проекта ще бъде ефикасен, каква производителност да очаквам на съвъра с двете програми
на гъба си + скриптовете. Замислям се дали да не кача всичко на Sun Spark машина с opensolaris защото
производителността ще е по-голяма.
   
    Естествено налага се да направя модофикации на OS - задаване на висок приоритет на изпълнение на squid,
увеличаване на буфера на мрежовата карта. Разтоварване на ненужните модули на ядрота и сигурно ще се наложи да орежа
ядрото. Да спра ненужните демони. Ще направя обединение на мрежови портове - bonding, на
няколко мрежови карти за да вдигна на 2 гигабита възможния трафик който може да премине.
Има security appliance на juniper  и cisco струващи 20к+$ способни да обработват 10Gbit трафик, за съжаление
не мога да разгледам как са устроени.
Има тестови проведени с squid - двупроцесорна машина с 8 гигабайта рам може да издържи 3000 заявки с кешираща
функция а на мен кеширане в случая не ми трябва.

И още един проблем - с увечаването на хоповете ще се увеличи забавянето на отваряне на страници,
негативен ефект който няма как да реша.
Другото което мога да направя е да използавам по-ново прокси http://varnish.projects.linpro.no/
незнам каква е точно производиелността на предполагам че ще е по-добра

Моля пишеште ми как мога да си пеша пролема с производителността. firewalla трябва да поема огромна натоварване.
Това е засега което се сещам.
Ако имате време и някакви по-добри идеиотнасно как мога да проектирам системата,
моля пишете на адрес derleader@xxxxxx. Не пестeте критики!

сто схеми http://img341.imageshack.us/i/picture1gpm.png/
http://img40.imageshack.us/i/picture2vxu.png/
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg


 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.