screen ile transparent proxy nası öğretilir?

# nat tablosu… bu kısım onemli iste.nat maskeleme veya masquerade olayı bu alttaki satırda gerçekleşiyor
# kural su manada..eger cıkis arayuzu eth0 ise ki bu modeme bagli olan bacak, butun paketleri maskeleyerek dısari cıkar
# maskeleme ne??dielim a bilgisayarının ic ip si 10.0.0.6 bu adam gidip www.google.com a baglansa o anda googleda
# loglara bakma sansin olsa gorunen ip 10.0.0.6 degil senin adsl ip in olacaktir.ok?evt.
# taam bunda sorun yok o halde.ikinci kurala geciyorum
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.79 –destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.97 –destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.39 –destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.249 –destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.249 –destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.5 –destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.99:3128
# bi ustteki kural da şu.ic bacaktan herhangi bir ip disarda 80inci porta baglanmaya calisiyorsa al
# bunu squide havale et.o icabina baksin.peki burasi okmduru?evet
# pardon hocam bu izinleri her terminal için tek tek belirtmek o zaman.
# hayir cekirge:) bu kural tektir.kimse icin ikinci bi kural girmek zorunda degilsin.bakiniz
# -s source belirtmemisim.eth1 den gelsin de (ic network) nerden gelirse gelsin demisim.ok ama 192.168.0.xx bu xx ler den ya$
#sonu RETURN ile bitenler mi??ewet.onlar şudur.eger bu konuyu anladıysan onu da söölicem
#iç ardesten gelen bir örn xp no lu herhangi bir trmnl isteğini yönlendirmek ya da yönlendirmemek
# iste butun mesele bu diyosun.:):D hocam büyüksün
# hocaya gaz verme!….
# o return ile biten satirlarda gordugun ipler yani -s den sonra gelenler ki onlar patronlardir.
# her daim istediği yere girmeye hakki olan yuce insanlardir.yani biz 😀
# valla seni bilmem de ben patron olamadim.
# simdi bu yukardaki sıralama onemlidir
###### once butun networku herhangi bi kısıtlama olmadan maskeleyip disari cıkartirsin.
# sonra web isteklerini squide havale edersin.
# sonra iki tane adam senin yaptigin isi sikayet eder.
# sen de adamı return edersin.
# mantik şu.return kurallari bu iki kural arasinda olmali

# mantik şu.return kurallari bu iki kural arasinda olmali
# cünkü iptables bakacak.once herkesi cikartiyo mu…cikartiyo.
#bi sonraki kural ne diyo 80 al 3128 e yonlendir.
## aaa ama arada bi kural var.istegin sahibi olan ip match oluyosa yani eşleşiyorsa adamı bi ustteki kurala
# tabi tut demek.bi ustteki kural ne ??olay bu. bi sn.sen oku ben cay dold$
# ok .afiyet olsunnn.sakin editoru kapama..bu muhabbeti webte yayinlicam.:Dciddi? oradamısın?
#yes
#bu firewall.def dosyası tüm lnz dağıtımlarında aynı adla mıdı
#oole bi dosya hicbirinde yok.sadece benim kurduğum makinalrda duzenledigim bisey
# genelde iptables kuralsız gelir distrolarda.herşeyi accept eder.nat kurali da bulamassin.
#peki hocam senin standart olarak kullandığın bir firewall.def dosyasını şablon olarak mail atarmısın?
# olur ama soole.calismasi icin bazı izinleri ayarlaman lazim dosya sisteminde.cikalim burdan gostericem.ok.cikiyoz ?

debian sarge 3.1 Bridge+Snort Inline+Clamav kurulumu için epey kirli bir döküman

Açıklama

Bu belgede debian linux üzerine snort_inline kurulumunu anlatmaya çalıştım.Snort_inline’in kurulum sonrası özelleştirmeleri sizlere ait.Benim o kadar vaktim olmadı.Ancak belgede anlatılan şekilde kurulum mezzanine’de gerçekleştirildi ve tek istemcili ( o istemci ben oluyorum:) ) networkte 3 hafta kadar testi edildi.Test yorumlarını belgenin sonunda bulabilirsiniz.
Snort_inline için bulabileceğiniz pek az belgede ilk göze çarpan özellik bridge modda çalışması.Kanımca bu çok iyi bir özellik.Bridge,nat moda göre daha esnek ve güvenli.Ayrıca daha az uğraştırıyor:)
Bu yüzden linux üzerinde bridge mod deneyimi olmayanlar için kısa bir bölüm hazırladım.
Gelelim snort_inline’ın ne olduğuna.Snort_inline, snort’un işlevi bakımından değiştirilmiş hali.Snort sadece bir saldırı tespit aracıyken,snort_inline karşımıza bir saldırı koruma aracı olarak çıkıyor.Koruma snortta olduğu gibi yine kural tabanlı.Snort ağda geçen paketleri kokladıktan sonra kurallara göre sizi uyarırken,snort_inline yine bu kurallara göre iptables kuralından gelen paketleri öldürüyor veya reddediyor.Bu durumda snort_inline kurmayı düşündüğünüz sistemin çekirdeğinde iptables/netfilter için ip_queue desteği olması
gerekiyor.Bunu biraz açıklamak lazım.Şöyleki,iptables, queue desteği ile paketi kullanıcı alanını için kuyruğa sokar.Kullanıcı alanında paketi bekleyen bir uygulama varsa işlenir,yoksa paket drop edilir.Tahmin edebileceğiniz gibi o uygulama da snort_inline’dır.
Bu açıklamalardan sonra kuruluma başlayalım.

Bridge Mode için hazırlıklar

apt-get install bridge-utils modconf ebtables //bridge mod için gerekli paketleri kuruyoruz.

ifconfig eth0 0.0.0.0 promisc up // ethernet arayüzlerine ait ip leri değiştiriyoruz.
ifconfig eth1 0.0.0.0 promisc up

brctl addbr br0 // brctl ile br0 adında yeni bir bridge arayüzü oluşturuyoruz.
brctl addif br0 eth0 // ilk ethernet bridge ekleniyor.
brctl addif br0 eth1 // ve ikincisi de.

Bu işlemlerden sonra ifconfig komutu verdiğinizde iki fiziksel ethernet arayüzünün dışında bir de bridge arayüz görüyor olmalısınız.Opsiyonel olarak bu arayüze bir ip ve gateway verebilirsiniz.Hemen bir örnekle açıklayalım.

ifconfig br0 192.168.160.100 netmask 255.255.255.0 up
route add default gw 192.168.160.1 dev br0 // linuxun kendisi böylece nete çıkabilir.

Ip verirken iç networkunuze uygun bir ip vermelisiniz.Eğer bu arayüze bir ip vermesseniz makinanın kendisi nete bağlanamayacaktır.Ama lokasyon olarak arkasında bulunan makinaların nete çıkmasına engel olmayacaktır.

Snort_inline kurulumu

Kurulumda sorun yaşamamak için debian depolarından kurulması gereken paketler
libpcap0.8
libpcap0.8-dev
libpcre3
libpcre3-dev
snort-rules-default
iptables-dev
libclamav1 ve libclamav-dev // snort_inline’a clamav desteği için gerekli.Eğer bu özelliği istemiyorsanız,kurmayabilirsiniz.

Yukarıda adı geçen paketleri şu şekilde kurabilirsiniz.

apt-get install libpcap0.8 libpcap0.8-dev libpcre3 libpcre3-dev iptables-dev libclamav1 libclamav-dev snort-rules-default

libdnet kurulumu

not : libdnet ve libdnet-dev paketleri debian depolarında var.ancak bunları kurduktan sonra bir türlü snort_inline a gösteremedim.siz sorunun sebebini bulabilirseniz lütfen bilgilendirin.uğraşamam diyorsanız,kaynaktan kurulum size sorun çıkarmayacaktır.

wget http://belnet.dl.sourceforge.net/sourceforge/libdnet/libdnet-1.11.tar.gz
tar zxvf libdnet-1.11.tar.gz
./configure && make
make install

Yukarıdaki gibi libdneti kurduktan sonra snort_inline’ı kurmaya başlıyoruz.Debian depolarında aramayın.Unstable/Sid kategorisinde bile bulamassınız.

http://snort-inline.sourceforge.net/download.html
adresinden paketi indirdikten sonra paketi aşağıdaki gibi sisteminize kurun.
tar zxvf snort_inline-2.4.5a.tar.gz
./configure –enable-inline –enable-clamav

–enable-clamav parametresi snort_inline’ı clam antivirüs ile beraber çalıştırmak için gereklidir.Sisteminize ek bir yük istemiyorsanız kurmayın.Ancak şirket içi networkler için oldukça faydalıdır.

make
make install
Yukarıdaki aşamaları sorunsuz geçtiyseniz artık kurulum sonrası ayarlara geçebiliriz.

Kurulum başarıyla gerçekleştikten sonra make install komutu snort_inline’ı /usr/local/bin altına atacaktır.
Kurulum dizininin altındaki etc dizinindeki dosyaları alıp uygun bir yere yerleştirin.Örneğin /usr/local/etc/snort_inline
altına atabilirsiniz.

Sıra snort_inline için en önemli kısma geldi.Kurallar…
Eğer debian depolarından snort-rules-default paketini indirdiyseniz,bu dosyalar sisteminizde /etc/snort/rules
altında bulunuyor olmalı.Bir kural örneğine göz atalım.

alert tcp $EXTERNAL_NET any -> $HOME_NET 110 (msg:”POP3 DELE negative argument attempt”; flow:to_server,established; content:”DELE”; nocase; pcre:”/^DELE\s+-\d/smi”; reference:bugtraq,6053; reference:bugtraq,7445; reference:cve,20022-1539; classtype:misc-attack; sid:2121; rev:9;)

Dikkatinizi çekmek istediğim nokta kuralın “alert” ile başlıyor olması.Bu da snort’un saldırı tespit sistemi olmasından kaynaklanıyor.
Kuralın snort_inline ile birlikte etkili olması için üç kural tipi kullanabiliriz.

drop: paket iptables aracılığıyla bloklanır.snort olayı loglar.
reject: paket yine iptables tarafından bloklanır.snort olayı loglar ve eğer protokol tcp ise tcp reset,protokol
udp ise karşıya “icmp port unreachable” gönderilir.

sdrop: paket iptables tarafından bloklanır.hiçbirşey loglanmaz.

Ben drop kullanmayı tercih ettim ama siz nasıl değiştireceğinize karar verin ve
aşağıdaki script ile bütün kuralları değiştirin

#!/bin/bash
for file in $(ls -1 *.rules)
do
sed -e ‘s:^alert:drop:g’ ${file} > ${file}.new
mv ${file}.new ${file} -f
done

Kuralları değiştirdikten sonra sistemin doğru çalışması için yapmanız gereken bir nokta daha var.
snort_inline.conf dosyanızı açın.İlk tanımlamalar arasında HOME_NET değişkenini kendi sisteminize göre
değiştirin.Bu sizin güvenilir ağınız olmalıdır.

Örneğin;

var HOME_NET 192.168.160.0/24

gibi.

Ayrıca güvenilmeyen ağ tanımlamanız gerekiyor.Ben şöyle yaptım

var EXTERNAL_NET !$HOME_NET

Kurallarınızın bulunduğu dizine göre RULE_PATH değişkenini düzenledikten sonra dosyayı kaydedip çıkın.

Son olarak snort_inline’ı daemon modunda çalıştırmadan önce iptables’a forward edilen bütün paketleri
kuyruğa sokmasını söylüyoruz

iptables -I FORWARD -j QUEUE

ve sonunda….

/usr/local/bin/snort_inline -Q -D -c /usr/local/etc/snort_inline/snort_inline.conf -l /var/log/snort

Not:Iptables stratejiniz tamamiyle size kalmış bişey.Hangi paketleri yönüne göre nasıl snort_inline’a yönlendirmek
isterseniz,iptables kuralını da ona göre belirlemelisiniz.