Wordpress – Vahap Öç – Exevolium https://exevolium.com #windows, #linux, #hosting, #cloud, #database, #vmware Sat, 04 Nov 2017 08:21:17 +0000 tr hourly 1 https://wordpress.org/?v=7.0.2 https://exevolium.com/wp-content/uploads/2017/03/favicon1.png Wordpress – Vahap Öç – Exevolium https://exevolium.com 32 32 VestaCP-Nginx WordPress 404 Page Problemi https://exevolium.com/nginx-vestacp-wordpress-404-page-problemi/ Sat, 04 Nov 2017 08:20:57 +0000 http://exevolium.com/?p=1054 Merhaba,

VestaCP’de Nginx web server kullanarak, WordPress çalıştırdığınızda karşılaşacağınız olası sorunlardan biri 404 sayfasıdır.
Bunun nedeniyse Nginx’in .htaccess okuyamamasından kaynaklanıyor. Bu nedenle aşağıdaki dizine gidip şu satırlardan birini eklemelisiniz.

try_files $uri $uri/ /index.php?q=$request_uri;

veya

try_files $uri $uri/ /index.php?$args;

Bu satırları eklemeniz gereken yer ise /home/$username/conf/web/nginx.conf dosyası.
Nginx.conf içinde bu satırları ekleyeceğiniz yer de location / { ‘ın içinde olmalı. Sarı ile işaretlediğim kısım.

Sonrasında Nginx servisini restartlamayı unutmayın.
$username kısmı, VestaCP üzerinde siteyi oluştururken hangi kullanıcıyı tanımladığınıza göre değişiyor. Default admin’dir.

Umarım zamandan kazanmanızı sağlar.

]]>
cPanel’de Gzip Çalışmama Sorunu ve Gzip Aktif Etme İşlemi (Mod_deflate) https://exevolium.com/cpanelde-gzip-aktif-etme-ve-calismama-sorunu-mod_deflate/ Mon, 29 May 2017 13:00:34 +0000 http://exevolium.com/?p=933 Merhaba,

cPanel’de gzip sıkıştırma yöntemini aktif etmek için mod_deflate enable etmeniz gerekiyor. Eğer EasyApache üzerinden Apache’yi derlerken mod_deflate modülünü enable etmenize karşın hala enable gözükmüyorsa aşağıdaki adımı uygulamalısınız.

cPanel’den MultiPHP INI Editor bulun ve Editor Mode‘a geçin. Oradan sitenizi çalıştırdığınız php versiyonunu seçin.
Aşağıdaki satırları bulun ve altta ilettiğim şekilde düzenleyin.

output_handler = Off
zlib.output_compression = On
zlib.output_handler = ob_gzhandler

Eğer kullandığınız cPanel versiyonunda MultiPHP INI Editor tarzı bir seçenek yoksa Php Configuration Editor bulun ve Advanced Mode gelip bu tanımlamaları yapın. En sonunda Optimize Website kısmından Compress enable edebilirsiniz. Daha önceden enable duruma getirdiyseniz Apache’yi yeniden başlatıp tekrar kontrol edin. Alttaki sayfayı cPanel’de göremiyorsanız WHM’de Feature Manager kısmından enable edebilirsiniz.


SSH bağlantınız olan bir sunucu varsa gzip’in enable olup olmadığını curl komutuyla kontrol edebilirsiniz.

curl -I -H 'Accept-Encoding: gzip,deflate' http://vahap.net

Content-Encoding: gzip çıktısıyla karşılaşmanız lazım. Eğer bu çıktıyla karşılaşıyorsanız sunucunuzda gzip aktifleşmiş demektir.
.htaccess üzerinden de sıkıştırmak istediğiniz typeları belirlemeniz mümkün.

Apache için aşağıdaki satırları .htaccess üzerinde kullanabilirsiniz.

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

Umarım zamandan kazanmanızı sağlar.

]]>
Sunucu ve WordPress Güvenliği https://exevolium.com/server-ve-wordpress-guvenligi/ Sun, 12 Mar 2017 09:28:36 +0000 http://exevolium.com/?p=765 Merhaba,

Yazı uzun ama saldırı yapan kişinin nasıl yaklaştığı ve kendinizi level 1-2‘de nasıl koruyabileceğinizden bahsetmeye çalıştım.
Sistem tarafında Level 3’deki adımlardan bahsetmedim çünkü o işlemler için ek ücret tahsil edip ve vakit ayırıp yapılıyor, yapıyorum.
Standart blog yazısı oluşturmaya çalıştım.

1.) Öncelikle saldırı yapacak kişi bilgi toplamaya çalışacaktır. (Information Gathering)
Bilgi toplama aşamasında yapabilecekleri:

1.a.) Alan adının whois sorgusunda kayıtlı bilgilerden yola çıkarak Social Engineering işlemine kalkışabilir. Örneğin alan adının Whois bilgilerinde gözüken mail adresine fake mail atarak, sitenin tehlikede olduğunu belirten ve tıklamanızı bildiren bir link iletebilir veya telefon numarası üzerinden oltalama (phishing) işlemine kalkışabilir.
*Çözüm: Whois gizleme hizmetlerinden faydalanın. Domaini aldığınız firma bunu ek hizmet olarak sunuyordur.

1.b.) Sitenin çalıştığı ip adresini ve firmayı öncelikle bulmaya çalışacaktır. (Private sunucuda mı yoksa shared hosting sunucusunda mı çalıştığını belirleyecek ve ihtiyaç duyacağı saldırı kaynağını belirlemeye çalışacaktır.)
*Çözüm: Free ip maskeleme hizmeti sunan Cloudflare kullanın. Domainin ns kayıtlarını Cloudflare yönlendirin ve tüm dnsleri Cloudflare üzerinden yönlendirin. Cloudflare arayüzünde maskeleme işlemini DNSSEC ile yapabilirsiniz. (Üst menüde DNS tıkladığınızda altta göreceksiniz.)

Sonrasında DNS panelde gözüken kayıtların Status altındaki yönlendirmeyi aşağıdaki gibi aktif hale getirin.


*Mail dns kayıtlarınızda (webmail, smtp, pop, mail vs.) bu işlemi yapmayın. Mail hizmetinde problem yaşayabilirsiniz.

1.c.) Domainin çalıştığı ip adresini gizlediniz ve ping atıldığında sitenizin çalıştığı real ip yerine Cloudflare ip adresi gözüküyor.


Ancak mail hizmetinde aksaklık yaşamamak için o dns kayıtlarında ki ip adresini gizlemediniz ve nmap ile tarama yapınca subdomainler yüzünden real ip adresi ortaya çıktı.
*Çözüm:Mail servisleriniz, web servislerinizle aynı sunucuda olmasın. Örneğin Yandex Mail’i kullanabilirsiniz, ücretsizdir veya shared hosting alarak kullanabilirsiniz. (Radore bünyesinde çalıştığımdan, mail hizmeti konusunda yıl içinde bir veya max. iki blacklist sorunu haricinde oldukça stabil sistem yönetiriyoruz, düşünebilirsiniz.)


Bu adımlar özellikle DOS/DDoS saldırısı yapacak kişinin işini zorlaştıracaktır.
Cloudflare, hping3 ve black-nurse ddos ataklarını filtreleyebiliyor.

2. Alan adı ve sitenizin ip adresini gizlediniz. Mail hizmetini web sunucunuzda barındırmayarak web servisinin ip adresini gizlediniz.
Sıra geldi private sunucuda sitenizi çalıştırıyorsanız sunucudaki servislerin bilgilerini gizlemeye.

2.a.) Sunucunun Server-Signature gizlemek. Sunucuda cPanel kullanıyorsanız muhtemelen Apache kullanıyorsunuzdur. (Plesk ve diğer paneller Nginx Proxy defaultta sunuyorlar.) Eğer durum böyle Apache Versiyon (ServerSignature) Gizleme ve Apache Web Server Güvenliği Yapılandırması anlatımımı inceleyin. Nginx kullanıyorsanız şu an için sıkıntı yok, güzel karar.
Onun optimizasyonunu da ileride anlatacağım.

Bu işlemi yaptığınızda curl ile sorgu çekildiğinde server bilgileri gizlenmiş olacaktır.
Aynı şekilde Cloudflare kullandığınız için de Server aşağıdaki gibi gözükecektir.
(Slowloris.cf pentest işlemlerinde kullandığım domaindir, şu an pasif.)

3.) DOS veya DDoS saldırı alıyorsunuz ya da almaya başladınız.
*Çözüm: Cloudflare kullanıyorsanız Under Attack modunu aktifleştirin. Bütçeniz varsa özellikle Layer-7 koruma hizmeti sunan firmalardan sunucu alın. (%100 garanti veriyorlarsa baştan uzak durun.) Eğer bütçeniz yoksa ve Linux kullanıyorsanız iptables üzerinden rate-limit koyun. Bunun için de yandaki linki inceleyebilirsiniz: Mitigating Slow Http Dos Attack Resolve
Apache’nin modülleri (mod_evasie, mod_ limitipconn, mod_qos) üzerinden de limitleme yapabilirsiniz.
Bunun yapılandırılması detayına bilerek girmiyorum, çünkü ekstra ücret ödenerek yaptırılan bir konfigürasyondur.

Eğer Layer-4 saldırı alıyorsanız; ek firewall hizmetiniz yoksa, saldırı yurt dışından geliyorsa ip adresinizin anonsunu yurt dışına kapattırabilirsiniz.

**Her şeyden öte ihtiyacınıza göre web server konfigürasyonu oluşturun ve mevcut olanı gözden geçirin. Bilginiz yoksa ek hizmet dahilinde hizmet aldığınız firmaya yapılandırtın. Eğer Apache kullanıyorsanız ve web paneliniz varsa Nginx Reverse Proxy kurun ve Nginx kullanın. Örnek bir eklentinin kurulumundan bahsettim, linki aşağıdadır.

Nginx Reverse Proxy kurulumu

Üstteki anlatımda Nginxcp’den bahsettim ama Engintron, CpxStack vb. yapıları da inceleyin.
*Engintron ssl konusunda sorun yarattığı için vazgeçmiştim ancak bu sorunu çözümlemişler.

***MySQL ya da MariaDB ya da MSSQL ne kullanıyorsanız artık, güncel sürümü kullanın ve remote erişimi kapalı tutun.
Öneri olarak, veritabanı yapısını web sunucunuzla aynı yapıda tutmayın. Farklı sunucuda olsun ve aynı networke dahil edip, local haberleşmelerini sağlayın. Özellikle MySQL ve MariaDB’de ortalama bir konfigürasyonu ileride paylaşacağım için geçiyorum. Link olarak buraya eklerim. Ayrıca, gerekmedikçe veritabanı kullanıcısına super_privilages yetkisi vermekten kaçının.

WordPress Güvenliği İçin Yapılabilecekler

1.) Başta brute-force atakları önlemek için şifrenizi kısa tutmayın. Tahmini zor şifreler kullanın.
2.) Fazla plugin kullanmaktan çekinin. Hem admin arayüzünü yavaşlatır, hem pluginden kaynaklı bir açıktan hacklenirsiniz.
3.) Warez tema kullanmayın, kullanacaksanız da iyice inceleyin. Tema kaynaklı dış link veriyor olabilirsiniz. Bu seoda zarara uğratır.
*Çözüm:wmaraci sitesinin Araçlar bölümünde Site Analiz bölümünden dışarıya verdiğiniz linkleri görebilirsiniz.
4.) Her şeyin başı update. Güncellemeleri takip edip güncel pluginler kullanın. WordPress güncellemelerini ve tema güncellemelerini atlamayın.
5.) FTP alanında bulunan dosyalarınıza ve içeriklerinize 777 izni vermeyin.
6.) Eğer file upload gibi bölüm sitenizde varsa o alandan .php uzantılı dosyaların yüklenip yüklenmediğini kontrol edin. Shell yiyebilirsiniz.
7.) Kullandığınız temanın ismini değiştirin ve öyle kullanın. Bunun için temanın olduğu dizine gidip, style.css dosyasındaki açıklama kısmından temanın adını değiştirin ve temayı yüklemeden önce de ismini değiştirip öyle upload edin.
Eğer temayı aktif kullanmaya başlamışsanız aşağıdaki eklentiyi kullanın.
**Wordpress wp-admin/wp-login yolunu değiştirme ve tema/eklenti isimlerini gizleme: Wp-Hide Security Enhancer
8.) Günlük ve haftalık backup alın ve ftp alanı içerisinde bilgilerinizi tutmayın; dbyi ftp alanına yedeklemek gibi bir hata yapmayın.
9.) Cacheleme kullanın. WP-Super Cache veya Total Cache kullanıp, bunu CDN hizmetiyle bağdaştırıp performansı arttırabilirsiniz.
10.) WordPress kurduktan sonra Readme tarzı dosyaları ftpden silin ve alt dizinlerin tümüne index.html atın.
(Dizinlerin içindeki içeriklerin listelenmesini önlemek için.)

Level 3 diye belirttiğim işlemlerin birkaçının detayı: Kullanılan veritabanın tespiti, MySQL’de açık arama, sql injection, port tarama ve portların kapatılması, eth üzerinden rate-limit tanımı, sistemdeki kernel ve yapıların versiyon tespiti ve sistem tarafındaki açıklardan metasploit kullanarak satüre etmek vs. vs.

Umarım zamandan kazanmanızı sağlar.

]]>
WordPress Jetpack SSL Not Supported Problemi https://exevolium.com/wordpress-jetpack-ssl-problemi/ Wed, 31 Aug 2016 00:49:05 +0000 http://exevolium.com/?p=430 Merhaba,

WordPress üzerinde Jetpack kurdunuz ancak SSL desteği olmadığına ilişkin size hata döndüğü gibi aynı zamanda Jetpack Bağla dediğinizde timeout’a işlem düştü. Bu noktada öncelikle openssl extension aktif mi onu kontrol edin. Aynı zamanda bu eklentiyle çakışan başka bir eklenti olabilir. Tümünü devre dışı bırakarak yeniden deneyin. Sonrasında sunucudaki firewall devre dışı bırakarak deneyin. Belki WordPress’in ip adresi bloklanmış olabilir.
Bu da olmazsa geriye iki seçenek kalıyor:
1. XMLRPC dosyanızı (/xmlrpc.php) kontrol edin. Bozulmuş olabilir.
Çalıştırdığınızda aşağıdaki sayfayı veriyorsa sorun yok demektir:

“XML-RPC server accepts POST requests only.”

Eğer sorun bu dosyadan kaynaklı değilse alttaki adımı uygulayın.

2. Jetpack.php sayfasındaki kodu düzenleyin.

#wp-content/plugins/jetpack/ içerisinde jetpack.php dosyasında aşağıdaki satırı bulun.:

define( ‘JETPACK__API_BASE’, ‘https://jetpack.wordpress.com/jetpack.’ );

#Yukarıdaki satırı aşağıdaki gibi düzenleyin.

define( ‘JETPACK__API_BASE’, ‘http://jetpack.wordpress.com/jetpack.’ );

#Yani https şeklinde yönlenmesin.

Muhtemelen bu sorununuzu kesinlikle çözecektir.
Çözüm olmazsa Jetpack ile iletişime geçin.

]]>
WordPress Şifre Sıfırlama https://exevolium.com/wordpress-sifre-sifirlama/ Mon, 28 Dec 2015 12:45:06 +0000 http://exevolium.com/?p=157 Merhaba,

WordPress şifresinin unutulması halinde yapılması gereken adımlar aşağıdaki gibidir: 

  • cPanel‘e giriş yapın.
  • phpMyAdmin‘e girin.
  • Sol tarafta WordPress kurulu olan veri tabanınızı seçin.
  • Yine sol tarafta tablolarda wp_users olan tabloyu tıklayın.
  • Sıfırlamak istediğiniz kullanıcı hesabını bulun ve “Düzenle“ye tıklayın.
  • Password (user_pass) yazan kısıma;  eb5a790b34e06e2ce3346fa2ca5d6abb  yazın ve Kaydet‘e basın.
  • Şifrenizi 123456* olarak değiştirmiş oldunuz.
]]>
WordPress Yorum Alanını Kaldırma https://exevolium.com/wordpressde-yorum-alanini-kaldirma/ Sat, 05 Dec 2015 03:45:23 +0000 http://exevolium.com/?p=25 Merhaba,

WordPress üzerinde yorum alanını kaldırmak için, single.php içerisinde bulunan “comments_template();” satırını kaldırmak yeterli olacaktır. Bu adımı ben de kullanmaktayım. Bunun nedeniyse Spam botları engellemek istememdir.

Örnek kod satırı aşağıdaki gibidir:

<?php
if ( comments_open() || '0' != get_comments_number() ) :
comments_template();
endif;
?>

 

yorum1
*Template göre farklılık gösterebilir.

]]>