cPanel'de 'Restrict outgoing SMTP to root, exim, and mailman' (eski adıyla SMTP Tweak) adlı bir ayar bulunur. Görünüşte basit olan bu ayar, etkinleştirildiğinde yalnızca root, Exim ve Mailman kullanıcılarının uzak SMTP sunucularına bağlanmasına izin verir. Diğer kullanıcılar ve hizmetler, yerel posta sunucusunu atlayarak doğrudan harici SMTP sistemleri üzerinden e-posta gönderemez. cPanel, bu atlama davranışını genellikle spam gönderenlerin kullandığını belirtir. Ancak pratikte, bu ayarın etkinleştirilmesi veya devre dışı bırakılması kararı; uygulama uyumluluğu, e-posta kötüye kullanım kontrolleri, sorun giderme ve barındırılan uygulamaların Microsoft 365, Gmail gibi harici e-posta hizmetlerine bağlanma şeklini etkileyebilir.
Bu ayarın amacı, barındırılan uygulamaların doğrudan harici SMTP sunucularına bağlanmasını engelleyerek güvenliği artırmaktır. Normalde bir uygulama, e-posta göndermek için yerel Exim sunucusunu kullanır. Ancak bazı uygulamalar, örneğin bir şirket Microsoft 365 kullanıyorsa, doğrudan Microsoft'un SMTP sunucusuna bağlanmak isteyebilir. Ayar etkin olduğunda, bu tür bağlantılar engellenir ve uygulama yerel Exim sunucusuna yönlendirilir. Bu durum, uygulamanın beklenmedik hatalarla karşılaşmasına neden olabilir.
PHPMailer kullanan bir PHP uygulaması düşünelim. Uygulama, smtp.office365.com:587 üzerinden Microsoft 365'e bağlanacak şekilde yapılandırılmıştır. SMTP kısıtlamaları etkin olduğunda, uygulama bağlanmaya çalıştığında 'Peer certificate CN=local-server.example.com did not match expected CN=smtp.office365.com' gibi bir hata alabilir. Bu hata, bağlantının aslında yerel Exim sunucusuna yönlendirildiğini ve sunucunun sertifikasının beklendiği gibi olmadığını gösterir. Bu durum, sorunun Microsoft 365, STARTTLS, DNS veya güvenlik duvarı gibi başka bir kaynaktan kaynaklandığı yanılgısına yol açabilir.
Teknik Analiz
SMTP kısıtlamalarının etkinleştirilmesinin temel gerekçesi güvenliktir. Spam gönderenler ve kötü niyetli yazılımlar, genellikle yerel posta sunucusunu atlayarak doğrudan harici SMTP sunucularına bağlanır. Bu ayar, bu tür etkinlikleri engelleyerek sunucunun itibarını korur. Ayrıca, tüm e-postaların merkezi bir noktadan geçmesini sağlayarak denetimi kolaylaştırır. Ancak bu güvenlik önlemi, meşru uygulamaların çalışmasını engelleyebilir ve uyumluluk sorunlarına yol açabilir.
Sonuç ve Değerlendirme
Öte yandan, bu ayarın devre dışı bırakılması, uygulamaların harici SMTP hizmetlerini sorunsuz kullanmasına olanak tanır. Modern web uygulamaları genellikle Microsoft 365, Google Workspace veya SendGrid gibi hizmetlere doğrudan bağlanır. Ayar devre dışı bırakıldığında, geliştiricilerin istediği gibi çalışır ve uyumluluk sorunları ortadan kalkar. Ancak bu durum, güvenlik risklerini artırabilir ve spam gönderimini kolaylaştırabilir. Bu nedenle, karar verirken barındırma ortamının ihtiyaçları ve güvenlik modeli dikkate alınmalıdır.
Uzmanların Görüşleri
Sorun giderme için üç aşamalı bir yöntem kullanılabilir. İlk olarak, root kullanıcısı ile openssl s_client komutu kullanılarak harici SMTP sunucusuna bağlanmayı deneyin. Bağlantı başarılıysa ve Microsoft sertifikası görülüyorsa, sunucunun harici SMTP'ye erişimi var demektir. İkinci olarak, aynı testi hosting kullanıcısı ile tekrarlayın. Root ile Microsoft sertifikası alırken hosting kullanıcısı ile yerel sunucu sertifikası alınıyorsa, sorun SMTP kısıtlamalarından kaynaklanıyor olabilir. Üçüncü olarak, aynı kullanıcı altında PHP ile test yaparak uygulama katmanındaki davranışı doğrulayabilirsiniz. Bu yöntem, sorunun kaynağını net bir şekilde belirlemenize yardımcı olur.
Kaynak: dev.to