Sunucunuz veya almış olduğunuz Hosting hizmeti basarılı bir sekilde kuruldu / oluşturuldu, ancak bazı adreslere mail atamıyorsanız ya da attığınız mail spam kutusuna düşüyor ise (örn: Hotmail, Gmail, Yahoo vb.) bunun sebebi SPF kaydı olabilir.
SPF kaydı Microsoft’un spamları engellemek için baslatmıs oldugu bir hizmettir. Hesabınızın gerçek bir hesap olduğunu kontrol etmektir.
Önemli Not: SPF kaydı yaptığınız da Hotmail, Gmail veya Yahoo gibi mail trafiği büyük olan firmalara mail göndermekte sıkıntı yaşamaya devam ediyorsanız bunun sebebi bu tarz firmaların kendi iç prosedürleri gereği ip adreslerini bloke etmeleridir. Böyle bir durumda firmamız ile destek bildirimi üzerinden iletişime geçmeniz gerekmektedir.
SPF KAYDI OLUŞTURMA,
Bireysel veya Reseller hesaplarınız da bir değişiklik yapılmadı ise, (yedek veya dns işlemleri) zaten Spf kaydınız otomatik olarak oluşmaktadır,
SPF kaydı sorgulamayı aşağıdaki link’ten yapabilirsiniz;
https://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx
SPF kaydı oluşturma;
Oluşturmak istediğimiz domain’in cPanel’e giriş yapıyoruz,
Domains kısmından Advanced DNS Zone Editor tıklıyoruz,

Name: domain.com. (domain yazıldıktan sonra mutlaka sonuna “.” konulmalıdır)
TTL: 14400
Type: TXT
TXT Data: “v=spf1 ip4:192.168.2.1 a mx ptr include:domain.com ~all”
Kırmızı olan kısımlara ip adresi ve domain adı yazılır.
Add record diyerek kayıt tamamlanır,

Diğer bir yöntem ise WHM panel’den Edit Dns Zone Editöründen yapılmaktadır,
Spk kaydı yapacağımız ilgili hesaba edit dns zone editöründen giriş yapıyoruz, açılan sayfada en alt kısımda yeni kayıt ekleme yeri mevcuttur,

Resimdeki şekilde yapılandırıp save diyoruz,
Bu kısımda spam Outbound maillerimizin dışarı gitmemesi için Postfix ve Spamassasin ayarları ile özelleştirmeler ve Policyd Şifre koyma işlemi yapılacaktır.
Bunun için apache sunucusunun ayarlarını değiştirelim
Burada dosya içindeki herşeyi silip aşağıdaki satırları ekleyelim,
http://www.htaccesstools.com/htpasswd-generator/ sayfasından parola ve şifre oluşturup çıkan md5 hash kodunu koplayalıp
sitedeki içeriği buraya yapıştırınız dosyasına yapıştırınız
Apache sunucusunu restartlayalım
Spamassasin spam mailleri keşfedip işaretlemesine karşın silme işlemini son kullanıcıya bırakıyor ve bizde bu maillere discard uygulayıp sileceğiz
Aşağıdaki satırı yok ise herhangi bir yere yapıştırınız
header_checks adında dosya oluşturup editleyelim
Aşağıdaki satırları yapıştırınız
Bu aşamada aktarmayı yapan C panel sunucusunun gönderdiği makinenin adı kullandığı MTA ve özel bilgilerin olduğu yapıları headerden sileceğiz
Aşağıdaki satırı yok ise herhangi bir yere yapıştırınız
header_checks adında dosya oluşturup editleyelim
Aşağıdaki satırları yapıştırınız
Ayarladığımız ayarlara göre Spamassasin headerde yazı bırakmayı söylemiştik şimdi o ayarları sileceğiz
Aşağıdaki yok ise satırı herhangi bir yere yapıştırınız
header_checks adında dosya oluşturup editleyelim
Aşağıdaki satırları yapıştırınız
Policyd kurallarını arka planda mysql(vb) gibi programlarda tutan bir programdır ve buralardan istediğiniz kuralları yazıp işlem yapabilirsiniz
SCP (Secure Copy); internete çıkan iki sunucu arasında dosya transferi yapmak için kullanılan bir komuttur.Komutun genel kullanımı şu şekildedir:
scp GidecekDosyanınDizini GideceğiBilgisayarBilgileri
Örneğin sunucunuz üzerinde home/paylasim/deneme.tar.gz olarak var olan bir dosyayı başka bir sunucu üzerine transfer etmek istiyorsunuz.Transfer edilecek sunucu ip adresi 192.168.1.1 olsun ve dosya transferinin yapılacağı dizin de /home/linux/deneme olsun.Burada dikkat edilmesi gereken nokta karşı sunucunun port bilgisidir.Eğer karşı sunucu port’u farklı ise scp komutundan sonra -P yazarak karşı sunucu portu belirtilmelidir.Yapacağımız dosya transferi için karşı sunucu portu 1064 olsun.Yazmamız gereken komut şu şekildedir:
scp -P1064 home/netinternet/deneme.tar.gz root@192.168.1.1:/home/linux/deneme
Komutu bu şekilde yazıp çalıştırdığımızda sunucu karşı sunucunun 1064 portuna giderek bağlantı yapacaktır ve size karşı sunucu mac adresini ekrana yazarak bağlantı yapıp yapmayacağınızı soracaktır.Karşınıza gelecek olan yes/no şeklindeki soruya yes dedikten sonra sizden karşı sunucununroot şifresini isteyecektir. Root şifresini girdikten sonra Enter dediğinizde dosya transfer işlemini başlatmış olacaksınız.Transfer işlemi tamamlandıktan sonra karşı sunucuda komutta belirtmiş olduğunuz dizinine giriş yaparak, transfer işlemi yaptığınız dosyasının burada olup olmadığını kontrol edebilirsiniz.
İki sayfa olarak yazılmış bu yazılarımızın esas amacı Php socket açma yöntemi ile ele geçirilmiş makinelerden yapılan mail-spam saldırılarını durdurmak ve mail serverlerimizin black liste gitmesine engel olmaktır. Bu yapıyı gerçekleştirir kullandığımız araçlar tamamı ile Open Source ve hala geliştirilmeye devam edilen projelerdir.
Kullandığımız yapılardan ve işlevlerinden biraz bahsetmek gerekirse farklı makinelerimizin tek bir yapı altında kontrol edilmesi ve loglanması için relay server mantığını kullandık. Bu yapıda kullandığmız esas programlar MTA olarak kullanılan Postfix, maillerin içeriğini otomatik olarak kontrol eden Spamassasin ve işin büyük kısmını yapan Policyd Cluebringer.
Bir Postfix eklentisi olan Policyd lightweight yapısı ile mail geldiğinde mailin içeriğine bakmadan sadece headerlerini kontrol edip mail atan kişinin bizim müşterimiz olup olmadığını kontrol edip eğer sistemde izinli ise mail atmasına izin vermesidir. Tahmin edebilirsiniz ki bu yapı ile sistemde tanımlı olmayan maillerin engellenmesi ile %60 daha fazla bir oranla outbound maillerde engelleme uygulayabiliyoruz ve kayıtlı kullanıcıların maillerinin sıkıntısız bir şekilde iletiyoruz.
!! Not kurulumda Ubuntu 15.04 versiyonu kullanılmıştır.
nano /etc/exim.conf
Komutu ile var ise smart route satırını editliyoruz yoksa kendimiz ekliyoruz
smart_route:
driver = manualroute
domains = !+local_domains
transport = remote_smtp
route_data = <RELAY SERVER IP>
echo “This is the body of the email” | mail -s “This is the subject line” user@example.com
tcpdump host <CPanel IP>
Postfixi test etmek için Postfix üzerinden çalışan mail mailx gibi komutları içeren mailutils paketi
Postfix ekipmanlarının indirilmesi
Postfix elemanlarının yapılandırılması
Sistemin çalışırlığının test edilmesi
Bu kısımda Postfixte bir eklenti olarak çalışan Spam assaasian yazılımını yükleyeceğiz
Spamassassinin çalışmasının daha düzenli olması için kullanıcı grubu ve kullanıcı ekleyeceğiz
useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
Logların tutulacağı yer ve yetkilendirmenin yapılması
Burada Spamassassinin gerekli ayarlarını yapacağız
Spamassasinnin aktif edilmesi
satırının bulunup aşağıdaki satır ile değiştiriniz
Güncellenme ve yeni spam listelerini getirmesi için
satırını bulup aşağıdaki satır ile değiştiriniz
SAHOME adında bir değişken oluşturup aşağıdaki gibi set ediniz
OPTIONS değişkenini bulup aşağıdaki değeri atayınız
Herşeyin aktifleşmesi için spamassassini yeniden başlatın
Bu sebeple Postfixin ana konfigürasyon dosyasını editlememiz gerekiyor
Aşağıdaki satırı bulup bir altındaki ile değiştiriniz
Sütunlar bittikten sonraki ilk boşluğa bu satırları ekleyiniz
Değişiklikleri uygulamak için Postfix’i restart ediniz
Öncelikle bu özelleştirmelerin yapılacağı konfigürasyon dosyasını açıyoruz
Aşağıdaki satırları kontrol ederek ekli ise düzenliyoruz ekli değil ise biz kendimiz ekliyoruz
Servisi yeniden başlatıyoruz
Kurulumu apt-get reposu ile yapacağız bu aşağıdaki komut bize web arayüzü ile birlikte gerekli çoğu programıda beraberinde yükleyecektir.
http://wiki.policyd.org/requirements
MySQL, PostgreSQL or SQLite
Net::Server >= 0.96
Net::CIDR
Config::IniFiles (debian: libconfig-inifiles-perl, rpm: perl-Config-IniFiles)
Cache::FastmMap (debian: libcache-fastmmap-perl, rpm: perl-Cache-FastMmap)
Mail::SPF (required for CheckSPF module)
Hangi veritabanını kullanacağımıza karar verdikten sonra bir de bu veritabanımızın versiyonunu öğrenmemiz gerekiyor
mysql Ver 14.14 Distrib 5.5.44, for debian-linux-gnu (x86_64) using readline 6.3
Policyd ekipmanlarının indirilmesi
Şimdiye kadar kendimizin kullanacağı veri tabanımızı hazırladık fakat henüz kullanılabilir şekilde değil bu veri tabanının bağlantısını mysql ile ilişkilendireceğiz.
Bu query dosyasını mysqlde çalıştıracağız
cluebringer dosyasını editleyin
Aşağıdaki değişkenleri bulup değerlerini değiştiriniz
Servisi başlatınız ve kontrol ediniz
Postfixin Policyd izinleri
Bu kısımda policyd nin web arayüzü olan kısmının ayarlarını yapacağız
Aşağıdaki satırları dosyaya ekleyin veya editleyin
Şimdi usr/share altında olan web sayfalarınını link olarak apache2 programına tanıtalım
Php5 mysql driverinin yüklenmesi</p>
Bunların ayarları için diğer yazımızı inceleyebilirsiniz.
Footnotes
Plesk Panel üzerinde Web Statistics verilerinizi görüntelemek istediğiniz de karşınıza kullanıcı adı ve şifre soran bir ekran gelebilir, Sürekli olarak bu istatistikleri takip ediyorsanız, bilgileri her defasında girmek can sıkabilir,Aşağıdaki yapacağımız işlemlerde otomatik olarak giriş yapmasını sağlayacağız,
Panelimize giriş yapıp istatistiklerini görüntüleyeceğimiz hesabın hosting ayarlarına giriyoruz,

Web statistics (accessible via password-protected directory ‘/plesk-stat/webstat/’ )
Bu kutucuktaki Tik işaretini kaldırırak kaydet diyoruz,

Kayıt işlemi tamamlandıktan sonra Web Statistics bölümüne artık kullanıcı adı şifre girmek zorunda kalmadan giriş yapabilirsiniz.

Asp tabanlı sitenizi kurduktan sonraaşağıdaki hatayı alırsanız, Kodlarınız arasında Palesk panelin tanımadı bir karakter olduğundan bu hatayı alırsınız,
Disallowed Path Characters
Server.MapPath() error ‘ASP 0175 : 80004005’
Çözüm için aşağıdaki adımları takip edebilirsiniz,
Plesk Panelimize giriş yapıp sorun yaşadığımız hesabı buluyoruz,
Websites&Domain altında bulunan Virtual Directories dinine giriş yapıyoruz,

Directory Properties,


Allow to use parent paths kutucuğunu işaretleyip Kaydet diyoruz,
Panel anasayfadan Database sekmesine tıklıyoruz,

Database adı ve şifremizi oluşturacağımız sayfa açılacaktır, Burada dikkat etmemiz gereken en önemli nokta kullanacağımız Sql mysql’mi yoksa Mssql’mi olacağıdır, Eğer sql yüklemi işlemi yapılacak ise sql türünü buna göre seçmemiz gerekir, örnek olarak Elimizde bir Mysql yedeği var ise Mssql database oluşturup içerisine otomatik olarak yükleme işlemi yapamayız, Sql studio manager’den manuel işlemler yapmak gerekir ve sql dosyanızda sorunlar yaşarsınız, Genel anlamda yeni bir site oluşturuyor isek asp tabanlı sistemiz var ise Mssql, php-html sitemiz var ise Mysql database seçmemiz mantıklı olacaktır,

Bilgileri doldurup tama diyoruz ve database oluşturma işlemini tamamlanmış oluyoruz,

Sunucuda her bir kullanıcının tmp dizini vardır. Bu dizinin yazma izinlerindeki ya da farklı hatalardan dolayı phpmyadmin’e giriş yapmak istediğinizde aşağıdaki gibi bir hata ile karşılaşabilirsiniz.
>Access Denied
Unable to establish a PHP session.
If you believe that this is in error or inadvertent, contact your system administrator and ask them to review your server settings.
cpaneld/11.46.0.19 Server at
Bu hatanın çözümü için kullanıcının tmp dizini ile ilgili aşağıdaki işlemleri yapmanız yeterli olacaktır.
1- SSH ile sunucuya login olun.
2- /home/$user/tmp dizinin sahipliğini kontrol edin. Bu şekilde bir dizin yoksa eğer
mkdir tmp
chown kullaniciadi:kullaniciadi /home/$user/tmp
komutları ile dizini oluşturun ve son alarak aşağıdaki komut ile izinleri verin.
chmod 755 /home/$user/tmp
php.ini dosyası, sunucudaki php ayarlarını yapabileceğiniz bir yapılandırma dosyasıdır. Sunuculara kurulan yazılımlara göre php.ini üzerinden ayar değişikliği yapılması gerekebilir.Standart bir sunucuda php.ini ayarları bir kere yapıldıktan sonra özel bir durum olmadıkça düzenleme yapılmasına ihtiyaç duyulmaz.Ancak özel yazılımlar için değerlerde ya da fonkisyonlarda değişiklik yapılması gerekebilir.
safe_mode
max_execution_time
max_input_time
memory_limit
register_globals
gibi bir çok özelliği değiştirebilirsiniz.
php.ini üzerindeki memory_limit özelliğini değiştirmek istiyorsunuz. Eğer siz sunucu kurulumundan sonra bir değişiklik yapmamışsanız standart olarak 32M şeklinde değer alır. Bu değeri 256M şeklinde değiştirebilmek için sunucuya ssh ile bağlanıp;
nano /usr/local/lib/php.ini
komutunu çalıştırıyoruz. Komutu çalıştırdıktan sonra karşımız birinci satırından itibaren php.ini dosyasının içeriği gelecektir. Aramış olduğumuz özelliği hızlı bir şekilde bulabilmek için Ctrl+W ile arama moduna geçiyoruz. Arama moduna geçtikten sonra memory_limit yazıp arama yaptığımızda direk bize memorylimit özelliğini bulacaktır. Buradaki değeri 256M yaparak Ctrl+X ile kaydedip çıktığımızda artık sunucumuz üzerindeki memory limitimiz 256M olmuş olacaktır.Değişikliklerin aktif olabilmesi için/etc/init.d/httpd restart komutu ile apache server’a restart atmamız gerekir.
.png” alt=“php.ini_”>
php.ini üzerinden daha birçok ayarı bu şekilde değiştirebilirsiniz. Önemli olan sizin kurmak istediğiniz scripte aldığınız hata doğrultusunda bu işlemleri yapmaktır. En çok karşılaşılan sorun safe_mode sorunudur.Eğer bir sunucu php.ini dosyasında safe_mode = off olarak ayarlıysa bunu değiştirmenizi tavsiye etmem. Kurmak istediğiniz script safe_mode = on olmalı şeklinde hata veriyorsa ve siz bu scripti kurabilmek için safe mod’u açarsanız, sunucu üzerinde çalışan diğer aktif sitelerden safe_mode = off olmasını gerektiren siteleriniz hata verecektir. Ayrıca php’nin eski sürümlerinde safe mod’un açık olması güvenlik açığı meydana getirmektedir. Bu nedenle php 5.3′ten eski bir sürüm kullanıyorsanız safe mod’u kapalı tutmanızı tavsiye ederiz.
Öncelikle bir database ve buna bağlı bir kullanıcı oluşturmamız gerekmektedir, Daha önceki makalimizde nasıl databesi oluşturma işlemini anlattığımız için bu bölümü atlıyoruz,
http://www.netinternet.com.tr/bilgi-bankasi/plesk-panel-database-veritabani-olusturma-islemi/
Panel ana sayfamızdan Backup Manager sekmesine tıklıyoruz,


Database bölümünden daha önce oluşturduğumuz kullanıcıyı seçiyoruz,

Gözat kısmından yükleyeceğimiz database dosyasını seçiyoruz,


İşlem başarı ile tamamlanmıştır,
