Büyük boyutlu MySQL veritabanı dosyalarında phpMyAdmin yada kontrol paneli üzerinden yapılan onarma işlemleri tamamlanmıyor yada sorunlar çıkartıyor. Bu nedenle boyutu büyük olan MySQL veritabanınızı Linux sunucularda SSH üzerinden onarma yapmak daha sağlıklıdır.
Bunun için SSH bağlantısı yapın ve superuser (root) olduğunuzdan emin olun. Alttaki komutu komut satırına yazın.
mysqlcheck -r [database name]
mysqlcheck veritabanı kontrol etmek için kullanılan komuttur. -r parametresi ise Repair (onarma) işlemi yapar.
Eğer yukarıdaki komut işe yaramaz ise Linux komut satırı üzerinden direk MySQL dosyalarının bulunduğu klasörü yazarak işlem yapabilirsiniz.
myisamchk -r /var/lib/mysql/[database name]/*
Not: MySQL onarma işlemini yapmadan önce sunucu disk alanının yeterli olduğuna emin olun.
cPanel sunucularda eğer root yetkiniz var ise, kontrol paneli arayüzünden yedek alabildiğiniz gibi SSH ile komut sistemi üzerinden de yedek alabilirsiniz. Çok fazla dosya sayısı olan ya da çok büyük olan hesaplarda SSH üzerinden yedek almak ve restore etmek daha sağlıklı olur. Arayüz üzerinden yüksek boyutlu sitelerin yedeklerini alma ya da yükleme sırasında hatalar çıkabilmektedir.
Sunucuya root ile SSH üzerinden giriş yapınız.
Öncelikle yedek alabilmek için /home dizinine giriş yapmanız gerekir. Daha sonra cPanel hesabın kullanıcı adı ile aşağıdaki komut ile yedek alma işlemini başlatabilirsiniz.
cd /home
/scripts/pkgacct kullanıcı adı
Örnek;
/scripts/pkgacct netinternet
Komutu yazıp Enter tuşu ile onayladıktan sonra sunucuda işlemler başlayacaktır.Dosya sayısı ya da hesabın büyüklüğüne göre işlemlerin süresi değişebilir. Yedekleme işlemi tamamlandıktan sonra home dizin içerisinde yedeği cpmove-kullanıcıadı.tar.gz olarak görebilirsiniz.
SSH üzerinden komut ile yedek restore işlemi de yedek alma işlemi kadar basittir. Tek bir komut ile yedeğinizi sunucuda restore edebilir ve hesabı aktif edebilirsiniz.Öncelikle yedeği restore edebilmek için yedek dosyası hangi dizinde ise o dizinde olmanız gerekir. Yedeğimizin standart olarak home dizini içerisinde olduğunu düşünerek yine home dizinine giriş yaparak yedek restore komutumuzu çalıştıralım.
cd /home
/scripts/restorepkg yedek dosyası
Örnek;
/scripts/restorepkg cpmove-netinternet.tar.gz
Kullandığınız cPanel sunucuda ssh yetkiniz var ise eğer cPanel üzerinden yedek alabildiğiniz gibi SSH üzerinden komut ile de yedek alabilirsiniz. İki işlem arasında herhangi bir fark bulunmamaktadır. Ancak nadirde olsa cPanel üzerinden alınan yedeklerde, dosya sayısı çok ise ya da hesap boyutu çok büyük ise sorunlar çıkabilmektedir.Bu gibi durumlarda komut ile yedek almak en garanti yöntemdir.
cPanel sunucunuza root olarak login olduktan sonra öncelikle yedek alabilmek için /home dizinine giriş yapmanız gerekir. Daha sonra cPanel hesabın kullanıcı adı ile aşağıdaki komut ile yedek alma işlemini başlatabilirsiniz.
cd /home
/scripts/pkgacct kullanıcı adı
Örn;
/scripts/pkgacct netinternet
Komutu yazıp Enter tuşu ile onayladıktan sonra sunucuda işlemler başlayacaktır.Dosya sayısı ya da hesabın büyüklüğüne göre işlemlerin süresi değişebilir. Yedekleme işlemi tamamlandıktan sonra home dizin içerisinde yedeği cpmove-kullanıcıadı.tar.gz olarak görebilirsiniz.
SSH üzerinden komut ile yedek restore işlemi de yedek alma işlemi kadar basittir. Tek bir komut ile yedeğinizi sunucuda restore edebilir ve hesabı aktif edebilirsiniz.Öncelikle yedeği restore edebilmek için yedek dosyası hangi dizinde ise o dizinde olmanız gerekir. Yedeğimizin standart olarak home dizini içerisinde olduğunu düşünerek yine home dizinine giriş yaparak yedek restore komutumuzu çalıştıralım.
cd /home
/scripts/restorepkg yedek dosyası
Örn;
/scripts/restorepkg cpmove-netinternet.tar.gz
cPanel üzerinden alınan ya da komut ile alınan yedekleri bu komut ile sunucunuzda restore edebilirsiniz.Bu işlemi yapabilmeniz için yedek dosyasının tar.gz uzantılı olması yeterlidir.
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,
Spam karantinasında filtreler tarafından süresiz olarak engellenen tüm mailleri görebilirsiniz.Size gelen ya da sizin göndermiş olduğunuz mailleriniz eğer sistemdeki filtrelere takılırsa bu mailler bu bölümde listelenir.Belirli aralıklarla bu listeyi takip ederek karantinadaki maillerinizi takip etmeniz sağlıklı olacaktır.

SpamCop Blocking List
Bu listeden çıkmak için aşağıdaki sayfaya giriş yapıyoruz,
http://www.spamcop.net/bl.shtml
Resimdeki işaretlenmiş yere ip adresinizi yazmanız yeterlidir,
Bir sonraki ekranda
İşleminiz tamamlanmış olacaktır,
Barracuda Blocking List
Aşağıdaki adrese giriş yapıyoruz;
http://barracudacentral.org/rbl/removal-request
Karşımıza çıkan sayfada gerekli bilgileri giriyoruz, (İp adresi,mail vs.)
Reason for Removal Bu kısımda İp adresinin listeden çıkartma isteğimizi yazmamız gerekiyor,
Örnek: Bu ip adresindeki spam sorunu giderilmiş,ip adresinin listeden çıkartılmasını talep ediyorum,
Şeklinde ingilizce olarak yazıp;
Submit request diyoruz,
Karşımıza işlemin tamamlandığına dair bir yazı gelecektir,
Yazdığınız mail adresine bilgilendirme kapsamında bir onay maili gelecektir,
SORBS SPAM Blocking List
Bu listeden çıkmak için ne yazık ki sisteme kayıt olmamız gerekiyor, kayıt işleminin ardından size birtakım ip adresinize ile alakalı sorgu ekranları gelmektedir, bu sorgulamalar sonrasında firma insiyatifine bağlı ip adresiniz 2 ile 6 hafta arası listeden çıkabiliyorsunuz, Tabi o an spam çıkışı sunucunuzdan devam ediyor ise veya başvuru yaptığınız esnada spam mail çıkışı olursa süreç daha da uzayacaktır,
https://www.secure.sorbs.net/scgi-bin/login
İVMSIP24 Blocking List
Aşağıdaki adrese giriş yapıyoruz,
http://dnsbl.invaluement.com/lookup/
Karşımıza gelen sayfada Lisete olan ip adresimizi yazıyoruz ve alt tarafdaki güvenlik için yapılmış doğrulamayı gerçekleştiriyoruz,
Daha sonraki ekranda kullandığınız mail adresinizi yazmanız gerekmektedir,
Bu işlemden sonra size talebinizin alındığına dair bir ekran karşınıza çıkacaktır, İşlemler tamamen burada bitmiyor size gelecek olan maillerde listeden çıkıp çıkmadığınıza dair bilgiler veya ip adresinize göre ayrıca yapılması gereken birkaç adım daha gerçekleştirip listeden çıkabilirsiniz,
SPAMHAUS ZEN Blocking List
Aşağıdaki adresten ip adresimizi yazıp sorgulama yapıyoruz,
http://www.spamhaus.org/lookup/
Gelen ekranda Removal Procedure başlıiğının altında bulunan
contact the SBL Team](mailto:sbl-removals@spamhaus.org?Subject=SBL235541%20159.253.38.0/24) by email [(use this link)
Listeden çıkması için mail göndermemiz gerekmektedir,
IMP SPAM Blocking List
Aşağıdaki bağlantı IP Number bölümüne ip adresimizi yazıyoruz,
http://antispam.imp.ch/spamikaze/remove.php
Tüm yapılması gereken işlem bu kadar, Firma spam çıkışı durduğu anda listeden ip adresinizi çıkaracaktır,
LASHBACK SPAM Blocking List
Aşağıdaki bağlantıya tıklıyoruz;
http://www.lashback.com/blacklist/
Delist request bölümüne İp adresimizi yazıp submit diyoruz,
Bu bölümde bizden birkaç bilgi istemektedir, doğru bilgileri yazmanız gerekmektedir, geçerli bir eposta adresi girip request delist dediğimizde, işleme alınacaktır,
Son aşamada Mail adresimize onay ve listeden çıkması ile alakalı mail gelecektir,
INPS_DE SPAM Blocking List
Aşağıdaki adrese giriş yapıyoruz;
http://dnsbl.inps.de/index.cgi?lang=en&site=00005
İp adresimizi yazıp Request removal basıyoruz,
Karşımıza gelen ekranda 2 adet seçenek bulunmaktadır, eğer hemen çıkartmak istiyorsanız ücret ödemeniz gerekiyor (10 £) alttaki seçeneği seçerseniz 1 hafta içerisinde ücretsiz olarak ip adresiniz çıkmış olacaktır,
SERVICESNET SPAM Blocking List
Bu firma korea.services.net, adında anlaşılacağı gibi korea menşeili bir firmadır,
http://www.dnsbl.info/contact.php
Sadece linkte iletilen contact bölümünden mail yolu ile iletişime geçmeniz gerekmektedir,
Göndermiş olduğunuz maile geri dönüş yapacaklardır,
UCEPROTECTL2 SPAM Blocking List
Bu firma prosedürleri diğerlerinden tamamen farklı ve en karmaşık olanı da bu firmadır,
Öncelikle aşağıdaki linkten ip adresimizi sorgulatıyoruz,
http://www.uceprotect.net/en/rblcheck.php
Açılan sayfada en alt taraf da bir tablo göreceksiniz,
Bu tabloda ;
Level 2 Escalation limit (5)
Level 3 Escalation limit (100)
5 ve 100 değerleri kaç farklı adrese spam yapıldığı veya kaç farklı kara listede olduğunu göstermektedir, (bu konuda türk telekomun bir açaıklaması mevcuttur, internetten araştırıp inceleyebilrisiniz,)
Tablonun en altında bulunan;
Details about IP’s involved and dates of impacts can be found here
Bu linke tıkladığınızda net rakamları görebilirsiniz,
Listede ip adresiniz karşısındaki rakam 100 değerinin üzerinde olduğunda listeye girer mail gönderemezsiniz,
Sonuç olarak bu firma ile iletişime geçtiğinizde sizden para talep etmektedir, yapılacak en mantıklı işlem sunucudaki spam yapan hesabı bulup spam çıkışını durdurmak,spam çıkışını durdurduğunuzda tabloyu kontrol ederseniz 100 değerinin altında olduğunuzu göreceksiniz,
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
Softaculous, birçok hazır scripti (yazılımı) kolayca kurmanıza yarayan bir cPanel eklentisidir. Ücretsiz olarak yaklaşık 200 php script içinde barındırır. Örnek olarak Wordpress, Joomla, phpBB ve PrestaShop gibi scriptleri verebiliriz.
Kuruluma geçmeden önce sunucu ana IP Adresine lisans almanız gerekmektedir. Sitemizde Lisans Kiralama sayfasından sipariş verebilirsiniz.
Kuruluma başlamadan önce WHM panelden Tweak Settings içersinden cPanel PHP loader kısmındaki ioncube kutucuğunu işaretleyip kaydetmelisiniz.

Kurulum için SSH ile bağlanmanız gerekiyor.
wget -N http://files.softaculous.com/install.sh chmod 755 install.sh ./install.sh
Bu kodları SSH üzerinden yazın. Kurulum ortalama 20 DK sürmektedir.
Sonrasında WHM panelde sol menüde Softaculous - Instant Installs eklentisinin geldiğini göreceksiniz.

Kurulum sonrası birkaç ufak ayarlama var. Softaculous - Instant Installs menüsüne girin Settings menüsüne tıklayın.
Choose Language - Turkish Choose Protocol - http://www Don’t Prefill Directory Name - Kutucuğu işaretleyin
Olarak ayarlayıp kaydedin.

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