IP TabletsIp table paket filtreleme ile ilgili bir firewall uygulamasıdır.Öncelikle bu uygulamaya uygun bir şekilde çekirdeginizin derlenmesi gerekiyor. Bu firewall paket ve hedef (forward,input,output) olmak üzere iki kriter kullanarak trafigi yönlendirir.Eger
Konu Mr.666 tarafından açılmış, 763 kişi tarafından görüntülenip, 6 yanıt almış.
|
Özel Yazılım Trojan+, güncellemeli ve garantili. Sadece 690TL! Kredi kartınıza 12 taksit kolaylığı!
|
|||||||
IP Tablets konusundaki toplam yorum: 6, okunma sayısı: 763. |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
#1 |
|
Moderator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Kayıt Tarihi: Jul 2005
Üye numarası: #29226 Yer: Ankara
Mesaj sayısı: 1,410
Karma etkisi: 2610
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 260208
|
Ip table paket filtreleme ile ilgili bir firewall uygulamasıdır.Öncelikle bu uygulamaya uygun bir şekilde çekirdeginizin derlenmesi gerekiyor.
Bu firewall paket ve hedef (forward,input,output) olmak üzere iki kriter kullanarak trafigi yönlendirir.Eger bir paket firewall'a gelirse önce ilk kuralla karşılaştırılır eger ilk kuralla uyuşmazsa ikinci yazılan kuralla karşılaştırılır ve bu satır satır devam eder. Eger gelen paket bir satır ile uyuşuyorsa o pakete o satırsa belirtilen işlem uygulanır. GELEN PAKETLERE UYGULANAN İŞLEMLER ACCEPT:Gelen paketi kabul et DROP: Paketi kabul etme ve karşıdaki bilgisayara cevap gönderme, established baglantilari durdurma DENY:Gelen paketi kabul etme ve karşı bilgisayara bu bilgisayarın baglantıyı kabul etmedigi ile ilgili bir mesaj gönder QUEUE:Kuyruk yapma ile igili.Yani o an da TCP başlıgı dolu ise userspace'e gönder mesajları. RETURN:Henüz denemeden birşey yazmayacagim. DESTİNASYON İLE İLGİLİ İŞLEMLER Firewaller iki yüzü vardır birincisi networke bakan ikincisi ise dışarıya (dışarı genelde internet oluyor) bakan. paketlere üç tip olarak bakarız birincisi input:Ara yüze Gelen paket İkincisi output:Arayüzden Çıkan paket Üçüncüsü forward:yönlendirilen paket yani makinanızın bir arayüzünden gelip , diğer arayüzüne geçen paketler.İki ethernet arasında yönlendirme işlemi masquering gibide denilebilir. []Karakterleri arasında yazılan komutlar seçimliktir yani istenilirse kullanılabilir istenirse kullanılmayabilir. ip table ile ilgili parametreler -A append yani yeni bir kural ekleme işlemi -R replace:yani kuralı yeniden düzenleme -I insert:kural ekleme ama araya -L list:kuralları listeleme -F flush:kural silme. bir bir siler. -N newchain:bir isim verilerek user'a tarafından belirlenen kurallar. -X delet chain:use tarafından belirlenmiş bir kural silme -P policy oliçe verilen target'i standart ip table kurallarını uygular. -E rename chain:User tarafından isim verilerek belirlenmiş kuralları yeniden düzenler. -h help:as you know.Bilindigi üzere bu da helpimiz (windozcuların F1'i ) paketlerle ilgili parametreler -s [!]source adres[/maske]:Yani paketin geldigi yer.Bu bir ip ya da ip aralıgı olabilir (network adresi) yada hostnameler olabilir. -d [!] destination adres[/maske]=paketin gidecegi yer.Bu da bir ip ya da ip aralıgı olabilir.Tüm network için ayrı ayrı bilgisayarların iplerinin yazılmayacagini mantıken anlayabiliriz.Zaten ip aralıgı ya da domain belirtme linuxun destekledigi bir özellik. mesela *.edu.tr bu tüm edu.tr sonu ile biten domenler demektir.ya da 231.12.0.0 bu da tüm 231.12 ile ilgili network demektir.Bunlar source parametresi içinde geçerlidir. -i [!] interface-name:Hangi arayüzün kullanılacağını belirtir.eth0, eth1,ppp0 vs -p [!] protokol(protocol) paketin kullandığı protokol adını belirtir(tcp , udp , icmp gibi). -j [target] (jump) paket ile ilgili hangi kararın verileceğini belirtir.target dedigimiz şeyler ACCEPT,DENY,DROP vs yani tüm bu komutlardan önce �j parametresini kullanmamız gerekiyor. -l log(kayıt) aket ile ilgili bilgilerin log dosyasına yazılmasını sağlar -v (verbose)Paket ile ilgili detaylı bilgi verir.İnterface adresi kural opsiyonları ve TOS mask ! Bu parametre kuralın değilinıi (tersini) belirtilir. Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=79792 -o output:Gidecegi interface adı -n numeric:Yani numeric formatta print eder.Default program olarak hostnameler,networkname,portname ya da servisleri isim olarak print etmeye çalışır.Biz ise bunun numerik olmasını isteyince bu parametreyi kullanırız. -x expand number:Yani paketlerin tam olarak kaç byte oldugunu ekrana basar.Yuvarlama yapmaz [!] if first:yani gelen paketlerin ilk kısmına bakılmayacak kurallar ikinci ve diger kısımlarına uygulanacak Uzantılar Ip table opsiyonel olarak shared library kullanır.Bazı standart uzantıları destekler bu uzantıların isimlerini �m name şeklinde veririz. TCP için uzantılar: -m tcp ip tcp - -sport [!] [port[: port]] Data gramın hangi porttan çıkacagını belirmek zorundayız yani source portu.Bunu belirtirken portlar arasında üst ve alt sınır belirleyebiliriz.Yani belirli port aralıgını seçme şansımız var.. örnegin, 20:25 bu 20 ile 25 arasındaki tüm portlar demektir.Eger ! karakterini kullanırsak ki bu karakter tersleme manasına gelir , bu defa bunun manası 20 ile 25 portları haricindeki portlar olur. - -dport [!] [port[: port]] destinasyon portu yani paketin nereye gidecegine dair olan portlar.Yukarıdaki açıklama bunun içinde geçerlidir. [!] - -syn Yazdıgımız kuralları paket başlıgındaki belli bayraklar için sınatma gibi bir lüksümüz var.mesela SYN bit ve ACK ve FIN bits gibi.Bu sadece TCP baglantılarında kullanılır. Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=79792 - -tcp-flags SYN,RST,ACK SYN UDP için uzantılar: -m udp -p udp - -sport [!] [port[: port]] yukarıda tcp source için açıkladıgımızın aynısı - -dport [!] [port[: port]] TCP için açıkladıgımızın aynısı ICMP uzantılar için : -m icmp -p icmp - -icmp-type [!] typename ICMP paketleri belirlenen kurallarla karşılaştırılabilirler..Type olarak numara ya da isim verilebilir.Geçerli isimler: echo-request, echo-reply, source-quench, time-exceeded, destination-unreachable, network-unreachable, host-unreachable, protocol-unreachable, ve port-unreachable.ICMP ile ilgili kararları vermeden önce icmp ile ilgili dokumanları okumanızı tavsiye ediyorum yoksa firewall�unuz nedeniyle networkunuzde ping çekememe gibi zorluklarla karşılaşabilirsini iptable komutunu her kuralı vermeden önce yazmak zorundayız.modprobe ise liNuxde driver çalıştırılması iki türlüdür.Birincisi kernel içindedir sürekli (yani hafızadadır ve her an çalışabilir durumda ) ikincisi ise modul olarak derlenip istenildiginde kernelin bu driver ya da neye destek vermesi isteniyorsa onun o an otomatik olarak geçiçi süre için kernele eklenmesi ve kullanılması olabilir.Gerekli komutumuz modprobe ya da insmod olabilir. Düzenleyen Mr.666 : 31-07-2006 at 12:58. |
|
|
|
|
|
#2 |
|
Moderator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Kayıt Tarihi: Jul 2005
Üye numarası: #29226 Yer: Ankara
Mesaj sayısı: 1,410
Karma etkisi: 2610
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 260208
|
Ip tabletın kullanımı iptables komut kural- uzantı # modprobe ip_tables (modul olarak kernele destek verdik root olmamız gerekli) Yazılacak kurallar bilgisayarın RAM ine yazılacak ve bilgisayar kapandıgında kaybetmemek için bir betik (script) yazmak mantıklı olacak.Ama önce bir kaç örnek açıklayalım $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT IPTABLES: bu iptables kullanmak için kullanılan temek komut -P: poliçeyi yani kurallarımız ACCEPT : kabul et INPUT,FORWARD,OUTPUT ile ilgili yazdıgımız kuralları kabul et (scriptin sonunda yazıyor) $IPTABLES -F Eger bir tablo varsa IF parametresiyel bu tabloyu sil. # iptables -N test test adında bir iptable oluşturduk # iptables -X test test adındaki ip tableti sildik # iptables -D INPUT 1 Bir numaralı kuralı siler # iptables -A OUTPUT -f -d 192.168.1.1 -j DROP -A: kural ekle OUTPUT : dışardan gelen paketlere uygula -f :başlık kısmının ilk tarafı için kuralı uygulama -d destination:gidecegi adres 192.168.1.1 -j (jump) target yani DROP u uygula # iptables -A INPUT --protocol tcp --tcp-flags ALL SYN,ACK -j DENY -A: bu kuralı ekle INPUT: gelen paketler için --protokol: Gelen paketlerde protokol gözet -tcp:Gelen paketler tcp ise bu kuralı uygula --tcp-flags: Tcp başlıgı içindeki SYN,ACK bayrakları için uygula. DENY: yani kabul edilmemesini uygula Aşagıda hazır bir betik var. #! /bin/sh # # firewall setting up IPTables firewalling # # tom@lemuria.org # if you find any bugs, you may keep them # IPTABLES="/sbin/iptables" set -e case "$1" in start) echo "Starting firewall: " modprobe ip_conntrack echo -n "setting default policy: " # syncookies and NO ip-forwarding echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 0 > /proc/sys/net/ipv4/ip_forward $IPTABLES -F $IPTABLES -X $IPTABLES -Z $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP $IPTABLES -N in_icmp $IPTABLES -N in_tcp $IPTABLES -N in_udp $IPTABLES -A INPUT -p tcp -j in_tcp $IPTABLES -A INPUT -p udp -j in_udp $IPTABLES -A INPUT -p icmp -j in_icmp echo "done" echo -n "spoofing, redirect and broadcast protection/logging: " echo 1 > /proc/sys/net/ipv4/conf/all/log_martians echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "done" echo -n "enabling scan detection: " if [ -f /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ipt_psd.o ]; then $IPTABLES -A INPUT -m psd -m limit --limit 5/minute -j LOG --log-prefix '#### Port Scan ####' Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=79792 echo "psd enabled" else $IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/minute -j LOG --log-prefix '#### Ping Scan ####' # high rate for stealth scans, since they could be legitimate connection # attempts as well $IPTABLES -A in_tcp -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 5 -j LOG --log-level info --log-prefix '#### Stealth Scan ####' $IPTABLES -A in_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/m -j LOG --log-level info --log-prefix '#### XMAS Scan ####' $IPTABLES -A in_tcp -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/m -j LOG --log-level info --log-prefix '#### SYN/RST Scan ####' $IPTABLES -A in_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m -j LOG --log-level info --log-prefix '#### SYN/FIN Scan ####' echo "limited detection enabled (no ipt_psd module)" fi echo -n "flood, fragment and various other protections: " # we allow 4 TCP connects per second, no more $IPTABLES -N syn-flood $IPTABLES -A INPUT -p tcp --syn -j syn-flood $IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN $IPTABLES -A syn-flood -j DROP # new connections that have no syn set are most probably evil $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # invalid packets $IPTABLES -A INPUT -p tcp -m state --state INVALID -m limit --limit 10/m -j LOG --log-level info --log-prefix "### Invalid Packet ###" $IPTABLES -A INPUT -p tcp --tcp-option 64 -m limit --limit 5/m -j LOG --log-level info --log-prefix "### Bad TCP FLAG(64) ###" $IPTABLES -A INPUT -p tcp --tcp-option 128 -m limit --limit 5/m -j LOG --log-level info --log-prefix "### Bad TCP FLAG(128) ###" echo "done" echo -n "setting up ICMP: " # we allow echo requests and replies # could limit replies to could limit replies to related, but since we # answer ping requests, where would be the point in that? $IPTABLES -A in_icmp -p icmp --icmp-type 0 -j ACCEPT $IPTABLES -A in_icmp -p icmp --icmp-type 8 -j ACCEPT # we need destination unreachable $IPTABLES -A in_icmp -p icmp --icmp-type 3 -j ACCEPT # we are nice and allow traceroute, though it is not required $IPTABLES -A in_icmp -p icmp --icmp-type 11 -j ACCEPT $IPTABLES -A in_icmp -p icmp --icmp-type 30 -j ACCEPT echo "done" echo -n "enabling local and outgoing traffic: " $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -I in_tcp -p tcp --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -j ACCEPT # we are nice and reject instead of drop ident traffic $IPTABLES -I in_tcp -p tcp --dport auth --j REJECT echo "done" echo -n "enabling selected services:" $IPTABLES -I in_tcp -p tcp --dport http -m state --state NEW,ESTABLISHED -j ACCEPT echo -n " http" $IPTABLES -I in_tcp -p tcp --dport ssh -m state --state NEW,ESTABLISHED -j ACCEPT echo -n " ssh" $IPTABLES -I in_tcp -p tcp --dport smtp -m state --state NEW,ESTABLISHED -j ACCEPT Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=79792 echo -n " smtp" $IPTABLES -I in_tcp -p tcp --dport imaps -m state --state NEW,ESTABLISHED -j ACCEPT echo -n " imaps" $IPTABLES -I in_tcp -p tcp --dport domain -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -I in_udp -p udp --dport domain -m state --state NEW,ESTABLISHED -j ACCEPT echo -n " dns" $IPTABLES -I in_tcp -p tcp --dport ftp -m state --state NEW,ESTABLISHED -j ACCEPT # active ftp $IPTABLES -I in_tcp -p tcp --dport ftp-data -m state --state ESTABLISHED,RELATED -j ACCEPT echo -n " ftp" # quake3 $IPTABLES -I in_udp -p udp --dport 1024:65535 -j ACCEPT echo -n " quake (all UDP >1024)" echo " - all done" Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=79792 echo "Firewall setup complete." ;; stop) echo -n "Shutting down firewall: " $IPTABLES -F $IPTABLES -X $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT echo "done" ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop}" >&2 exit 1 ;; esac exit 0 *** Mr.666 |
|
|
|
|
|
#3 |
|
Banned
![]() ![]() ![]() ![]() Kayıt Tarihi: Jan 2005
Üye numarası: #1179
Mesaj sayısı: 1,062
Karma etkisi: 0
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 10519
|
mr 666. güzel dökümanların oluyor arada gönderdiklerin içinde.teşekkür ederiz.
|
|
|
|
|
|
#4 |
|
Moderator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Kayıt Tarihi: Jul 2005
Üye numarası: #29226 Yer: Ankara
Mesaj sayısı: 1,410
Karma etkisi: 2610
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 260208
|
Hocam ben teşekkür ederim.. Amaç Paylaşım..
![]() |
|
|
|
|
|
#5 |
|
1st Class Helper
![]() ![]() ![]() ![]() Kayıt Tarihi: Nov 2004
Üye numarası: #373 Yer: Ankara
Mesaj sayısı: 2,096
Karma etkisi: 372
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 36242
|
Gercekten cok guzel dokumanlar ekliyorsun, bende sana tesekkur ederim.
|
|
|
|
|
|
#6 |
|
Forum Kalfası
![]() ![]() ![]() ![]() Kayıt Tarihi: Jun 2005
Üye numarası: #24728
Mesaj sayısı: 982
Karma etkisi: 14
![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 711
|
Güzel paylasim.
Bu arada belirtmeden gecemeyecegim sanirim atlanmis veya unutulmus; DROP ayni zamanda halihazirdaki established baglantilari durdurmak icin de kullanilir ![]() Paylasim icin tesekkürler, |
|
|
|
|
|
#7 |
|
Moderator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Kayıt Tarihi: Jul 2005
Üye numarası: #29226 Yer: Ankara
Mesaj sayısı: 1,410
Karma etkisi: 2610
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 260208
|
Dalgınlık işte.. Unutmuşum o anda.. Halletim şimdi..
![]() ![]() |
|
|
|
![]() |
| Şu Anda Konuyu Görüntüleyenler: 1 (0 üye ve 1 misafir) | |
| Konu Araçları | Bu Konuda Ara |
|
|
