Postfix’te kuyruğa müdahale etmek Bilindiği gibi postfix mail kuyruğundan mesaj silmek için ilk önce mesajın id numarası bulunur (postqueue -p) ardından da postsuper -d id_number (postsuper -d 6889D8780FB) diyerekten kuyruktaki mesaj silinir. Zahmetli olduğu gibi uzun bir yoldur. Peki çok yoğun çalışan bir mail sunucunuz var ve devamlı kuyrukta inboxı olmayan epostalarda kuyruk lifetime süresince [...]
Postfix’te kuyruğa müdahale etmek
Bilindiği gibi postfix mail kuyruğundan mesaj silmek için ilk önce mesajın id numarası bulunur (postqueue -p) ardından da postsuper -d id_number (postsuper -d 6889D8780FB) diyerekten kuyruktaki mesaj silinir. Zahmetli olduğu gibi uzun bir yoldur.
Peki çok yoğun çalışan bir mail sunucunuz var ve devamlı kuyrukta inboxı olmayan epostalarda kuyruk lifetime süresince bekliyor veya yanlış yazılmış adresler.. Bu durumda tek tek id bulup silmek biraz zahmetli.
Şimdi aşağıdaki perl script ile bu işlemleri daha kolay bir hale getiriyoruz, mesela kuyrukta bekleyen “mailbox unavailable” mesajları dönmüş maillerin hepsini sileceksiniz işte bu script sayesinde kolay bir şekilde yapabiliyorsunuz.
#!/usr/bin/perl
$REGEXP = shift || die “no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!”;
@data = qx;
for (@data) {
if (/^(\w+)(\*|\!)?\s/) {
$queue_id = $1;
}
if($queue_id) {
if (/$REGEXP/i) {
$Q{$queue_id} = 1;
$queue_id = “”;
}
}
}
open(POSTSUPER,”|postsuper -d -”) || die “couldn’t open postsuper” ;
foreach (keys %Q) {
print POSTSUPER “$_\n”;
};
close(POSTSUPER);
Yukarıdaki kod parçacıklarını bir editör aracılığıyla kuyruk-sil adıyla kaydedelim ve chmox +x kuyruk-sil olarak çalıştırma hakkı verelim.
Kullanım şekli;
. herhangi bir alan adından gelen mesajları silmek
/home/murat/kuyrul-sil “murat.ws”
. herhangi bir eposta adresinden gelen mesajları silmek
/home/murat/kuyruk-sil “test@murat.ws”
. içeriğe göre kuyruktaki mesajları silmek (örneğin içinde no mailbox,said: 550,This account has been disabled or discontinued kelimeleri geçen kuyruk mesajları )
kendi kullandığım kelimeler
/home/murat/kuyruksil “mailbox unavailable”
/home/murat/kuyruksil ” said: 550″
/home/murat/kuyruksil “This account has been disabled or discontinued”
/home/murat/kuyruksil “exceeded”
/home/murat/kuyruksil “no mailbox”
/home/murat/kuyruksil “501 Invalid Address”
Murat Uğur Eminoğlu
apt-get install wajig wajig hold paket_ismi apt-get update apt-get upgrade #hold etmis oldugunuz paket upgrade islemi icinde yer almayacaktir. http://www.togaware.com/linux/survivor/Wajig_Overview.html Murat Uğur Eminoğlu
apt-get install wajig
wajig hold paket_ismi
apt-get update
apt-get upgrade #hold etmis oldugunuz paket upgrade islemi icinde yer almayacaktir.
http://www.togaware.com/linux/survivor/Wajig_Overview.html
Murat Uğur Eminoğlu
:%s./.murat. yukaridaki ornektek / karakterini murat ile degistiriyoruz.
:%s./.murat.
yukaridaki ornektek / karakterini murat ile degistiriyoruz.
1. escape moddayken 100dd yapin bulunmus oldugunuz satirdan itibaren 100 satir silecektir. 2. : moda gecip 5,10d yaparsaniz 5. ile 10. satirlari arasini silersiniz. Murat Uğur Eminoğlu
1. escape moddayken 100dd yapin bulunmus oldugunuz satirdan itibaren 100 satir silecektir.
2. : moda gecip 5,10d yaparsaniz 5. ile 10. satirlari arasini silersiniz.
Murat Uğur Eminoğlu
Merhaba, Bu yazıda google talk (GTALK) Juniper SSG-140 firewall ve iptables üstünde nasıl engellenir ve belirli kullanıcılara nasıl açarız onu anlatacağım. Umarım yararlı bir kaynak olur. İlk olarak google talk 5222. port üstünden çalışır eğer bu porttan çıkış sağlayamazsa 443. üstünden gider. Yani port kapatmayla tam olarak engelleme sağlanmıyor. Onun için 5222. portu kapatmış varsayıp [...]
Merhaba,
Bu yazıda google talk (GTALK) Juniper SSG-140 firewall ve iptables üstünde nasıl engellenir ve belirli kullanıcılara nasıl açarız onu anlatacağım. Umarım yararlı bir kaynak olur.
İlk olarak google talk 5222. port üstünden çalışır eğer bu porttan çıkış sağlayamazsa 443. üstünden gider. Yani port kapatmayla tam olarak engelleme sağlanmıyor. Onun için 5222. portu kapatmış varsayıp 443. port üstünden işlem yapacağımızı unutmayınız.
Nasıl bir yol izledim?
Bir linux gateway kurup test makinamı bu gw üstünden çıkardım ve tcpdump ile trafiği sniff ettim. Asağıda bulunan adreslerden ilkinin trafiğini drop ettim, bu ilk denemeydi uzun süre auth olamadı fakat daha sonra ikinci adres üstünden auth oldu. (sadece biraz geç auth oldu) Aynı işlemi 3. adres için yaptım fakat yine aynısı oldu.
mg-in-f125.google.com
yo-in-f125.google.com
tx-in-f125.google.com
Bu işlemi belki 10′larca kez tekrarlayacaktım, onun için tekrardan trafigi sniff ettim ve talk.google.com ve talkx.l.google.com adreslerini yakaladım. Bu iki adresi engellediğim zaman gtalk’in auth olmadığını gördüm. (Yapilan işlemleri ve surecleri anlattim ki bu tip durumlarda nasıl süreç izleyeceğinizi bilin.
)
İlk olarak Juniper SSG-140 üstünde bu engelleyi nasıl yapabiliriz?
telnet juniper_ip dedikten sonra kullanıcı adımızla ve şifremizle login olalım.
1. İlk olarak Untrust adres olarak talk.google.com ve talkx.l.google.com adreslerini GTALK-DENY-1 ve GTALK-DENY-2 olarak ekleyelim.
set address “Untrust” “GTALK-DENY-1″ talk.google.com “GTALK ENGELLEME”
set address “Untrust” “GTALK-DENY-2″ talkx.l.google.com “GTALK ENGELLEME”
2. GTALK-DENY-GROUPS grubunu ekleyip GTALK-DENY-1 ve GTALK-DENY-2 adreslerini uye yapalim. (kolaylık sağlaması açısından her zaman grub kullanmak tercihimdir)
set group address “Untrust” “GTALK-DENY-GROUPS” comment “GTALK ENGELLEME”
set group address “Untrust” “GTALK-DENY-GROUPS” add “GTALK-DENY-1″
set group address “Untrust” “GTALK-DENY-GROUPS” add “GTALK-DENY-2″
2. İzinli listesinin kullanım kolaylığı için bir adet grup ekleyip bu gruba kullanıcıları dahil edeceğiz.
set group address “Trust” “GTALK_USERS”
Şimdi kullanıcıları ekleyelim
set address “Trust” “MURAT” 172.16.254.2 255.255.255.255
set address “Trust” “UGUR” 172.16.254.3 255.255.255.255
3. Kullanıcıları GTALK_USERS grubuna dahil edelim
set group address “Trust” “GTALK_USERS” add “MURAT”
set group address “Trust” “GTALK_USERS” add “UGUR”
NOT : 5222 portunu kapattığımızı varsayıp 443. port üstünden işlem yaptığımızı unutmayın.
4. Şimdi işin karışık kısmı olan policy ekleme sürecine geldik,
Mantık, GTALK ‘a girecekleri policy sırasının en üstüne gir, yasaklı olanları bir alt satırına gir ve yasaklılarin 443. port üstünden SSL ‘li siteleri bağlanması için 443. port izni ver.
GTALK_ALLOW isminde Trust bölgeden Untrust bölgeye GTALK_USERS ‘larinin 443. Port (HTTPS) isteklerine nereye giderse gitsin loglayıp izin ver. Bu sayede herhangi bir engellemeye takılmayacaktır.
set policy id 1 name “GTALK_ALLOW” from “Trust” to “Untrust” “GTALK_USERS” “Any” “HTTPS” permit log
5. 172.16.254.0/24 networku için GTALK-DENY-GROUPS grubu içinde bulunan adresleri engelle denmistir. (talk.google.com ve talk.l.google.com adreslerine erişim kapatılmıştır.)
set policy id 2 from “Trust” to “Untrust” “172.16.254.0/24″ “GTALK-DENY-GROUPS” “ANY” deny log
6. Son olarak 443. portun (HTTPS) diğer sitelere açılması için aşağıdaki policy’i yazdık.
set policy id 63 from “Trust” to “Untrust” “MMO_LOCAL” “Any” “HTTPS” permit log count
Juniper üstündeki yapılandırma burada sona erdi. Şimdi linux üstünde nasıl yapılıyormuş ona bakalım.
Linux Gateway üstünde nasıl engelleriz ?
1. iptables ile 172.16.254.0 networkunun talk.google.com ‘a giden tcp 443 portunu engelle
iptables -A FORWARD -s 172.16.254.0/24 -d talk.google.com -p tcp –dport 443 -j DROP
2. iptables ile 172.16.254.0 networkunun talkx.l.google.com ‘a giden tcp 443 portunu engelle
iptables -A FORWARD -s 172.16.254.0/24 -d talkx.l.google.com -p tcp –dport 443 -j DROP
Bu iki kuraldan sonra google talk ile giriş yapılamıyacaktır.
NOT : Birçok kişinin arkanızdan söveceğini unutmayınız
Murat Uğur Eminoğlu



