Apache SSL açıklarını kapatın

Son dönemde ortaya çıkan openssl ve zayıf şifreleme methodlarını kapatın.Özellikle bankalardan sanal pos talep etmeden önce sunucunuzda uygulamanızı tavsiye ederim.

Centos sunucular için

/etc/httpd/conf.d/ssl.conf dosyasının en altına aşağıdaki satırları yerleştirin.Httpd servisini yeniden başlatın.Nispeten güncellenmemiş sunucular için yum update yapmanızı öneriririm.

<IfModule mod_ssl.c>
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3
</IfModule>
<IfModule mod_ssl.c>
#SSLCipherSuite HIGH:!aNULL:!MD5:!RC4-SHA:!RC4
#SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RS
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5::!RC4
</IfModule>

Spam antispam hotmail reputation junk vs..

Ömür törpüsüdür bu mevzular.Sistem yöneticisinin ömrünü kısaltır.Günlerini heba eder.Kahve sigara apranax hiçbişey kalmaz emin olun.

Eskiden şöyle düşünürdük.Eposta sunucumuz var.Hayatta spama geçit vermeyiz.Herşeyimiz tam.Ip adresimiz temiz.Çok güzel,temiz iş yapıyoruzi.Sunucumuz tıkır tıkır mail alıyor veriyor.

Bir gün de bakmışsınız bir müşteriniz hotmaile mail gönderememekten şikayet ediyor size.Hemen bakıyoruz,kontrol ediyoruz.dnsbl,mxtoolbox,senderbase…cık.Yokuz.Temiziz.E neden peki?

O andan itibaren itibar (reputation) sıfıra gider.Müşteri konuşur.Siz de merdiven altı firma muamelesi görürsünüz.Tıpkı bir müşterinin dediği gibi “müşterime mail attım.adam yanımda bilgisayarından baktı.gereksiz posta kutusuna düşmüş,yerin dibine girdim.”

Neyse biz problemimizi çözdük bir şekilde ancak günlerce debelendikten sonra bilmediğim birşeyi öğrenmiş oldum.Onu da cebime koydum ama para eder mi bilmem.

Bu microfostcu arkadaşların  X-MS-Exchange-Organization-SCL,X-MS-Exchange-Organization-PCL diye bir ölçüsü varmış.Benim gibi bilmeyenler için yazıyorum.

Uzun uzun yazarlar zaten hep.İşleri güçleri budur.Aşağıdaki sayfada anlatılmış;

https://technet.microsoft.com/en-us/library/aa996878(v=exchg.160).aspx

Bizim sunuculardan çıkan hotmaile giden e-postaların header kısmından gördüğümüz kadarıyla X-MS-Exchange-Organization-SCL değerimiz 5 idi.5 tam orta bir değer.Öneri şu;Alıcı “bu gereksiz değildir” diye işaretlediğinde sorun çözülür.Kullanıcı kontrolune bırakılmış.Peki bunun tersiniz düşünürsek;

Peki kaç kullanıcı “bu gereksizdir” diye işaretlemiştir de iş bu hale gelmiştir..

Orası bilinmez.Bilinmez çünkü snds postmaster size neden ip adreslerinizin bloklandığını söylemiyor veya söyleyemiyor.

Sonuç olaralk Hotmail damgalıyor geçiyor.Gereksiz yere uğraştıyor.Artık başa çıkamadığı gerçek spamlarla bu şekilde baş ediyor.Büyüklüğünü kullarak bundan büyük miktarlarda gelir elde etmeyi de başarmış zaten.

 

Plesk 12.x Linux sunucularda unable connect sieve server hatası

Sieve filtreleme desteği Plesk 11.5 ve eski versiyonlarda bulunmuyor.Daha yeni plesk versiyonlarında ise bu özellik sadece Dovecot imap sunucuda var.

Bu yüzden eğer Roundcube gibi webmaillerde filtreleme yapmak istiyorsanız Pleskin “Updates & Upgrades” kısmından veya sunucu e-posta ayarlarından imap sunucunuzu değiştirmelisiniz.

Postfix master_wakeup_time_event hatası

Plesk 12.x kurulu Linux sunucularda postfix loglarında karşılaşılan bu hatayı çözmek için master.cf dosyasında şu düzenlemeyi yapıyoruz.

pickup unix n – – 60 1 pickup satırını

pickup fifo n – – 60 1 pickup olarak değiştirin.

Daha sonra;

qmgr unix n – n 300 1 qmgr satırını,

qmgr fifo n – n 1 1 qmgr olarak değiştirin.

Eğer loglarda “not set-gid or not owner+group+world executable: /usr/sbin/postdrop” hata kaydı ile karşılaşırsanız

postfix set-permissions komutu ile dosya izinlerini olması gerektiği hale getirebilirsiniz.

horde sevmeyenlere linux plesk 9.5 afterlogic webmail lite kurulumu

sunucunuza ssh üzerinden login olun.psa-horde paketinin kurulu olduğu dizine geçin;

cd /usr/share/psa-horde/

Bu dizine afterlogic webmail lite uygulamasını indirin;

wget http://www.afterlogic.com/download/webmail_php.zip

Sıkıştırılmış dosyayı açın;

unzip webmail_php.zip

dizinin içine girin;

cd webmail

bu aşamada webmail için gerekli mysql veritabanını oluşturuyoruz;

mysqladmin -uadmin create alwebmaildb -p$(cat /etc/psa/.psa.shadow)

mysql -uadmin -p$(cat /etc/psa/.psa.shadow)

bu komutla mysql konsola girdikten sonra aşağıdaki cümleleri sırasıyla yazın.

CREATE USER ‘afterlogic’@’localhost’ IDENTIFIED BY ‘sizinşifreniz’;

GRANT USAGE ON * . * TO ‘afterlogic’@’localhost’ IDENTIFIED BY ‘sizinşifreniz’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

GRANT ALL PRIVILEGES ON `afterlogic` . * TO ‘afterlogic’@’localhost’;

FLUSH PRIVILEGES;

mysqlden çıktıktan sonra (quit yazarak veya ctrl+c),kurulumda sorun çıkmaması için ufak bir dosya hatasını gideriyoruz;

cd /usr/share/psa-horde/webmail/install/steps/
chmod 644 root compatibility.php

diğer gerekli yazma izinleri (webmailin bulunduğu alanda php scriptlerini Apache çalıştırıyorsa;

cd /usr/share/psa-horde/webmail/
chown apache.apache data/ -R

Browserınızın adres satırına kurulum url adresi olarak aşağıdaki satıra kendi alanadınızın adını yazın.

http://webmail.sizinalanadiniz.com/webmail/install/

web tabanlı kurulum.sırasıyla aşağıdaki aşamaları geçin;

  • klasörlere yazma izinleri,çeşitli php modul kontrolü vs vs
  • webmail veritabanı oluşturulması için sql bilgileri girişi (yukarıda oluşturmuştuk..
  • smtp /pop / imap test
  • mailadm yönetici şifre oluşturma

aşamaları tamamladıktan sonra kurulum sizden install dizinini silmenizi isteyecektir;

 

cd /usr/share/psa-horde/webmail/

rm -rf install/

artık horde webmaili kullanmayacaksanız index.php nin adını değiştirip,yeni index.php nizi oluşturun.

cd /usr/share/psa-horde/

mv index.php index.old.horde

içine şunları yazın.

nano index.php

<?php
header(‘Location: ./webmail/index.php’);
?>

Postfix mail sunucusunda günlük gönderim limiti uygulaması

Cluebringer v2.1

Quata modülü sayesinde ,postfix mail sunucusunda e-mail kullanıcılarının günlük gönderim limitlerini kontrol edebileceğiniz,web arayüzünden ayarları yapabildiğiniz açık kaynak kodlu yazılım.

Detaylı bilgi ve kurulum dökümanı için http://www.policyd.org/

Mail formlardan gönderilen e-maillerin izlenmesi ve kontrolü

Web sayfalarının bir çoğunda mail form kullanılıyor.Bu scriptlerde bulunabilecek bir açık sunucunuz üzerinden onbinlerce spam gönderimine sebep ve sizin karalistelere girmenize sebep olabilir.Aşağıda kurulumu anlatılan script form maillerden gönderilen her mailin logunu yazmakta ve sizin belirteceğiniz alıcı sayısına göre maili engellemektedir.Scriptin bir kısmı anonim alıntıdır,ilaveler bulunmaktadır.

Öncelikle php betiğinin çalışması için gerekli paketleri sistemimize kuruyoruz.Redhat,Centos kullanıyorsanız şu komutla ilgili paketleri kurabilirsiniz;

yum install php-pear-Auth-SASL.noarch php-pear-Mail.noarch php-pear-Mail-Mime.noarch php-pear-Net-SMTP.noarch php-pear-Net-Socket.noarch

Kurulum bittikten sonra aşağıdaki scripti fmmgw.php adıyla sisteminizde uygun bir yere veya /usr/local/bin altına kopyalayın.

#!/usr/bin/php
<?php
ini_set(‘include_path’, ‘/usr/share/pear’);
//—CONFIG
$config = array(
‘host’ => ‘localhost’,
‘port’ => 25,
‘auth’ => FALSE,
);
$logDir      = ‘/var/log’;
$logFile     = ‘mail_proxy.log’;
$failPrefix  = ‘fail_’;
$EOL         = “\n”; // change to \r\n if you send broken mail
$defaultFrom = ‘”hostadresiniz.alanadiniz.com Webserver” <fmmgw@alanadiniz.com>’;
//—END CONFIG

if (!$log = fopen(“{$logDir}/{$logFile}”, ‘a’)) {
die(“ERROR: cannot open log file!\n”);
}

require(‘Mail.php’); // PEAR::Mail
if (PEAR::isError($Mailer = Mail::factory(‘SMTP’, $config))) {
fwrite($log, ts() . “Failed to create PEAR::Mail object\n”);
fclose($log);
die();
}

// get headers/body
$stdin = fopen(‘php://stdin’, ‘r’);
$in = ”;
while (!feof($stdin)) {
$in .= fread($stdin, 1024); // read 1kB at a time
}

list ($headers, $body) = explode(“$EOL$EOL”, $in, 2);

$recipients = array();
$headers = explode($EOL, $headers);
$mailHdrs = array();
$lastHdr = false;
$recipFields = array(‘to’,’cc’,’bcc’);
foreach ($headers AS $h) {
if (!preg_match(‘/^[a-z]/i’, $h)) {
if ($lastHdr) {
$lastHdr .= “\n$h”;
}
// skip this line, doesn’t start with a letter
continue;
}
list($field, $val) = explode(‘: ‘, $h, 2);
if (isset($mailHdrs[$field])) {
$mailHdrs[$field] = (array) $mailHdrs[$field];
$mailHdrs[$field][] = $val;
} else {
$mailHdrs[$field] = $val;
}
if (in_array(strtolower($field), $recipFields)) {
if (preg_match_all(‘/[^ ;,]+@[^ ;,]+/’, $val, $m)) {
$recipients = array_merge($recipients, $m[0]);;
}
}
}
if (!isset($mailHdrs[‘From’])) {
$mailHdrs[‘From’] = $defaultFrom;
}

$recipients = array_unique($recipients); // remove dupes

if(count($recipients)>2) die(“HATA”);

// send
if (PEAR::isError($send = $Mailer->send($recipients, $mailHdrs, $body))) {
$fn = uniqid($failPrefix);
file_put_contents(“{$logDir}/{$fn}”, $in);
fwrite($log, ts() .”Error sending mail: $fn (“. $send->getMessage() .”)\n”);
$ret = 1; // fail
} else {
fwrite($log, ts() .”Mail sent “. count($recipients) .” recipients.\n”);
$ret = 0; // success
}
fclose($log);
return $ret;

//////////////////////////////

function ts()
{
return ‘[‘. date(‘y.m.d H:i:s’) .’] ‘;
}

?>

Log dosyanızı elle oluşturun

touch /var/log/mail_proxy.log

Son olarak php.ini dosyanızda ilgili alanı şu şekilde değiştirin.

sed -i -e ‘s:;sendmail_path = /usr/sbin/sendmail -t -i:sendmail_path = /usr/local/bin/fmmgw.php:g’ php.ini

veya nano,vi gibi bir editor ile php.ini dosyanızda

sendmail_path

satırını bulup karşısına

/usr/local/bin/fmmgw.php

yazarak dosyanızı kaydedin.

Apache web servisini resetleyin.

Gönderilen mailleri anlık izlemek için

tail -f /var/log/mail_proxy.log

yazıp inceleyebilirsiniz.

GFI MailEssentials ile antispam filtreleme

GFI MailEssentials

GFI MailEssentials,günümüzde spam kontrolü için en güçlü yazılımlardan biri.Desteklediği e-posta sunucularının yanısıra özellikleri ve güçlü Bayesian tekniği ile dikkat çekiyor.Ancak bu yazıdaki screencastlerde sadece  kurulum sonrasında alanadınızın mx kayıtlarında yapılacak değişiklik ve gfi dan gerçek e-posta sunucusuna transfer edilmesi için gerekli ayarları izleyebilirsiniz.

İlk olarak yapmanız gereken alanadı/hostinginiz için antispam sunucunuzu anti-spam filtreleme yapabilmesini sağlamak..

İkinci videodaki aşama dns ayarlarınızı size gönderilen e-postaların ,sunucunuza ulaşmadan önce anti-spam sunucunuzda filtrelenmesi için gereken dns/mx ayarları..