16 Kasım 2013 Cumartesi

PHP ile SMTP üzerinden mail gönderme

SMTP ile Mail Gönderin Başınız Ağrımasın...

Bir çok hosting firması shared sunucularda genellikle mail ve phpmail fonkisyonlarını kapalı tutar.Eminim ki bu durumla bir çoğumuz karşılaşmışızdır.Peki neden böyle yaparlar? Enpati yaparak kendimizi hosting sağlayıcısı yerine koyalım. Eğer sunucudan mailler direk olarak phpmail üzerinden çıkar ise sunucudan kesinlikle spam çıkışı olur.Spam çıkışı olduğu zamanda bir çok sorun meydana gelir. Mail kuyruğu şişer,sunucudaki exim servisi şişer ve normal müşterilerde mail göndermez,ip adresleri listeye girer....gibi. Bu örnekleri daha da çoğaltabiliriz.

Her sorun çözülür de ip adreslerinin listeye girme sorunu çözülse bile sunucuda mail gönderimi ile alakalı sürekli sorun olur.Bir ip adresi bir kere listeye girdiği zaman artık o ip adresinden hayır gelmez.Neden hayır gelmez bunu farklı bir yazımda anlatmıştım. İp adresinin listeye girmesi bir hosting firmasını en son isteyeceği şeydir. Bu nedenle de hosting firmaları sunucularında mail ve phpmail özelliklerini kapatarak sadece smtp ile mail gönderilmesine izin verirler. Aslında adamların yerine kendimi koyduğumda gayet haklılar bence böyle yapmakla.

Neyse lafı fazla dolandırmıyım.İşte böyle bir durumla karşılaşırsanız sizinde yapmanız gereken kullandığınız mail fonkisyonunu SMTP üzerinden mail gönderimi yapacak şekilde ayarlamaktır.Bu aslında öyle zor da bir şey değil. Yapmamız gerekenler nelerdir BURADAN bir bakalım.

İyi çalışmalar.

14 Kasım 2013 Perşembe

Linux hosting sunucusunda kullanılan başlıca komutlar

İster kendi siteleriniz olsun,isterseniz müşterilerinizin siteleri olsun; eğer paylaşımlı bir hosting sunucunuz var ise yaşayabileceğiniz bir çok sorun olur.Sitelerin tükettiği kaynaklar, çalıştırdığı sorgular,gönderdikleri spam mailler ve daha bir sürü şey sunucuda sorun çıkmasına neden olur. Bu nedenle sunucuyu sürekli olarak takip etmek gerekir ki sunucuda ve sitelerde bir kesinti olmasın.

Bir sorun yaşadığınızda sunucu kontrol etmeniz gereken belirli servisler vardır. Myql server çalışıyor mu, apache server çalışıyor mu, exim mail servisi çalışıyor mu bunların hepsine bakmanız gerekir.Tabii her yaşadığınız sorunda tümünü kontrol etmeniz gerekmez. Yaşadığınız soruna göre bu işlemleri yapmanız gerekir.Siteleriniz database hatası veriyor ise ilk bakmanız gereken mysql server'ın çalışıp çalışmadığıdır.İşte bu tarz genel kontrolleri yapabileceğimiz belirli komutlar vardır.Bunlar ile alakalı açıklamalı bir kaç örnek vereceğim size.

w : Komut basit bir komuttur. Sunucunun anlık yükünü ve sunucuda hangi ip adreslerinin login olduğunu gösterir.Ayrıca sunucu uptime süresini de bu komut ile görebilirsiniz.

ps aux : Komut, sunucuda çalışan işlemleri listeler.Komut çıktısında bir çok işlem listelenir ancak bir çoğu zaten cPanel'in ya da sunucunun çalıştırdığı standart işlemlerdir. Bizim dikkat etmemiz gereken kullanıcıların ve apache server'ın çalıştırdığı işlemlerdir.

Makalenin devamı için...

12 Kasım 2013 Salı

cPanel EasyApache Modülleri Hakkında Duyuru

cPanel kendi blog sayfasından yaptığı duyuruda 2013 yılı sonunda easyapache derlemesindeki bazı modüllerin kaldırılacağını belirtti.

Kaldırılacak olan modüller :

  • Apache 1.3/2.0
  • Php 5.2
  • mod_frontpage
2014 yılından itibaren artık easyapache derlemesi sırasında bu modüllerin seçilmesi mümkün olmayacak.Modüllerin kaldırılmasına gerekçe olarak ise şöyle bir bilgi verildi:

  • Bu modüller artık geliştiriciler ve kullanıcılar tarafından desteklenmemektedir/kullanılmamaktadır.
  • Bu modüller Ortak Güvenlik Açıkları ve Etkilenmeler (CVE) içerisinde dahil edildi.
  • Easyapache artık Apache (2.2/2.4) ve PHP (5.4/5.5) desteklemektedir.
Ayrıca bunun yanında Php 5.2 ve mod_frontpage modüllerinin özel modüller olarak kullanıcılara sunulacağı belirtildi.

Ayrıntılı bilgi için cPanel'in kendi blog sayfasını ziyaret edebilirsiniz. http://goo.gl/Dvl1hD

Easyapache derlemesi hakkında ayrıntılı bilgi için sitemiz : http://goo.gl/CIrcTy

9 Kasım 2013 Cumartesi

EPP Kodu Nedir ?

EPP Kodu

EPP kodu, domain transfer işlemlerinde kullanılan güvenlik kodudur. Domain adresinizi bir firmadan farklı bir firmaya transfer etmek istiyorsanız EPP kodunu kullanmanız gerekir.

Peki EPP kodunu nasıl alabilirim ? 
Bir çok domain kayıtçı firma EPP kodunu sorunsuz olarak verir. Genellikle firmalardaki müşteri kontrol panellerinin domain yönetim bölümünden bu kodları alabilirsiniz. Eğer kontrol panelinizde kodu alabileceğiniz bir alan yok ise firmanızdan transfer işlemi için bu kodu istemeniz gerekir.

EPP kodu ile transfer nasıl yapılır ? 
EPP kodunu eski firmanızdan aldıktan sonra yeni çalışmak istediğiniz firma üzerinde bu kodu domain transfer bölümüne girmeniz gerekir.Zaten transfer işlemi başlatmak istediğinizde sistem otomatik olarak bu kodu sizden isteyecektir.Kodu yazarak transfer işlemini başlatmış olmazsınız.Transfer işleminin başlaması için gelecek olan maile onay vermeniz gerekir.EPP kodunu yazdıktan sonra domain adresinin whois üzerindeki kayıtlı mail adresine bir onay maili gelecektir.http://goo.gl/UppQFA Eğer domain adresiniz için sizin e-mail adresiniz kayıtlı ise mail size gelir ve onay işlemini siz yaparsınız.Ancak domain için eski firmanızın mail adresi var ise firmanıza transfer işlemini onaylamasını söylemeniz gerekir.Bu onaylama işlemi yapıldıktan sonra transfer işlemini başlatmış olursunuz. Transfer işlemleri iki kayıtçı firma arasında yapılır ve ortalama olarak 7-14 gün arası sürer. Eğer bu kadar zaman geçmesine rağmen tranfer işleminiz tamamlanmamış ise herhangi bir nedenden dolayı transfer işleminiz iptal edilmiştir. Bu konuda bilgi almak için eski ve yeni firmanıza sorunun kaynağını sorabilirsiniz.

İyi çalışmalar.

Sunucu yönetimi ve hosting ile alakalı daha fazla bilgi için sitemi ziyaret edebilirsiniz. http://www.paylasimlibilgi.com/

cPanel'de mod_deflate Etkinleştirme

cPanel mod_deflate Aktif Etme

Özellikle Google developers da bulunan pagespeed de Enable compression hatası alan kullanıcıların sıkça sorduğu deflate eklentisini sitenizde etkinleştirmek için alt kısımda sizlerle paylaşacağım işlemleri uygulayınız.

Öncelikle cPanel kontrol panelinize login olun sonrasında “Optimize Website” bölümüne giriş yaptıktan sonra “Compress all content” seçeneğine tıklayarak ayarları kaydettiğinizde web siteniz için deflate sıkıştırma özelliğini aktif etmiş oluyorsunuz.

Ancak bu işlemi cPanel üzerinden yapabilmeniz için sunucunuzdaki apache derlemesinde Deflate özelliğinin aktif edilmesi gerekir. Apacher derlemesi ile Deflate'i aktif etmek için Buradaki Makale'yi inceleyebilirsiniz.

İyi çalışmalar.

compress

8 Kasım 2013 Cuma

Linux Netstat Servisi

Netstat (Network Statistics)

Network bağlantılarını, routing tablosunu, arabirim istatiskleri ve benzer ağ bağlantısı bilgileri ile ilgili ayrıntılı bilgiler verebilen bir konsol komutudur.
Netstat komutu çeşitli parametreler ile kullanılmaktadır. Bu parametreler ve anlamları şunlardır :
-a : Tüm TCP ve UDP bağlantıları ekrana basar.
-e : Gelen ve giden paket sayısının istatistiklerini görüntüler.
-n : Tüm bağlantıları rakamsal olarak görüntüler.
-o : Tüm bağlantıları PID numarası ve uygulama adına göre listeler.
-p : Bağlantıların kullandığı uygulama ve PID numaralarını ekrana basar.
-s : Kurallara göre istatistiksel verileri ekrana basar.
-r : IP yönlendirme tablosunun içeriğini görüntüler.

Netstat çıktısında yer alan bağlantı durumlarının anlamları:

ESTABLISHED : Soket bağlantı gerçekleşmiş durumdadır.
SYN_SENT : Soket bağlantı kurmaya çalışıyordur.
SYN_RECV : Ağdan bir bağlantı isteği gelmiştir.
FIN_WAIT1 : Soket kapatılmış, bağlantı sonlandırılmak üzeredir.
FIN_WAIT2 : Bağlantı sonlandırılmıştır.Soket karşı ucun bağlantıyı sonlandırmasını beklemektedir.
TIME_WAIT : Soket kapandıktan sonra gelebilecek paketleri alabilmek için beklemektedir.
CLOSED : Soket kullanılmamaktadır.
CLOSE_WAIT : Karşı uç bağlantıyı kapatmıştır.Soketin kapanması beklenmektedir.
LAST_ACK : Karşı uç bağlantıyı sonlandırmış ve soketi kapatmıştır.Onay beklenmektedir.
LISTEN : Soket gelebilecek bağlantılar için dinleme konumundadır.
CLOSING : Yerel ve uzak soketler kapatılmış fakat tüm verilerini göndermemiş durumdadır.Tüm veriler gönderilmeden soketler kapanmaz.

Ssh üzerinden netstat çıktılarını alabilmek için bazı örnek komutlar :

netstat -ntu
Tüm TCP ve UDP bağlantıları listeler.
netstat -ntu | grep SYN
Tüm TCP ve UDP bağlantılar içerisinde SYN_SENT ve SYN_RECV bağlantı durumlarını ekrana basar.
Grep sonrasında yer alan bölümü kendi isteğinize göre değiştirip diğer bağlantıları da ekranda görebilirsiniz.Örneğin;
netstat -ntu | grep ESTABLISHED
Ekrana sadece ESTABLISHED olan bağlantıları basar.
netstat -ntu | awk ' {print $5} ' | awk ' {sub("::ffff:","");print} ' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address 127.0.0.1 -e 0.0.0.0
Yukarıdaki komut ffff tablosu ile ekrana basılan değerler dahil tüm ip listesini küçükten büyüğe göre sıralar.Yine komuta grep ekleyerek bağlantı duruma göre listeleme yapabilirsiniz.
İyi çalışmalar.
Yazar : Ali Kırlıoğlanlar

7 Kasım 2013 Perşembe

Perl Dizini Önemi ve Kapatılması

Perl Dizini

Perl dizini cPanel sunucularda çok büyük bir güvenlik açığına neden olmaktadır. Perl dizini açık olan sunuculara kolaylıkla shell dosyaları ( C99 , R57 vb. ) atılabilmektedir. Bunu engelleminin yolu ise bu dizini kapatmaktır. Tabi ki sadece bu dizini kapatmak ile sunucunuza shell atılamayacağı anlamına gelmez. Shell dosyalarının atılmasını kesin olarak engellemek için yapılması gereken farklı yazılımsal işlemler de vardır. Bu işlemleri farklı bir makalemizde size anlatacağım.
Perl dizini açık olan sunucularda /cpanel , /webmail şeklinde cPanel ve webmail'e giriş yapılabilir. Hosting firmaları genellikle sunucudaki güvenliğe önem verdikleri için Perl dizinini kapatıralar. Bu nedenle de /cPanel olarak değil domain.com:2082 gibi cpanel ve webmaile port üzerinden giriş yapılabilir. Bu kimi kullanıcılar için sorunmuş gibi görünse de aslında güvenlik bakımından iyi bir durumdur. Eğer ki hosting almış olduğunuz firmada cpanel'e port üzerinden giriş yapıyorsanız perl dizini kapalı ve genel olarak güvenli bir sunucudan hizmet alıyorsunuz anlamına gelir.
Şimdi Perl Dizini nasıl kapatılır bu işleme bir bakalım. Eğer kendinize ait dedicated ya da sanal sunucunuz var ise Perl dizinini kapatmanızı tavsiye ederim.

Perl Dizini Kapatma

which perl
Bu komutu yazdığınızda karşınıza /usr/local/bin/perl çıktısı gelecektir.
ls -lh /usr/local/bin/perl
Bu komutu yazdığınızda ise karşınıza Perl'in asıl dizini gelecektir.  /usr/local/bin/perl -> /usr/bin/perl* karşınıza bu şekilde bir dosya yolu çıkacaktır ve buradan Perl dizininin  yazma izinlerini görebilirsiniz.
chmod 700 /usr/local/bin/perl
Perl dizininin kapalı olması için alması gereken yazma izni 700'dür. Yukarıdaki komut ile Perl dizini yazma izninini 700 yapıyoruz ve Perl'i kapatmış oluyoruz. Bu komutu uyguladığımızda yukarıda belirtmiş olduğum gibi /cPanel , /webmail şeklinde panellere girişleri artık engellemiş oluyorsunuz.
Şimdi yapılması gereken işlem ise herhangi bir cPanel güncellemesi sonrası Perl dizininin tekrar yazılabilir olmamasını sağlamak. Bu sayede Perl dizini hiçbir şekilde siz manuel olarak açmadığınız sürece yazılabilir olmayacaktır.
chattr -i /usr/bin/perl
chmod 700 /usr/bin/perl
chattr +i /usr/bin/perl
Bu komutlar ile Perl dizininin tekrar yazılabilir olmasını engellemiş olduk. chattr komutu ile bir dosyayı kilitlersiniz ve dosya kilitli iken bu dosya üzerinde yazma işlemleri yapılamaz.
Artık herhangi bir update sonrası Perl dizini yazma izinleri değişmeyecek ve bu nedenle de güvenlik açığı meydana gelmeyecektir. Eğer yukarıdaki son kilitleme komutlarını uygulamazsanız cPanel update sonrası vermiş olduğunuz 700 yazma izni bozulur ve bu dosya tekrar yazılabilir hale yani 777 yazma iznine döner. Bunu engellemek için mutlaka dosyayı kilitlemeniz gerekir.
Yazar : Ali Kırlıoğlanlar