telnet İle Çeşitli protokollerin kullanımı

46
Telnet İle Çeşitli Protokollerin Kullanımı Huzeyfe ÖNAL Telnet Ile Çesitli Protokollerin Kullanimi Tanim SMTP Sunucusuna Baglanmak POP3 Sunucusuna baglanmak IRC Sunucularina Baglanmak Tanim Internette kullandigimiz her servise ait özellestirilmis yazilimlar vardir mesela,mail alip gönderebilmek için pop3 ya da Imap özelliklerini destekleyen bir mail istemcisine(Microsoft Outlook,Mozilla ThunderBird), IRC kanallarinda muhabbet edebilmek icin bir IRC istemcisine(Mirc,Xchat), FTP yapabilmek icin yine bir ftp istemcisine(CuteFTP), iste tüm bunlarin özellestirilmis programlar araciligiyla yapariz. Bu araci programlar kullandigimiz her bilgisayarda olmayabilir, ya da herhangi bir sebeple kullanamayacak durumda olursak yardimimiza mazisi oldukca eski olan telnet uygulamasi yetisir. Bu yazida telnet kullanarak bazi belirli servislerden nasil yararlanabilecegimizi inceleyecegiz.. Çogu kaynakta telnet'in tanimlamasi su sekilde geçer; Telnet, Internet agi üzerindeki çok kullanicili bir makineye uzaktaki baska bir makineden baglanmak için gelistirilen bir TCP/IP protokolü ve bu isi yapan programlara verilen genel isimdir . Sadece karsi makineye login olmak ve komut çalistirmak için degil ayni zamanda karsi makinede özel bir uygulamaya baglanip ondan gelecek direktiflere uygun sekilde komut çalistirabilmemizi de saglar. Telnet kelimesinin her geçtigi yazida üstüne basa basa durulan diger bir konuda Telnet in dogal güvensiz bir yapida olusudur, dogal güvensiz yapidan kastim sonradan herhangi bir eklenti eklenilmeden telnetin bize yeterli güvenligi saglayamamasi, bunun sebebi de telnet ile uygulamaya çalistigimiz her seyin bulundugumuz ag üzerinde sifrelenmemis sekilde iletilmesidir(PLAIN TEXT). Telnet ile uygulamaya çalistigim bazi uygulamalari Bir sniffer(ag koklayici)ile kaydettim ve ekran görüntüleri. SMTP Sunucusuna Baglanmak Önce telnet kullanarak bir SMTP sunucudan nasil mail gönderebilecegimizi inceleyelim. Çogu zaman gereksiz ve uzun bir is olarak görünsede, sikintili anlarinizda oldukça yardimci olabilecek bir yöntem. Herhangi bir mail istemcisi kullanma firsatiniz yoksa ya da web uzerinden maillerinize ulasmada sorun yasiyorsaniz kisa zamanda isinizi halletmenizi saglayabilir. E-postalar SMTP(RFC821) protokolu araciligi ile gönderilirler ve varsayilan port olarak smtp sunuculari 25 i kullanir. Öncelikle kullanacagimiz mail sunucusunun IP adresini ya da domain ismine 25 nolu porttan telnet islemi gerçeklestiriyoruz telnet mail.herhangibiryer.net 25 port numarasini unutursaniz ve karsi sistemde telnet protokolu (25 nolu port) açik degilse su seklide bir hata mesaji alirsiniz. [rapsodi@bizimev/]$ telnet mail.bizimev.com Trying 192.168.1.3

Upload: api-3753609

Post on 07-Jun-2015

352 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Telnet İle Çeşitli Protokollerin Kullanımı

Telnet İle Çeşitli Protokollerin Kullanımı Huzeyfe ÖNAL

Telnet Ile Çesitli Protokollerin Kullanimi

Tanim

SMTP Sunucusuna Baglanmak

POP3 Sunucusuna baglanmak

IRC Sunucularina Baglanmak

Tanim

      Internette kullandigimiz her servise ait özellestirilmis yazilimlar vardir mesela,mail alip gönderebilmek için

pop3 ya da Imap özelliklerini destekleyen bir mail istemcisine(Microsoft Outlook,Mozilla ThunderBird), IRC

kanallarinda muhabbet edebilmek icin bir IRC istemcisine(Mirc,Xchat), FTP yapabilmek icin yine bir ftp

istemcisine(CuteFTP), iste tüm bunlarin özellestirilmis programlar araciligiyla yapariz. Bu araci programlar

kullandigimiz her bilgisayarda olmayabilir, ya da herhangi bir sebeple kullanamayacak durumda olursak

yardimimiza mazisi oldukca eski olan telnet uygulamasi yetisir. Bu yazida telnet kullanarak bazi belirli

servislerden nasil yararlanabilecegimizi inceleyecegiz.. Çogu kaynakta telnet'in tanimlamasi su sekilde geçer;

Telnet, Internet agi üzerindeki çok kullanicili bir makineye uzaktaki baska bir makineden baglanmak için

gelistirilen bir TCP/IP protokolü ve bu isi yapan programlara verilen genel isimdir. Sadece karsi makineye login

olmak ve komut çalistirmak için degil ayni zamanda karsi makinede özel bir uygulamaya baglanip ondan

gelecek direktiflere uygun sekilde komut çalistirabilmemizi de saglar.

      Telnet kelimesinin her geçtigi yazida üstüne basa basa durulan diger bir konuda Telnet in dogal güvensiz

bir yapida olusudur, dogal güvensiz yapidan kastim sonradan herhangi bir eklenti eklenilmeden telnetin bize

yeterli güvenligi saglayamamasi, bunun sebebi de telnet ile uygulamaya çalistigimiz her seyin bulundugumuz ag

üzerinde sifrelenmemis sekilde iletilmesidir(PLAIN TEXT).

      Telnet ile uygulamaya çalistigim bazi uygulamalari Bir sniffer(ag koklayici)ile kaydettim ve ekran görüntüleri.

SMTP Sunucusuna Baglanmak

      Önce telnet kullanarak bir SMTP sunucudan nasil mail gönderebilecegimizi inceleyelim. Çogu zaman gereksiz

ve uzun bir is olarak görünsede, sikintili anlarinizda oldukça yardimci olabilecek bir yöntem. Herhangi bir mail

istemcisi kullanma firsatiniz yoksa ya da web uzerinden maillerinize ulasmada sorun yasiyorsaniz kisa zamanda

isinizi halletmenizi saglayabilir. E-postalar SMTP(RFC821) protokolu araciligi ile gönderilirler ve varsayilan port

olarak smtp sunuculari 25 i kullanir. Öncelikle kullanacagimiz mail sunucusunun IP adresini ya da domain ismine

25 nolu porttan telnet islemi gerçeklestiriyoruz

telnet mail.herhangibiryer.net 25

port numarasini unutursaniz ve karsi sistemde telnet protokolu (25 nolu port) açik degilse su seklide bir hata

mesaji alirsiniz.

[rapsodi@bizimev/]$ telnet mail.bizimev.comTrying 192.168.1.3telnet: connect to address 192.168.1.3: Connection refused

SMTP protokolunda basarili komutlar 2xx seklinde basarisiz olunan komutlar ise 5xx.. seklinde cevap

döndürürler.

[rapsodi@bizimev/]$ telnet mail.bizimev.com 25Trying 192.168.1.3.....Connected to mail.bizimev.com

Page 2: Telnet İle Çeşitli Protokollerin Kullanımı

Escape character is '^]'.220 mail.bizimev.com ESMTP

komut satirina alakasiz birsey yazdim ve dönecek cevabi bekledim,yukarida bahsettigim gibi

502 unimplemented

hatasi verdi yani basarisiz olunan komutlar için 5XX seklinde cavap döndürüyor. Sisteme ilk baglandigimizda

helo istemci_adi seklinde bir selam veririz.

220 mail.bizimev.com ESMTPhelo ben.istemciyim.com250 mail.bizimev.com

Mesajimizi yollamak için Öncelikle kimden gönderildigini belirtmemiz lazim

Mail from: mail from:[email protected] ok rcpt to:[email protected] ok

250 ok cevaplarini görmemiz o komutlarda herhangi bir sorun çikmadigini gösterir.

data354 go aheadselam,mailimi konsoldan telnet ile yolluyorum.250 ok 1075456008 qp 5903

data komutu Mailimizi girmemizi bekler ,burada istedigimiz kadar yazabiliriz yazdiklarimizin bittigini entera

basip sonra tek nokta "." Ya basarak bildiririz.ve mail ID numarasi ile birlikte mailimizin kuyruga alindigini

görebiliriz. top x y komutu x numarali mesaji ilk satirindan y satir adedine kadar görüntüler. Çogu mail sunucuda

güvenlik amaciyla kullanimina izin verilmesede sistemde bulunan bir kullaniciyi belirlemek için VRFY komutunu

kullanabilirsiniz.Kullanimi; VRFY <kullanici_adi> seklindedir. Yine denememizi qmail üzerinde yaparsak

vrfy huzeyfe252 send some mail, i'll try my best

gibi akilli bir cevap döndürüyor, Imail de varsayilan olarak VRFY komutunu kullanabilirsiniz. Sistemde isinizi

bitirdikten sonra çikmak için quit komutunu vermeniz yeterlidir

quit221 mail.bizimev.comConnection closed by foreign host

Kullanabilecegimiz komutlarin listesini almak için help komutunu kullanabiliriz,Kullandigimiz mail suncuya göre

farkli cevap döndermesi muhtemeldir mesela qmail için su sekilde bir cevap dönüyor.

help214 qmail home page: http://pobox.com/~djb/qmail.html

POP3 Sunucusuna Baglanmak

Yukarida SMTP ile ilgili açiklama yaparken sadece mail gönderme komutlari oldugunu ve mail almak için

herhangi bir komutu olmadigini söylemistik, peki mail almak için ne kullaniyoruz? Burada yardimimiza kosan

POP3 ya da IMAP protokolü oluyor. Biz bu makalemizde POP3 protokolünü kullanacagiz. RFC 1725te tanimlanmis

Page 3: Telnet İle Çeşitli Protokollerin Kullanımı

ve kullanicinin mail klasörüne gelen mailleri local bilgisayarina indirip offline olarak okumasini saglayan bir

protokoldür. Evet geçerli hesabinizin oldugu herhangi bir mail snucusunda pop3 olarak e-postalariniza

ulasabilmek için;

[rapsodi@cc /]$ telnet mail.bizimev.com 110Trying 192.168.1.3...Connected to mail.bizimev.com Escape character is '^]'.+OK [email protected] huzeyfe+OKpass parolam+OKlist+OK1 8567582 428463 8824 8385 267

Sisteme 110. portundan baglandik ve karsilama mesajini aldik, sonra USER komutu ile kullanici adimizi paramtre

olarak veriyoruz, OK+ cevabini alarak PASS komutu ile parolamizi belirliyoruz, eger yine OK+ cevabi dönüyorsa

parolamizin kabul edildigini anliyoruz ve islemlerimizi yapmaya basliyoruz. Yine mesajlarimizin listesini

görebilmek için LIST komutunu kullaniyoruz. Mesajlarimiz listelendikten sonra okumak istedigimiz herhangi bir

mesaji RETR komutuna parametre olarak vererek okuyabiliriz.

retr 5+OKReturn-Path: <[email protected]>Delivered-To: [email protected]: (qmail 5903 invoked from network); 30 Jan 2004 09:46:00 -0000Received: from cc.kou.edu.tr (194.27.72.80)by 0 with SMTP; 30 Jan 2004 09:46:00 -0000selam,mailimi konsoldan telnet ile yolluyorum

Ayni sekilde dele mesaj_numarasi seklinde de numara ile belirtilen mesaji silmis oluruz.

dele 28+OK

IRC Sunucuna Baglanmak

Uyari!! Yazdigimiz komutlarin cevaplari sunucudan dönmeyecektir biz komutu verdikten sonra

yanlis bir komut vermediysek olumlu kabul edip devam edecegiz. Öncelikle istedigimiz herhangi bir

IRC sunjucusuna baglanip kendimizi tanimlayalim

C:\>telnet irc.freenode.net 6667

Yukaridaki komutla kisaca irc.freenode.net adresindeki IRC sunucusuna 6667. portundan baglanmis olduk, IRC

sunucunuz farkli porttan hizmet veriyorsa port numarasini ona göre degistirin, bu komutu verdikten sonra bize

asagidaki gibi bazi bilgiler dökecektir. Bilgilerin ekranda akmasi bittiginde sunucuya kendimizi tanimlamamiz

gerekiyor.

NOTICE AUTH :*** Looking up your hostname...NOTICE AUTH :*** Checking identNOTICE AUTH :*** Found your hostnameNOTICE AUTH :*** No identd (auth) response

Page 4: Telnet İle Çeşitli Protokollerin Kullanımı

Sunucuya Kimlik tanimlama

USER rapsodi localhost localhost tam_isim

Simdi sirasi ile user komutunun aldigi parametreleri inceleyelim

Rapsodi : Takma adimiz

Hostname : bizim konak adimiz(localhost diyerek gecistirebilirsiniz)

Server_name : Sunucu adimiz (localhost diyerek gecistirebilirsiniz)

Tam_isim : (Tam isminiz herhangi bir sey yazmaniz yeterlidir,Tam isminizi iki kelimeden olusuyorsa önüne :

isaretini koyunuz)burada sunucuya olan baglantimizda zaman asimina ugramissak asagidakine benzer bir hata

olmamiz olasidir.

ERROR :Closing Link: (Connection Timed Out)

Bu adimdan sonra beklemeden,sunucu üzerinde kullanacagimiz takma ismimizi belirtmemiz gerekiyor

NICK rapsodi

Seklinde bu islemi gerçekleyebiliriz. Girmek istedigimiz kanala ise su sekilde girebiliriz:

JOIN #fazlamesai

Bu sekilde de kanala girmis bulunmaktayiz, bundan sonra kanalda geçen konusmalari izleyebiliriz,mesaj

gönderebilmek için

PRIVMSG #fazlamesai :merhaba kanal?

Kanaldan herhangi birine özel mesaj yollamak için

PRIVMSG ozel_biri :naber özelim:

Burada dikkatimizi çeken bir noktada normal irc istemcilerinde kullandiginiz komutlarin basindaki / karekterini

kaldirdiginizda çogu telnet ile yaptiginiz baglantilarda da geçerlidir.

Asagida göreceginiz 2 adet ekran görüntüsü,herhangi bir SMTP sunucuya yapilan telnet baglantisini ve Bir

Sniffer( ethereal) araciligi ile kaydedilisini göstermektedir,Yazacaginiz her karekter sizin ile hedefa makine

arasindaki herhangi bir makineden cok rahat bir sekilde izlenebilir.

Page 5: Telnet İle Çeşitli Protokollerin Kullanımı

Anahtar

: telnet, pop3, smtp, irc

Yazara ileti gönder

Page 6: Telnet İle Çeşitli Protokollerin Kullanımı

Yazara ait tüm makaleler Tüm LAN makaleleri

LAN

bölümün

de yer

alan son

5

makale

OpenBSD Pf ve Squid ile Transparent Proxy Kurulumu Switch Kullanılan Ağlarda Trafik dinleme(Sniffing) SMTP Sunucuların Çoklu Mail Dağıtım Yöntemleri Tcpdump kullanarak Ağ trafiği izlemek – Bölüm 1 VPOPMAIL Kullanma Kılavuzu

Bölüm : LAN

Düzey :

Tarih : 21.2.2004

Yazar : Huzeyfe ÖNAL

E-mail : huzeyfe [at] enderunix.org

OpenBSD Pf ve Squid ile Transparent Proxy Kurulumu

Page 7: Telnet İle Çeşitli Protokollerin Kullanımı

Huzeyfe ÖNAL

Transparent(saydam) Proxy nedir?

Transparent(seffaf, saydam) proxy kullanıcı tarafında herhangi ek ayar gerektirmeden kullanıcıdan gelen

istekleri bir proxy aracılığı ile yönetmektir. Kısacası kullanıcıdan habersiz kullanıcı ile orjinal sunucu arasına

girmektir.

Resimleyecek olursak;

   Kullanıcı----->Seffaf_proxy---->orjinal_web_sunucu

Burada kullanıcı "orjinal_web_sunucu" ile haberleştiğini düşünür ve istekleri orjinal sunucuya gönderir, araya

yerleştirilen seffaf proxy kullanıcıdan gelen isteği yakalayarak kendisi bu isteği yerine getirir ve cevabını

kullanıcıya sanki orjinal sunucudan geliyormuş gibi döndürür.

Squid transparent modda nasıl çalışır?

Squid'i seffaf proxy modunda kullanmak istedigimizde bir filtreleme aracı ile proxy makinesine gelen 80. port

isteklerini squid'in çalıştığı porta yönlendirmek gerekir. Squid ile filtreleme aracı farklı makinelerde olabilir.

Linux uzerinde netfilter/iptables, *BSD ler üzerinde PF(Packet Filter), IPF gibi araçlarla yapılabilir. Squid bu farklı

filtreleme araçları için farklı derleme seçenekleri sunar. Mesela squid ile iptables kullanılacaksa --enable-

netfilter, squid ile pf kullanılacaksa --enable-pf-transparent seçenekleri kullanılabilir. Bu derleme seçeneklerinin

kullanılmaması squid'in şeffaf proxy özelliğini yerine getirmesini engellemez ama ilerde yaşanabilecek bazı

problemler için baştan çözüm sunar.

Evet derleme esnasındaki --enable-netfilter ya da --enable-pf squid'e ne sağlar? Squid istemciden gelen istekteki

orjinal sunucu Ip adresini Host başlığına bakarak alır, eğer host başlığı gönderilmemişse squid --enable-

netfilter ile derlendiği için bu derlemede kendisine katılan Linux/UNIX spesifik ag ozellikleri ile orjinal sunucunun

IP adresini öğrenebilir. Günümüze bakıldığında tüm http istemciler host başlığını göndermektedir. Yani bu

derleme seçenekleri sadece işi sağlama alma amaçlıdır.

Squid Kurulumu

OpenBSD altında Squid iki farklı şekilde kurulabilir. Biri klasik kaynak koddan derleme şeklinde , diğeri ise OpenBSD port sistemi kullanarak. OpenBSD Port sistemi kurulacak paketlerin bağımlılık sorunlarını kolayca çözen ve

sisteme kurulan paketlerin kontrolünün kolay takip edilmesini sağlayan bir yapı sunar. Klasik yöntemi tercih edenler http://www.squid-cache.org/ adresinden son sürüm squid paketini indirerek kurabilir. Bu yazıda Squid OpenBSD port ağacından kurulacaktır.

OpenBSD port sistemini kullanarak squid'i transparent proxy işlevi görecek şekilde kurmak için aşağıdaki komutlar verilir.

#cd /usr/ports/www/squid/

Kurulum seçeneklerini sorgulamak için;

#make show=FLAVORS

transparent snmp

Page 8: Telnet İle Çeşitli Protokollerin Kullanımı

Kurulum için;

#env “FLAVOR=transparent” make install

komutları verilir.

NOT:/usr/ports/www/squid dizinideki Makefile dosyasi incelenerek Squid’in hangi secenekler ile kurulacagi belirlenebilir. CONFIGURE_ARGS+ ile baslayan satir Squid’in derleme seceneklerini belirtir.

Kurulum Sonrası genel yapılandırma

Kurulum sonrasında Squid aşağıdaki dosyaları oluşturur:

Yapılandırma dosyaları /etc/squid

Örnek yapılandırma dosyaları /usr/local/share/examples/squid

Hata mesajları /usr/local/share/squid/errors

Örnek hata mesajları /usr/local/share/examples/squid/errors

Simgeler /usr/local/share/squid/icons

Örnek simgeler /usr/local/share/examples/squid/icons

Cache dizini /var/squid/cache

Log dizini /var/squid/logs

Squid kullanici ve grubu _squid:_squid

Kurulum sonrasında Squid’in hangi seçeneklerle kurulduğunu görmek için –v parametresi kullanılır.

#squid -v

Squid Cache: Version 2.5.STABLE9

configure options: --datadir=/usr/local/share/squid '--enable-auth=basic digest' '--enable-basic-auth-helpers=NCSA YP' --enable-digest-auth-helpers=password '--enable-external-acl-helpers=ip_user unix_group' '--enable-removal-policies=lru heap' --enable-ssl '--enable-storeio=ufs diskd' --localstatedir=/var/squid --enable-pf-transparent --prefix=/usr/local --sysconfdir=/etc

Kurulum tamamlandıktan sonra /etc/squid/squid.conf dosyasında bazı değişiklikler yapılması gerekmekte.

Squid.conf dosyası herhangi bir editör ile açılarak aşağıdaki satırlar eklenmeli/değiştirilmelidir.

Page 9: Telnet İle Çeşitli Protokollerin Kullanımı

http_port 127.0.0.1:3128acl our_networks src 10.0.0.0/8 #10.0.0.0/8 benim local ağım, burayı kendinize göre düzenleyinhttpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_uses_host_header on

http_access allow our_networks

Bundan sonra squid'in kullanacağı gerekli takas dizinlerinini oluşturmak için squid -z komutu çalıştırılmalıdır.

#/usr/local/sbin/squid -z

2005/09/13 19:09:46| Creating Swap Directories

Squid’in sistemin her açılışında çalışmasını sağlamak için

/etc/rc.conf dosyasına

squid=YES

satırı eklenmeli . Ardından /etc/rc.local dosyasında echo “.” Satırının ustune aşağıdaki satırlar eklenmeli.

if [ -f /etc/squid/squid.conf ]; then

if [ X"${squid}" = X"YES" -a -x /usr/local/sbin/squid ]; then

echo -n ' squid'; /usr/local/sbin/squid

fi

fi

Squid yapılandırma dosyasında yapılan değişikliklerin aktif olması için

#squid –k reconfigure

Komutu verilmelidir.

Squid Loglama mekanizması

Squid tum loglarını 3 farklı dosyada tutar. Bunlar cache.log, access.log, store.log. Useragent.log ve referrar.log dosyalarıda seçimliktir ve access.log benzeridir fakat daha detayli bilgi icerirler.

Cache.log : Squid’in yapılandırma dosyasına ait hatalar, performans uyarıları gibi bilgiler içerir. Yapilandirma dosyasindaki cache_log anahtarı ile belirlenir.

Access.log : Bu dosya squid üzerinden yapılan her isteğin

Page 10: Telnet İle Çeşitli Protokollerin Kullanımı

loglandığı dosyadır. Yapılandırma dosyasındaki cache_access_log yönergesi tarafından belirlenir.

Store.log :Cache'e eklenen nesneler için düşük seviye bilgi verir.

Squid her erişilen siteyi detaylı bir şekilde loglamaktadır. Squid’in oluşturduğu erişim logları gün geçtikçe büyüyecektir bu da log dosyalarından rapor çıkarmayı zorlaştıracaktır. Squid’in logları günlük olarak döndürülürse(rotate) raporlama işi daha kolay ve düzenli yapılabilir.

Logları günlük döndürmek için /etc/daily.conf dosyasına aşağıdaki satırlar eklenmelidir.

if [ -x /usr/local/sbin/squid -a -f /var/squid/logs/squid.pid ]; then

/usr/local/sbin/squid -k rotate

fi

Sorun giderme

Squid beklediğiniz gibi çalışmıyorsa yapılandırma dosyasında hata yapmışsınızdır. Bu hatayı bulmanın en kolay yolu squid.conf’taki debug_options değerini artırmaktır.

debug_options ALL,1 32,2

Hata bulmanın bir diğer yolu da squid’i çalıştırırken tam debug modda çalıştırmaktır. Bunun için Squid’e –X parametresi verilir ve hatanın sebebi araştırılır.

#squid –X

Firewall(PF) Ayarları

OpenBSD Packet Filter kullanarak istemciden gelen istekleri Squid’e yonlendirmek için gerekli kurallar;

-----Pf.conf-----

ic_ag="xl0" #sizin ag arabiriminiz farkli olabilirdis_ag="rl0"

rdr on $ic_ag inet proto tcp from 10 .0.0.0/8 to any port www -> 127.0.0.1 port 3128

pass in on $dis_ag inet proto tcp from any to 127.0.0.1 port 3128 keep statepass out on $dis_ag inet proto tcp from any to any port www keep state

---pf.conf----

gerekli kurallar eklendikten sonra

#pfctl –f /etc/pf.conf

Page 11: Telnet İle Çeşitli Protokollerin Kullanımı

komutu ile yeni kuralların aktif olması sağlanmalı. Bundan sonra yapılacak iş Squid'in packet filteri sorgulayabilmesi için /dev/pf dosyasına erişim sağlamasını ayarlamak . /dev/pf dosyasının öntanımlı sahibi root dur. Squid ise _squid/_squid kullanici adi/grubu şeklinde çalışır. /dev/pf dosyasının grubunu, Squid okuyacak şekilde yapılandırmak için aşağıdaki komutlar verilmelidir.

#chgrp _squid /dev/pf#chmod g+rw /dev/pf

Eklenecekler:

FreeBSD Pf Squid Seffaf proxy kurulumu

Linux Iptables Seffaf proxy kurulumu

Squid acl kullanımı

Kaynaklar benzedrine.cx/transquid.html

ezine.daemonnews.org/200207/transpfobsd.html

averillpark.net/OpenBSD/FW-HowTo.html

OpenBSD Packet Filter hakkında detaylı bilgi için pf.pdf ve pf_tr.pdf belgelerinden faydalanılabilir.

$man pf $man squid

Notlar Bu yazıda OpenBSD 3.7 işletim sistemi kullanılmıştır.

Anahtar

: proxy, transparent, transparan, şeffaf, squid

Yazara ileti gönder Yazara ait tüm makaleler Tüm LAN makaleleri

LAN

Page 12: Telnet İle Çeşitli Protokollerin Kullanımı

bölümün

de yer

alan son

5

makale

OpenBSD Pf ve Squid ile Transparent Proxy Kurulumu Switch Kullanılan Ağlarda Trafik dinleme(Sniffing) SMTP Sunucuların Çoklu Mail Dağıtım Yöntemleri Tcpdump kullanarak Ağ trafiği izlemek – Bölüm 1 VPOPMAIL Kullanma Kılavuzu

Bölüm : LAN

Düzey :

Tarih : 28.11.2005

Yazar : Huzeyfe ÖNAL

E-mail : huzeyfe [at] enderunix.org

Switch Kullanılan Ağlarda Trafik dinleme(Sniffing) Huzeyfe ÖNAL

      HUB kullanılan ortamlarda trafik dinleme işlemi oldukça basittir. Ağa bağlı bir makineye kurulacak bir sniffer

aracılığı ile ağdaki tüm trafik dinlenebilir. Bu zaafiyet HUB sistemlerin çalışma mantığından kaynaklanır, hub ile

birbirine bağlı sistemlerde iki sistem birbiri arasında haberleşmek istese bile aralarındaki trafik tüm hostlara

gidecektir(broadcast mantığı ile çalışır).

Page 13: Telnet İle Çeşitli Protokollerin Kullanımı

      Switch yapısı ise biraz farklıdır. Trafik sadece haberleşmek isteyen iki host arasında gerçekleşir . Switch’ler

bu yapıyı üzerilerinde tuttukları CAM (Content Addresable Memory )tablolaları ile kotarırlar, bu tablolar MAC

adresi, switch port numarası ve VLAN bilgilerinden oluşur.

      Bir host diğeri ile iletişime başlamadan önce kendi ARP cache’ni(IP Adresi –MAC adresi bilgileri) kontrol

ederek hedef IP adresine ait bilgi var mı kontrol eder, varsa direkt o MAC adresine veriyi gönderir yoksa

broadcast yaparak o IP adresine sahip MAC adresinin kim olduğunu öğrenir. Bu istekler ve cevaplar ARP

mesajları ile gerçekleştirilir.

      4 cesit ARP mesajı vardır

ARP request : IP Adresine ait donanım adresi(MAC adresi) sorgulamak için kullanılır

10:09:20.356809 arp who-has 12.16.6.17 tell 12.16.6.185

ARP reply : Belirtilen Ip adresine uyan donanım adresini döndürür

10:09:20.356809 arp reply 12.16.6.17 is-at 0:80:c8:f8:5c:73

RARP request: Belirli bir MAC adresi için IP adresi sorgulaması için kullanılır

RARP reply : Belirli MAC adresi için IP adresi cevabı döndürür.

Arp Cahce işlemleri

Arp cache bilgilerini görüntülemek

arp –an komutu ile arp cache bilgileri görülebilir.

#arp -an

? (1.2.3.4) at 00:00:ge:11:01:98 on xl0? (5.6.7.8) at 00:00:ev:49:f0:kj on xl0? (9.10.11.12) at 00:e0:4c:bb:66:66 on vr0

Arp kaydı silmek

#arp –d IP_adresi

Arp kaydı ekleme

#arp -s IP_adresi MAC_adresi [temp | permanent] [pub]

Page 14: Telnet İle Çeşitli Protokollerin Kullanımı

      Şekilde Node A Node B ile iletişime geçmek istediğinde switch her ikisinin mac adresi ve port bilgilerini

edinerek bu iki makine arasıdaki iletişimi C’nin görmesini engeller. Switchli ağlarda başka makineye ait trafiği

izlemenin çeşitli yolları vardır burada en basit ve en etkili yöntem olan arp spoofing ve korunma yolları

anlatılacaktır.

Gerekli araçlar

İşletim sistemi;

Windows NT(W2k, W2K3, Win XP…) ailesinden bir işletim sistemi

Herhangi bir Linux dağıtımı

FreeBSD/OpenBSD işletim sistemi

Programlar;

Tcpdump (http://www.tcpdump.org)

Dsinff (http://www.monkey.org/~dugsong/dsniff )

Fragrouter (http://www.monkey.org/~dugsong/fragrouter )

      Kişisel tercihim FreeBSD ve OpenBSD olduğu için örnekler bu iki işletim sisteminin kurulu olduğu makineler

üzerinde verilecektir ama belirlenen programların Windows ve Linux versiyonları bulunarak aynı testler bu

sistemler ile de gerceklenebilir.

Kurulum

      OpenBSD için kurulum

#cd /usr/ports/security/dsniff

#env FLAVOR=”no_x11” make install

#cd /usr/ports/security/fragrouter/

#make install

ARP Spoofing Uygulaması / Teori

      Bir switche bağlı 3 makine üzerinde test

Makine ismi Ip Adresi Mac adresi

A(Router/Firewall) 10.10.10.1 aa:bb:cc:dd:ee:ff B(FreeBSd) 10.10.10.2 ab:bc:cd:de:ef:fg C(OpenBSD) 10.10.10.3 xx:yy:zz:ww:jj:ll

Page 15: Telnet İle Çeşitli Protokollerin Kullanımı

      Yukarıdaki şekle göre Firewall olarak belirlenen makine bir kablo ile switche bağlıdır ve switche bağlı diğer

makineler için varsayılan çıkış kapısıdır.

      B makinesinin internete çıkışı A makinesi yani Firewall/router üzerinden gerçekleşmektedir. C makinesi ise B

ve A ile aynı fiziksel ağda bulunan bir makinedir. Arpspoofing yapılmadan önceki normal trafik akışı aşağıdaki

gibidir,

B----àA(10.10.10.1 : aa:bb:cc:dd:ee:ff)---------> gizlibankam.com

Arp spoofing yapıldıktan sonra trafik akışı aşağıdaki şekilde olacaktır.

B----àA(10.10.10.3 : aa:bb:cc:dd:ee:ff, xx:yy:zz:ww:jj:ll)----->gizlibankam.com

ARP Spoofing Uygulaması / Pratik

      Kurulumların gerçekleştirildiği C makinesi üzerinde yapılması gerekenler;

      Fragrouter programını kullanarak basitce ip_forwarding islemi yaptırıyoruz, bu islemi yaparkende paketlerin

icerigini gormse şansımız oluyor. Arka planda tcpdump komutu çalıştırılarak makine üzerinden akan trafik bir

dosyaya kaydedilerek sonradan incelenebilir. Tcpdump ile ilgili detaylı bilgi kaynaklar bölümünden edinilebilir.

      C makinesinde

#fragrouter –B1 &

Ve

#arpspoof –t 10.10.10.2 10.10.10.1

komutuları verilir. Arpspoof komutu ile 10.10.10.2 IP adresli makinede tutulan 10.10.10.1 adresine ait MAC

adresinin 10.10.10.3 IP adresine sahip makinin MAC adresi ile değiştirilmesi sağlanmış oldu.

      Böylece B makinesi A makinesi ile iletişime geçtiğini düşünerek paketi aslında C makinesine yollamış oluyor.

C makinesi de trafiği üzerinden geçirerek asıl hedefine ulaştırıyor ve cevaıbını yine B makinesine yolluyor, bu

arada üzerinden geçirdiği trafiği izleme şansı oluyor.

Page 16: Telnet İle Çeşitli Protokollerin Kullanımı

NOT:C makinesinde herhangi bir IP adresi değişikliği yapılmamıştır

Korunma Yöntemleri

Statik arp kayıtları kullanmak

Arpwatch[4] programını kullanarak ağ üzerinde IP-MAC tablosu değişikliklerini gözlemlemleyerek ,

değişikliklerin mail ile bildirilmesini sağlamak.

Switchler üzerinde port security özelliğini aktif ederek kullanmak.

Kaynaklar

1. http://www.olympos.org/article/articleview/172/1/10

2. http://www.enderunix.org/docs/tcpdump.html

3. http://ettercap.sourceforge.net

4. http://www-nrg.ee.lbl.gov/nrg.html

5. http://www.huzeyfe.net

Anahtar

: -

Yazara ileti gönder Yazara ait tüm makaleler Tüm LAN makaleleri

LAN

bölümün

de yer

alan son

5

makale

OpenBSD Pf ve Squid ile Transparent Proxy Kurulumu Switch Kullanılan

Page 17: Telnet İle Çeşitli Protokollerin Kullanımı

Ağlarda Trafik dinleme(Sniffing)

SMTP Sunucuların Çoklu Mail Dağıtım Yöntemleri Tcpdump kullanarak Ağ trafiği izlemek – Bölüm 1 VPOPMAIL Kullanma Kılavuzu

Bölüm : LAN

Düzey :

Tarih : 17.4.2005

Yazar : Huzeyfe ÖNAL

E-mail : huzeyfe [at] enderunix.org

SMTP Sunucuların Çoklu Mail Dağıtım Yöntemleri Huzeyfe ÖNAL

      Simple Mail Transfer Protocol (SMTP) tek seferde bir mesajı birden çok kullanıcıya iletme yetisine

sahiptir,hatırlayacak olursak bir mesajın iletiminde RCPT komutunu kullanıyorduk-burada da MTA nin yaptığı

birden fazla RCPT komutu kullanarak bir mesajı birden çok alıcıya yollmaktır.Tabii bunu gerçekleşmesi için

kullanıcıların aynı sunucu üzerinde olması gerekir.

Mesela enderunix.org adresinde kayıtlı

[email protected]

[email protected]

[email protected]

3 adet mail hesabımız olsun, ben [email protected] adresinden buradaki 3 mail hesabına bir mail yollamak

istersem MTA nın 3 farklı davranma durumu vardır. Bunlar aşağıda açıklanmıştır ,

1. Durum

      1.durumda SMTP sunucuya bağlantı kuruyoruz 1.mail hesabına maili yolluyorum sonra 2.mail hesabına

mailin bir kopyasını yolluyorum sonra 3.mail hesabına mailin bir kopyasını yolluyorum.

Page 18: Telnet İle Çeşitli Protokollerin Kullanımı

Şekil 1-A da görebileceğiniz gibi tek bağlantı kuruluyor ve farklı 3 RCPT komutu kullanılıyor.Biraz daha açıklayıcı

olması amacı ile aşağıdaki smtp sessionunu izleyelim.

bash-2.05a$ telnet bizimev 25

mail from:[email protected]

250 ok

rcpt to:[email protected]

250 ok

data

354 go ahead

selam olsun ;

.

rset

250 flushed

mail from:[email protected]

250 ok

rcpt to:[email protected]

250 ok

data

354 go ahead

selam olsun;

.

rset

250 flushed

mail from:[email protected]

250 ok

Page 19: Telnet İle Çeşitli Protokollerin Kullanımı

rcpt to:[email protected]

250 ok

data

354 go ahead

selam olsun;

.

rset

250 flushed

quit

2. Durum

      Bu durumda SMTP sunucuya 3 farklı kanaldan 3 ayrı proses başlatılır,her bir proses işlemini tamamlayıp

kapanır.

Şekil-2A daki resim bunu anlatmaktadır.Aşağıda da smtp komutları ile nasıl gercekleneceğini de anlatmaya

çalıştım,

bash-2.05a$ telnet bizimev 25

mail from:[email protected]

250 ok

rcpt to:[email protected]

250 ok

data

354 go ahead

selam olsun ;

.

quit

bash-2.05a$ telnet bizimev 25

Page 20: Telnet İle Çeşitli Protokollerin Kullanımı

mail from:[email protected]

250 ok

rcpt to:[email protected]

250 ok

data

354 go ahead

selam olsun;

.

quit

bash-2.05a$ telnet bizimev 25

mail from:[email protected]

250 ok

rcpt to:[email protected]

250 ok

data

354 go ahead

selam olsun;

.

quit

görüldüğü üzere her adımda yeni bir smtp bağlantısı açtım ve mailimi gönderip bağlantıyı kapadım.

3. Durum

      Bu durumda sunucuya tek bir SMTP bağlantısı başlatıyoruz ve RCPT ile 3 adet alıcı belirliyoruz sonra

mesajımızı yolluyoruz, yani tek seferde 3 alıcıya mesaj yollamış oluyor.Bunun gösterimi Şekli aşağıdaki gibidir.

SMTP komutları ile gerçeklemesi ise aşağıdadır. bash-2.05a$ telnet bizimev 25

Page 21: Telnet İle Çeşitli Protokollerin Kullanımı

mail from:[email protected]

250 ok

rcpt to:[email protected]

250 ok

rcpt to:[email protected]

250 ok

rcpt to:[email protected]

250 ok

data

354 go ahead

mail budur iste ;

.quit

      Evet bir MTAnın aynı sunucuda bulunan farklı kullanıcılara mail dağıtma işlemleri bu şekilde gerçekleşebilir,

piyasada bulunan MTA lerden bu 3 yoldan birini uygulayan örnekleri vardır.

      Şimdi de bu 3 durumu kendi aralarında kıyaslayalım hangisi hangi bakımdan daha iyi, hangisi hangi

durumda daha kullanışlı vs. İlk olarak 1.durum ile 3.durumu kıyasalayacak olursak birçok durumda 3’un 1’ e olan

etkinliğii görülebilir, neden mi? Mesela mesajın boyutunun küçük olduğunu kabul edelim bu durumda bant

genişiliği çok önemli değildir ve zaman olarak 3 de geçen zaman 1 de geçen zaman göre daha kısadır(3 kere bir

mesajın kopyalanmasi<->tek kerede bir mesajın yollanması)

      Mesajın boyutunun belirli bir değerin üzerinde olduğunu varsayarsak hem zaman olarak hemde bant

genişliği olarak 3 1 den daha etkin çalışır. 1.durumun 3.duruma gore avantajlı noktası ise her mesajın ayrık

dağıtılması sonucu VERP(*)kullanma olasılığının olmasıdır.

2. Durum ile 3. Durumunun kıyaslanması

      3.durumda tek bir SMTP bağlantısı kullanılarak birden fazla kullanıcıya aynı maili yollayabiliyorduk,aşikarki

bu herdurumda bantgenişliğinden tasarruf sağlayacaktır, 2.durumda ise her bir mail için farklı bir SMTP

bağlantısı açıp maili yolluyorduk, burada da bir bantgenişiliği israfı söz konusu gözüküyor, bununla birlikte

2.durumdaki 3 farklı smtp bağlantısında smtp’nin doğasında bulunan gidis-donus gecikmeleri paralel olarak

geçekleştiği için 3.duruma göre daha hızlıdır.Yine alıcıların farklı farklı belirtilmeleri sonucu 2.durumda

VERP(*)kullanım kolaylığı da sağlanmaktadır.

      Qmail bu 3 durumdan 2.sini kullanmaktadır diğer yöntemleri kullanması için herhangi bir yama söz konusu

değildir.

Kaynaklar

RFC821

http://cr.yp.to/proto/verp.txt

The qmail Handbook ISBN:1893115402

Page 23: Telnet İle Çeşitli Protokollerin Kullanımı

1 VPOPMAIL Kullanma Kılavuzu

Bölüm : LAN

Düzey :

Tarih : 1.2.2005

Yazar : Huzeyfe ÖNAL

E-mail : huzeyfe [at] enderunix.org

Tcpdump kullanarak Ağ trafiği izlemek – Bölüm 1

Huzeyfe ÖNAL

Trafik Nedir? Trafiği izleyerek ne elde edebiliriz, ya da hangi sorunlarımıza çözüm bulabiliriz?

Sniffer olarak adlandırılan ve ağ trafiğini izlemek amacıyla yazılan birçok program vardır, bunlardan UNIX/Linux

dünyası için en bilineni ve sık kullanılanı tcpdump’tır, tcpdump ilk olarak UNIX sistemler için yazılmış sonrasında

NRG (Network Research Group) tarafından Windows’a da port edilmiştir ve windump olarak adlandırılmıştır. Ben

bu yazıyı hazırladığım sırada tcpdump’ın son versiyonu 3.8 idi, programın son sürümüne ve çeşitli ek bilgilere

ulaşmak için ana sayfasını ziyaret edebilirsiniz( http://www.tcpdmp.org). Windows üzerinde kullanmak

istiyorsanız http://netgroup-serv.polito.it/winpcap adresinden indireceğiniz ek yazılımı kurup yine

http://netgroup-serv.polito.it/windump adresinden edinebileceğiniz ana yazılımı kurmanız gerekmetedir.

Promiscious Mode Nedir?

Normalde bir ağ arabirimi sadece hedef adresi kendisini gösteren paketlerle ilgilenir, diğer paketleri

önemsemez. Promisc modda ise kendisine gelen her paketi kime yollandığına bakmadan kabul eder,

hatırlayacak olursak hub tipi ağ aygıtlarındaki iletişim ortak bir havuzda gerçekleşiyordu yani huba bağlı 8

makinemiz varsa bu 8 makine arasındaki her türlü iletişim diğerleri tarafından da izlenebiliyordu,

Şekil 1-A

Page 24: Telnet İle Çeşitli Protokollerin Kullanımı

Şekil 1-A da görebileceğiniz gibi HUB ile bağlanmış 4 adet makinemiz var,şimdi şöyle bir senaryo üretelim A

makinesi ile B makinesi gizlice haberleşmek istiyor ve A makinesi B ile iletişime geçiyor, A makinesindeki Temel

Reis B makinesindeki Safinaz'a seni seviyorum mesajı yolluyor bu arada C makinesinin yöneticisi olan Kaba

Sakal da Temel Reis ile Safinaz arasındaki geçen muhabbeti izlemek istiyor.

Kaba sakal bulundukları ortamın hub olduğunu bildiği için Ethernet kartını promisc moda geçiriyor ve Temel Reis

ile Safinaz arasındaki trafiği dinliyor ve internette yaptığı kısa bir araştırma neticesinde Temel Reis ile Safinaz’ın

iletişiminde araya girerek Temel Reis’in Safinaz’a yolladığı paketleri istediği gibi değiştirebiliyor. Temel Reis

Safinazı kaba sakala kaptırdıktan sonra kendini Ağ güvenliğine adıyor ve yaptığı araştırmalar sonucu sağlam bir

switch üzerinde çeşitli kurallar yazarak trafiğini dinlenemeyecek hale getiriyor;)

Ethernet kartları sıfır yapılandırma ile “promisc” özelliğine sahip değildirler,ethernet arabirimimizi normal

moddan “promisc” moda geçirmek için ifconfig komutuna promisc parametresini vermemiz yeterlidir.

# ifconfig eth0 Link encap:Ethernet HWaddr 00:D0:B7:B6:D1:0C inet addr:194.27.72.88 Bcast:194.27.127.255 Mask:255.255.192.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5228531 errors:0 dropped:0 overruns:0 frame:0 TX packets:4528739 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1796789472 (1713.5 Mb) TX bytes:3725692 (3.5 Mb) Interrupt:18 Base address:0x5400 Memory:f6101000-f6101038

# ifconfig eth0 promisc

# ifconfig eth0 Link encap:Ethernet HWaddr 00:D0:B7:B6:D1:0C inet addr:194.27.72.88 Bcast:194.27.127.255 Mask:255.255.192.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:5228715 errors:0 dropped:0 overruns:0 frame:0 TX packets:4528864 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1796807077 (1713.5 Mb) TX bytes:3737015 (3.5 Mb) Interrupt:18 Base address:0x5400 Memory:f6101000-f6101038

Yukarıdaki farklılıktan(PROMISC)da görebileceğimiz gibi ifconfig komutuna promisc parametresini ekleyince

özellikler satırında arabirimin “PROMISC” moda geçtiği hemen belirdi.

Promisc moddan cıkarmak istediğimizde ise

# ifconfig eth0 –promisc

komutunu vermemiz yeterlidir.

NOT:! Tcpdump komutu çalıştırıldığında ağ arabirimini otomatik olarak promisc moda geçirir ve tcpdump’ı

sonlandırdığınızda yine ağ arabirimini promisc moddan çıkarır.

Karışık bir ağda tcpdump ile sadece kendi makinenizi ilgilendiren paketleri yakalamanız icap ederse tcpdump'a

sadece kendi makinemizle ilgilenmesini söyleyebiliriz. Yani kısaca hedef adresi ben olmayan paketlere karışma

demiş oluruz, bu bize amacımıza daha kolay ulaşmamızı sağlar .Tcpdump’in başlatıldığında promisc moda

geçmemesini sağlamak için gerekli parametre yazının ilerleyen bölümlerinde detaylıca verilmiştir.

Kullanımı

Page 25: Telnet İle Çeşitli Protokollerin Kullanımı

NOT! Linux/UNIX altında tcpdump programını kullanabilmek için ya root haklarına sahip olmak lazım ya da

tcpdump programının suid olarak çalışması lazım

NOT! Tcpdump, paketleri kernel’a giriş-çıkış yapmadan yakalar bu sebeple iptables(Linux için) ile yazdığınız

kurallar tcpdump’ı etkilemez.

Tcpdump'ın en basit kullanımı parametresiz kullanımdır

# tcpdump

Gibi.

Tcpdump ile kullanabileceğimiz Temel Parametreler

-i / Arabirim Seçimi

Sistemimizde birden fazla arabirim varsa ve biz hangi arabirimini dinlemesini belirtmezsek tcpdump aktif olan

ağ arabirimleri arasında numarası en düşük olanını dinlemeye alır, mesela 3 adet aktif Ethernet ağ arabirimimiz

var; eth0, eth1, eth2[Linux için geçerlidir,diğer unix çeşitlerinde farklıdır,Ekler kısmında diğer unixler için neler

olabileceği listelenmiştir.] şeklinde biz bu makinede tcpdump komutunu yalın olarak kullanırsak tcpdump eth0

arabirimini dinlemeye alacaktır.

Eğer ilk arabirimi değilde istediğimiz bir arabirimi dinlemek istiyorsak –i parametresi ile bunu belirtebiliriz

# tcpdump -i eth2

komutu ile sistemimizdeki 3.Ethernet kartını dinlemeye alıyoruz.

-n /İsim Çözümleme

Eğer tcpdump ile yakalanan paketlerin dns isimlerinin çözülmesini istemiyorsak -n parametresini kullanabiliriz.

normal kullanım# tcpdump

17:18:21.531930 IP huzeyfe.32829 > erhan.telnet: S 3115955894:3115955894(0) win 5840

17:18:21.531980 IP erhan.telnet > huzeyfe.32829: R 0:0(0) ack 3115955895 win 0

-n parametresi ile kullanım# tcpdump -n

17:18:53.802776 IP 192.168.0.100.32835 > 192.168.0.1.telnet: S 3148097396:3148097396(0) win 5840

17:18:53.802870 IP 192.168.0.1.telnet > 192.168.0.100.32835: R 0:0(0) ack 3148097397 win 0

burada huzeyfe makinesi 192.168.0.100, erhan makinesi 192.168.0.1 IP adresine sahiptir. İsimlerin yanında

protocol ve port numaralarınında isimlere çevrimini istemiyorsak –nn parametresini kullanabiliriz

# tcpdump –nnyukarıda (-n için)verdiğimiz örnekte – yerine -nn koyarsanız hem isim hemde port çözümlemesi yapılmayacaktır,yani telnet yerine 23 yazacaktır.

Page 26: Telnet İle Çeşitli Protokollerin Kullanımı

-t /Zaman Damgası Gösterimi

Eğer tcpdump'ın daha sade bir çıktı vermesini istiyorsak ekrana yazdığı satırların başındaki timestamp(zaman

damgası, hangi paketin hangi zaman aralığında yakalandığını belirtir) kısmını istemediğimizi belirtebiliriz.

Timestamp[zaman damgası]leri istemediğim durumlarda – t parametresi ile bunu belirleyebiliriz.

Timestamp li çıktı# tcpdump

15:32:13.479577 cc.kou.edu.tr.200 > 212.174.108.162.29157: . 68:1528(1460) ack 53 win 20440 (DF) [tos 0x10]

15:32:13.479582 cc.kou.edu.tr.200 > 212.174.108.162.29157: P 1528:2456(928) ack 53 win 20440 (DF) [tos 0x10]

Timestamp(Zaman damgası)siz çıktı # tcpdump –t

2.174.108.162.29157 > cc.huzeyfe.net.2000: P 3329:3381(52) ack 11236 win 17520 (DF) [tos 0x20]

cc.huzeyfe.net.2000 > 2.174.108.162.29157: . ack 2289 win 8576 (DF) [tos 0x10]

-w /Yakalanan paketleri kaydetme

Tcpdump’ın yakaladığı paketleri ekradan değilde sonradan incelemek üzere bir uygun bir şekilde dosyaya

yazmasını istersek -w parametresini kullanabiliriz. kaydettiğimiz dosya libpcap uyumlu olduğu için sadece

tcpdump ile değil birçok network snifferi tarafından okunup analiz edilebilir.

# tcpdump -w dosya_ismi

-r /Kaydedilmiş Paketleri Okuma

-w ile kaydettğimiz paketleri okumak içinde -r parametresini kullanabiliriz.

# tcpdump -r dosya_ismi

not!! -w ile herhangi bir dosyaya kaydederken filtreleme yapabiliriz,yani sadece su tip paketleri kaydet ya da timestampleri kaydetme gibi,aynı şekilde -r ile paketlerie okurken filtre belirtebiliriz.Bu filtrenin -w ile belirlediğimiz filtre ile aynı olma zorunluluğu yoktur.

# cd /tmp/# tcpdump -w log icmptcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytesctrl c

# tcpdump -r log -nnreading from file log, link-type EN10MB (Ethernet)17:31:01.225007 IP 192.168.0.100 > 192.168.0.1: icmp 64: echo

request seq 017:31:01.225119 IP 192.168.0.1 > 192.168.0.100: icmp 64: echo reply

seq 0

Page 27: Telnet İle Çeşitli Protokollerin Kullanımı

17:31:02.224988 IP 192.168.0.100 > 192.168.0.1: icmp 64: echo request seq 1

17:31:02.225111 IP 192.168.0.1 > 192.168.0.100: icmp 64: echo reply seq 1

-c / Yakalanacak paket miktarını belirleme

tcpdump'a -c parametresini vererek ne kadar paket yakalayıp duracağını söyleriz.

# tcpdump -i eth0 -c 5tcpdump: verbose output suppressed, use -v or -vv for full protocol

decodelistening on eth0, link-type EN10MB (Ethernet), capture size 96

bytes00:59:01.638353 IP maviyan.net.ssh > 10.0.0.2.1040: P

1010550647:1010550763(116) ack 774164151 win 857600:59:01.638783 IP 10.0.0.2.1040 > maviyan.net.ssh: P 1:53(52) ack

116 win 1652000:59:01.638813 IP maviyan.net.ssh > 10.0.0.2.1040: P 116:232(116)

ack 53 win 857600:59:01.639662 IP 10.0.0.2.1040 > maviyan.net.ssh: P 53:105(52)

ack 232 win 1640400:59:01.640377 IP maviyan.net.ssh > 10.0.0.2.1040: P 232:380(148)

ack 105 win 85765 packets captured5 packets received by filter0 packets dropped by kernel

tcpdump -c sayi ile belirlediğimz sayıda paketi yakaladıktan sonra çalışmasını durduracaktır.

-s /Yakalanacak paket boyutunu byte cinsinden belirleme

-s parametresi ile yakalancak paketlerin boyutunu byte olarak belirleyebiliriz.

-v /Detaylı Loglama

-v parametresi ile tcpump’dan biraz daha detaylı loglama yapmasını isteyebiliriz. Mesela bu parametre ile

tcpdump çıktılarını TTL ve ID değerleri ile birlikte edinebiliriz.

# tcpdump -vtcpdump: listening on eth0, link-type EN10MB (Ethernet), capture

size 96 bytes17:36:55.161861 IP (tos 0x10, ttl 64, id 17228, offset 0, flags

[DF], proto 6, length: 60) huzeyfe.32981 > erhan.ssh: S [tcp sum ok] 4229750775:4229750775(0) win 5840

17:36:55.161940 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 6, length: 60) erhan.ssh > huzeyfe.32981: S [tcp sum ok] 3303151192:3303151192(0) ack 4229750776 win 5792

-p /Promisc Moddan Kaçış

-p parametresi ile de sniff yaptığımız arabirimin promisc moddan çıkmasını sağlarız,promisc moddan çıkmak

bize ne sağlar? Promisc moddan çıkmakla sadece o arabirime gelen ve o arabirimi ilgilendiren paketler işlenir ki

bu paketlerde ya broadcast ya da direct o arabirimin adresi olması lazım. Daha çok tcpdump’ın çalıştığı

makineye ait bir paket analizi yapmak istediğimiz zaman kullanılabilecek türden bir parametredir.

Page 28: Telnet İle Çeşitli Protokollerin Kullanımı

Mesela yerel ağınızda bağlı bulunduğunuz makinede sorun gidermeye çalışıyorsunuz ve bu sebeple tcpdump

çalıştırıp makinenizi dinlemeye aldınız fakat o da ne? tüm yerel ağda geçen paketler ekranınızda akıp

gidiyor(bağlı bulunduğunuz aygıtın HUB olduğunu göz önüne aldım)işte bu karmaşadan kurtulmak istiyorsak

sadece bizim arabirimiz hedefli gelen paketleri almalıyız

# tcpdump -p –i eth0

host Parametresi

Sadece belli bir host a ait paketlerin izlenmesini istiyorsak host parametresi ile belirtim yapabiliriz.

bash-2.05b# tcpdump host 10.0.0.21

bu komutla kaynak ya da hedef ip adresi 10.0.0.21 olan paketlerin alınmasını istiyoruz.

dst host (Hedef Host Belirtimi)

dsh host ;hedef host olarak belirtilen adrese ait paketleri yakalar,

# tcpdump -i eth0 dst host 10.0.0.1yukarıdaki komutla makinemizin eth0 arabirimine gelen ve hedefi 10.0.0.1 olan tüm paketler yakalanacaktır, burada dikkat etmemiz gereken bir nokta var o da şu:yerel ağımızda 10.0.0.21 makinesinden 10.0.0.1 makinesine bir trafik oluştuğu zaman, dinlemede olan makinemizde(10.0.0.101)hedef adresi 10.0.0.1 olan paketler oluştuğunu göreceksiniz. # tcpdump -i eth0 dst host 10.0.0.1

tcpdump: listening on eth010:47:20.526325 10.0.0.21 > 10.0.0.1: icmp: echo request

ile de hedef ip si 10.0.0.1 olan ip adreslerini izlemiş oluyoruz.

src host (Kaynak Host Belirtimi)

src host tanımı ilede kaynak hostu belirterek dinleme yapabiliriz, mesela kaynak hostu 10.0.0.21 olan paketleri

(10.0.0.21 makinesinde )dinlemeye alalim.

# tcpdump -i eth0 src host 10.0.0.21tcpdump: listening on eth010:52:00.620897 10.0.0.21.3409 > baym-cs253.msgr.hotmail.com.1863:

P 1541540362:1541540367(5) ack 3598940393 win 17484 (DF)10:52:01.025286 10.0.0.21.3409 > baym-

cs253.msgr.hotmail.com.1863: . ack 9 win 17476 (DF)10:52:14.758635 10.0.0.21.4013 > 10.0.0.1.telnet: S

3499731684:3499731684(0) win 16384 (DF)sadece ip adresi değil host ismide belirtebiliriz. bash-2.05b# tcpdump host hotmail.comdst ve src i aynı komuttada kullanabiliriz. Örneğin, kaynak ip si 10.1.0.59 hedef hostu 10.1.0.1 olan paketleri izlemek istersek # tcpdump src host 10.1.0.59 and dst host 10.1.0.1

komutunu verebiliriz. Burada dikkatimizi çeken ufak bir değişiklik oldu,src host ve dst host arasına “and” geldi,evet tcpdump ile kompleks kurallar yazarken sıkça kullanacağımız kelimelerden biri de “and” dir,ilerleyen bölümlerde “and” in yerine hangi dizimler gelebilir onlarıda göreceğiz. Host parametresi ile de aynı şekilde bir sonuca ulaşabiliriz host parametresi ile kaynak ya da hedef hosttan herhangi biri uygunsa paket yakalanır.

port Parametresi (Port Belirtimi)

Belirli bir portu dinlemek istediğimizde kullanacağımız parametredir. Host gibi src ve dst oneklerini alabilir.

Page 29: Telnet İle Çeşitli Protokollerin Kullanımı

src ile kaynak portu dst ile hedef portu belirtebiliriz . dst ya da src önekini kullanmazsak hem kaynak hemde

hedef portu alır.

# tcpdump port 23# tcpdump dst port 23ile hedef portu 23 olanlar # tcpdump src port 23ile de kaynak portu 23 olan paketler izlemeye alınır. Aşağıdaki örnekte belirli ip ve belirli port numaralarını içeren paketleri port ve isim çözümleme yapmamasını(-nn)söylüyoruz. # tcpdump -nn host 192.168.2.165 and port 23

tcpdump: listening on eth019:20:00.804501 192.168.2.10.1221 > 192.168.2.165.23:S2565655403:2565655403(0) win 16384 (DF)

-e / (Layer 2 paket loglama)

Bu komuta ek olarak –e parametresini de verirsek bu sefer tcpdump 2.katmana gore paket yakalama işlemi

başlatır yani bu durumda ip adresleri değilde MAC adresleri ile işlem yapılmış olur.

# tcpdump –t –nn -etcpdump: verbose output suppressed, use -v or -vv for full protocol

decodelistening on eth0, link-type EN10MB (Ethernet), capture size 96

bytes

00:0b:db:1c:4b:61 > 00:02:44:27:73:79, ethertype IPv4 (0x0800), length 52: IP 192.168.0.100.32768 > 192.168.0.1.33435: UDP, length 10

00:0b:db:1c:4b:61 > 00:02:44:27:73:79, ethertype IPv4 (0x0800), length 52: IP 192.168.0.100.32768 > 192.168.0.1.33436: UDP, length 10

00:02:44:27:73:79 > 00:0b:db:1c:4b:61, ethertype IPv4 (0x0800), length 80: IP 192.168.0.1 > 192.168.0.100: icmp 46: 192.168.0.1 udp port 33436 unreachable

00:0b:db:1c:4b:61 > 00:02:44:27:73:79, ethertype IPv4 (0x0800), length 52: IP 192.168.0.100.32768 > 192.168.0.1.33437: UDP, length 10Sumele ve hitit veya kapadokya hostları arasında geçen trafiği izlemek için # tcpdump host sumele and \( hitit or kapadokya \)

Kaynaklarhttp://www.firewall.cxhttp://www.olympos.orghttp://www.tcpdump.orghttp://www.huzeyfe.nethttp://forum.ceviz.net

VPOPMAIL Kullanma Kılavuzu Huzeyfe ÖNAL

 

Vpopmail bir sanal domain ve sanal kullanıcı yonetim  aracı olarak yazılmıştır, yazılmasında temel MTA (Mail Transfer Agent)olarak qmail ele alındığı için bu sadece bu MTA ile  çalışır. Son zamanlarda postfix ile birlikte de çalışabilmesi için gerekli düzenlemeler yapılmıştır. Postfix ile çalıştırabilmeniz için yine aynı sitede bulunan vpopmail-postfix dökümanına göz atabilirsiniz.

 

Vpomailin halihazırda  efektif ve esnek yapısı qmailin yönetiminin kolaylaşmasında önemli derecede rol oynamıştır ve göreceli olarak qmailin MTA lar arasındaki yükselişe katkısının

Page 30: Telnet İle Çeşitli Protokollerin Kullanımı

büyük olduğunu söyleyebiliriz. Ken Jones tarafından  http://www.inter7.com/vpopmail adresinde yönetilen vpopmail sadece yazılımın bulucusu tarafından değil tüm dünyadaki açıkkaynak kod severler tarafından desteklenmektedir. Kaynak kodları isteyen herkese açıktır ve ücretsizdir (GPL lisanslı).  Vpopmaile ek program yazmak isteyen yazılımcılar için oldukca kaliteli  bir api sunar .Sanal domain yönetimindeki başarısı birkaç domainle kısıtlı değildir üzerinde binlerce sanal domain koşan mta’lari oldukça rahat bir şekilde kaldırabilmektedir.

 

Vpopmailin önemli bileşenleri

Vchkpw qmail-pop3d için bir onaylama aracı

Vdelivermail sanal kullanıcılara gelen mailleri yerlerine dağıtan araç(Mail Delivery Agent)

Vadduser

Vadddomain

Vmoduser

….

Normal qmail kurulumunda eklemek istediğimiz her mail hesabı için  bir sistem hesabı lazimdir. Vpopmail kullandığımız zaman  ise tüm mail hesapları için ortak kullanılabilecek bir sistem hesabı oluşturularak  tüm hesaplar bu sistem  kullanici hesabına atama yapılır. Böylece tüm kullanıcıların  ana ev dizini aynı olur (/home/vpopmail gibi), alt ev dizinleri ise /home/vpopmail/domains/bizimev.net/huzeyfe şeklinde olur.

 

 

Yeni Sanal Domain eklemek

 

Bunun icin vpopmail in bize sundugu vadddomain programını kullanabiliriz. Normalde vadddomain programı /home/vpopmail/bin/ dizinindedir ve bunu konsoldan direkt çalıştırmaya kalkarsanız aşağıdaki hatayı alırsınız.

# vadddomain deneme.com

-bash: vadddomain: command not found

 

Her seferinde bu pathi uzun uzun yazmak yerine bu programların bulunduğu dizini PATH değişkenimize ekleyerek  konsoldan sadece isimleri ile çağırabiliriz, bunun için;

 /home/vpopmail/bin  dizinini $PATH degişkenine eklemeliyiz

 

Page 31: Telnet İle Çeşitli Protokollerin Kullanımı

Bu işlem  aşağıdaki gibidir;

#vi  .bash_profile     (komutu ile dosyayi acip) (root kullanıcısı olarak düşünülmüştür)

 

$PATH=$PATH:$HOME/bin:/home/vpopmail/bin

şeklinde getirin. Kaydedip çıkın sonra değişikliklerin aktif olmasını sağlamak için

 

#source /root/.bash_profile

komutunu kullanin.

 

vadddomain ile kullanabilecegimiz bazi secenekler ve kullanimi

 

vadddomain [secenekler]  domain_ismi [postmaster passwd]

 

-e :  secenegi ile eklediğimiz domaindeki bulunmayan hesaplara gelen mailleri bir hesaba gonderebiliriz.

 

-d : ile bu domainin hangi dizinde dosyalari barindiracaği belirtilir.

 (default degeri(/home/vpomail/domains/…) uygundur.)

 

vadddomain komutu ile eklediğimiz domain /var/qmail/control/rcpthost dosyasina otomatik eklenir. Bizim  elle eklememize gerek yoktur. Bu dosya haricinde birkaç dosyada daha değişiklik gerçekleşir bu dosyalar aşağıdaki gibidir.

 

/var/qmail/control/rcpthosts

/var/qmail/control/morercpthosts ( rcpthosts dosyası 50 satırdan fazla ise)

/var/qmail/control/virtualdomains

/var/qmail/users/assign

 

 

Page 32: Telnet İle Çeşitli Protokollerin Kullanımı

Örnek olması amacı ile bizimev.com domainini sisteme ekleyelim,

# vadddomain bizimev.com

Please enter password for postmaster:  bir parola belirletin

enter password again:        aynisini yazin

 

Domainimizi ekledik fakat bu domainin işlevsel hale gelebilmesi için yani  dış dünya ile mail iletişimimizi saglayabilmek icin yapmamız gereken bir şey daha var, burada konunun dışında kaldığımız için değinmeyeceğim sadece hatırlatma açısından bahsediyorum eklediğimiz domain in dns kayitlarinin duzgun olması gerekiyor.

 

DNS kayıdından kastım MX kaydıdır bu domaine ait MX kaydının  mail sunucu olarak kullandığımız makineyi göstermesi gerekmektedir.

 

Standart dns dokumanlarinda MX kayitlarinin ip adresi degil de fqdn olmasi gerektiği belirtilmektedir. Bazi mail sunucular ornegin (spymac.com) mx kaydi ip olan sunuculardan mail kabul etmemektedir. Veya cesitli sorunlar cikabilmektedir.

 

Dns teki mx kaydi

 

Bizimev.net.            IN                MX               0        mail.bizimev.net.

Seklinde olmalıdır.

 

Domainimizi ekledik simdi sira bu domainimize kullanıcı mail hesaplarını oluşturmak.

Yeni mail hesabı oluşturmak icin vadduser komutu kullanmalıyız. Bu komutu hem root hem de vpopmail kullanıcısı olarak kullanabiliriz. Tavsiyem vpopmail kullanıcısı olarak olarak kullanmanız yönündedir. Vpopmail kullanıcısı  olmak için  komut satırından

#su –vpopmail

Yazmalıyız.

 

Vadduser Kullanımı

 

Vadduser [secenekler]  email [parola]

Page 33: Telnet İle Çeşitli Protokollerin Kullanımı

en basit hali ile kullanımı bu şekildedir, bunlar haricinde

-q ile kullanıcıya kota belirleyebiliriz.

-n parolasız hesap oluşturabiliriz

-r otomatik değişken parola oluşturmasını sağlayabiliriz.( yahoo veya benzeri bazi sistemlerde sizin icin otomatik hazirlanan parolalari hatirladiniz degilmi?)

 

# vadduser [email protected]

Please enter password for [email protected]:

enter password again:

 

Vpasswd

 

Eklediğimiz bir kullanıcının parolasını değiştirmek istersek vpasswd programının kullanabiliriz, vpasswd’nin alacağı 2 parametre vardır bunlardan ilki parolası değiştirilecek kullanıcı adı diğeride o hesaba atamak istediğimiz parola vpasswd kullanıp bir mail hesabına parola atarken aşağıdaki 2 yöntemide kullanabilirsiniz. Birinci şeklin dezavantajı yazdığınız parola bir başkası tarafından history komutu aracılığı ile okunabilir.

 

# vpasswd mail_adresi parola 

yada

# vpasswd mail_adresi (den sonra enter a basarak)

bizden iki defa defa sifre sormasini saglayabiliriz.

Örnek;

#vpasswd [email protected]

Please enter password for [email protected]:

enter password again:

 

Vpoppbull

 

Page 34: Telnet İle Çeşitli Protokollerin Kullanımı

Bir domaine ait tüm kullanıcılara mail yollamak için kullanılır, vpopbull komutu ile mail sistemimizdeki tüm domainlere yada her bir domaine ayrı ayrı toplu mailler yollayabiliriz, mesela xyz.com kullanıcıları için özel bir uyarı maili atmak istersek bunu aşağıdaki biçimde yapabiliriz.

 

#vpopbull  –f /tmp/uyari – v  -e /tmp/xyz-haric xyz.com

 

Örnekte verdiğimiz parametreleri açıklayalım.

 

-f dosya_ismi : Toplu mail göndermek istediğimiz metni ibr dosyay yazarak bunu –f parametresi ile kullanmalıyız.

-e dosya_ismi, bazen bir domainteki tüm kullanıcılara değilde bazı özellikleri barındıran kullanıcılara mail atmak isteyebiliriz, mesela sirketinizdeki tüm kullancıılara uyarı maili atmak istiyorsunuz fakat bu mailin yöneticilere gitmesini istemiyorsunuz, işte maili almasını istemdiğiniz mail adreslerini bu dosyaya her biri bir satıra gelecek şekilde yazabilirsiniz.

-v    bu parametre ile yapılan işleri konsol ekranından izleyebilirsiniz.

 

xyz.com hangi sanal domaine toplu mail gönderimi yapılacağını belirler, burada herhangi bir domain ismi belirtmezseniz sistedem tanımlı tüm sanal domain kullanıcılarına göndermiş olursunuz.

 

 Bunların haricinde işinize yarayabilcek bir parametre(-n) daha  vardır ki o da genelde –v parametresi ile birlikte bir sanal domain yada tüm sanal domainlere ait kullanıcıları listelemeye yarar.

Bir domain ait tüm kullanıcıları listemele için

#vpopbull –v –n domain.ismi

 

Tüm tanımlı sanaldomain hesaplarını listelemek için

#vpopbull –v –n

 

Vaddaliasdomain

 

Page 35: Telnet İle Çeşitli Protokollerin Kullanımı

Abc.com diye bir domaininiz var ve bu domaine kayıtlı binlerce mail hesabını kullanan çalışanınız, gün geldi şirketiniz domain ismini değiştirmeye karar verdi yada şuanki halinden farklı bir domain kullanmak istedi(mail.abc.com gibi)bu durumda tüm kullanıcıları yeni domaine aynı hesap bilgileri ile eklemek zorundayız, işte vaddaliasdomain  burada yardımımıza koşarak bir domain adını başka bir domain adı olarak  tüm kullanıcı hesap bilgileri ile kullanabilmemize olanak sağlıyor.

 Yine verdiğimiz örnekten yola çıkarsak eskiden abc.com olan mail domainimiz mail.abc.com olarak değiştirildiyse tüm kullanıcıları herhangi bir değişiklik yapmaya zorlamadan

#vaddaliasdomain abc.com mail.abc.com

komutu ile yeni sisteme  aktarabiliriz.

 

Vdeluser

Basitce sistemde bulunan bir mail hesabını silmeye yarar.

#vdeluser [email protected]

 

Vdeldomain

sisteme eklediğimiz bir domain hesabını siler.

#vdeldomain bizimev.net

 

Vmoduser

Vmoduser ile kullanici yada domain uzerinde bircok degisiklik yapilabilir.

 

Vmoduser in genis  kullnimi icin komut satirina vmoduser yazmaniz yeterlidir. Vmoduser ile değişiklik yapabileceğiniz bazı özellikler

 

-q kota ile kota belirleyebiliriz

-u ile kullanıcının dial-up bağlantı ile maillerine erişememesini sağlayabiliriz

-p ile pop3 hizmeti kullanmasını engelleyebiliriz

-w ile webmail erisimini kısıtlayabiliriz

-i ile imap erisimi kısıtla

-a ile kullanıcıya qmailadmin arabirimini yönetici olarak kullanabilmesi hakkını atarız

Page 36: Telnet İle Çeşitli Protokollerin Kullanımı

 

Vuserinfo

Vuserinfo komutu ile kullanıcı hakkında geniş bilgi edinebilirsiniz. (sifreli parola ve acik parola dahil.)

Vuserinfo’nun en basit kullanımı

vuserinfo mail_adresi

şeklindedir, kullanabileceğiniz tüm seçenekleri görebilmek için

komut satırından

#vuserinfo yazmanız yeterlidir.

 

Örnek;

# vuserinfo [email protected]

name:   huzeyfe

passwd: $1$5A;mF$81hH5k56PFsDULWCJPWUG0

clear passwd: 098lkkjfguıyfgy878

uid:    0

gid:    0

        all services available

dir:       /home/vpopmail/domains/bizimev.net/huzeyfe

quota:     30000000S,50000C

usage:     0%

last auth: Sat Sep 25 23:52:11 2004

last auth ip: 192.168.0.3

 

Vdominfo

Bir domaine ait özellikleri öğrenmemize yarar

# vdominfo bizimev.net

domain: bizimev.net

Page 37: Telnet İle Çeşitli Protokollerin Kullanımı

uid:    520

gid:    522

dir:    /home/vpopmail/domains/bizimev.net

users:  60000

 

Kullanılabilecek parametreleri görmek için

#vdominfo -h komutunu kullanabilirisiniz.

 

Vpopmailin tanımında qmail’e bir eklenti olarak yazıldığıdan bahsetmiştik bu eklenti  qmail in çalışmasını az da olsa değiştirir. Yaptığı değişikliklerden en önemlisi Qmail’in standart onaylama mekanizmasini kendisininki ile değiştirmesidir.

 

Vpopmail de roaming user ozelligi ne işe yarar?

 

Eğer vpopmaili kurarken –roaming-user=y seçeneği ile derlediyseniz sisteminizde bu özelliği kullanabilirsiniz demektir, öntanımlı olarak vpopmail bu özellikten yoksun bir şekilde derlenmektedir. Roaming user ile mobile kullanıcılarımıza (farkli mekanlardan Outlook vb gibi mail istemcileri  ile baglanan )  kendilerini pop3 ile tanıttıktan(pop3 için istenen kullanıcı adı ve parolayı doğru girmek) sonra sonra belirledigimiz bir müddet  boyunca kullanıcının bağlandığı o IP adresine RELAY hakkı tanımaktan ibarettir

 

Böylece kullanıcı herhangi bir kısıtlama olmaksızın mail gönderebilir, böylece hem mail sunucumuzu SPAM aracı olmaktan çıkarmış oluruz hem de farklı yerlerden bağlanmak isteyen kullanıcılarımızı kendi üzerimizden mail haberleşmelerini sağlamış oluruz.

 

Bazı kaynaklarda bu özelliğe  pop-before-smtp denildiğini görebilirsiniz. Adından da anlaşılacağı üzere önce POP bağlantısı gerekir sonra smtp mekanizmasının kullanmasına izin verilir.

 

Pop-before-smtp(roaming-user ) olayı aşağıdaki gibi gerçekleşir

 

 

Page 38: Telnet İle Çeşitli Protokollerin Kullanımı

 

 

 

1- kullanici mail sunucuya pop3 erisimi icin girisimde bulunur. Username passwd onaylamasini gecer.

 

2 –vchkpw programi kullanicinin baglandigi ip adresini/home/vpopmail/etc/tcp.smtp dosyasina yazar. Burada tcp.smtp.cdb dosyasini bu adresini icerecek sekilde yeniden olusturun

 

3 boylece kullanici istedigi adrese rahatlikla mail gonderebilir duruma geliyor.

 

4 clearopensmtp  adindaki bir programi crontab a yazarak istedigimiz zaman aralıklarında çalıştırabiliriz. Bunun amacı belirlediğimiz süre  dolduğunda kullanıcının ip adresinin tcp.smtp dosyasından silinmesidir.

 

Crontab a asagidaki gibi girdi eklenebilir.

 

Page 39: Telnet İle Çeşitli Protokollerin Kullanımı

0  *  *   *  *   /home/vpopmail/bin/clearopensmtp

 

Bu girdi ile her saat başı clearopensmtp programının çalışmasını sağlıyoruz, yani mobile kullanıcılarımıza kendilerini pop3 ile onaylattıklarında bir saatlik bir relay izni vermiş oluyoruz.

 

Sistemimizi roaming-user   ozelliği ile derlediysek /home/vpopmail/etc/tcp.smtp adında bir dosya oluşmuş olmalıdır bu dosyanın içerisinde aşağıdaki gibi tanımlar yapabiliriz.

 

127.    :        allow   RELAYCLIENT =””

bu satir ile 127 ile baslayan tum ip adreslerine relay izni verdik.

10.1.0.17 ip adresine relay izni vermek icin yine bu dosyaya asagidaki satirlari eklememiz yeterlidir.

10.1.0.17     : allow , RELAYCLIENT =“”

 

NOT:vpopmail kullanici olarak [email protected]

yerine huzeyfe%mail.net veya huzeyfe-mail.net kullanabilir.

 

 

vpopmail’in sağladığı tüm programları görebilmek için /home/vpomail/bin dizinini inceleyebilirsiniz

 

# cd /home/vpopmail/bin/       

 

# ls

clearopensmtp    valias      vdelivermail  vipmap     vpasswd        vuserinfo

vaddaliasdomain  vchkpw      vdeloldusers  vkill      vpopbull

vadddomain       vconvert    vdeluser      vmkpasswd  vqmaillocal

vadduser         vdeldomain  vdominfo      vmoduser   vsetuserquota

Page 40: Telnet İle Çeşitli Protokollerin Kullanımı

Vpopmaili kurarken hangi özellikler ile kurabileceğinizi öğrenmek istiyosanız, vpopmailin kaynak dosyalarınmın bulunduğu dizinde ./configure --help komutunu vermeniz yeterlidir

 

Huzeyfe ÖNAL  huzeyfe[at]cc.kou.edu.tr   06/10/2004

Anahtar

: -

Yazara ileti gönder Yazara ait tüm makaleler Tüm LAN makaleleri

LAN

bölümün

de yer

alan son

5

makale

OpenBSD Pf ve Squid ile Transparent Proxy Kurulumu Switch Kullanılan Ağlarda Trafik dinleme(Sniffing) SMTP Sunucuların Çoklu Mail Dağıtım Yöntemleri Tcpdum