Web Sunucu Güvenliği İpuçları

Linux web sunucularda temp dizini güvenliği

Web sunucunuzdaki geçici işlemler için dosya oluşturulan dizin /tmp dizinidir.Bir web sunucusunda genelde /tmp dizini üzerine tüm kullanıcılar yazma okuma izinlerine sahip oluyor.Böylece herkesin yazabildiği ve okuyabildiği bir alan güvenlik riskini arttırıyor.

Bu riski bir nebze düşürmek için /tmp dizinini ayrı bir partition olarak bağlamalı ve için kod çalıştırılamaz şekilde ayarlamalısınız.

Eğer işin bu kısmını düşünmeden sunucu kurmuşsanız ve diskinizde boş alan yoksa aşağıdaki linux/unix işletim sistemlerine özgü raw disk image mount alternatifini kullanabilirsiniz.

Önce tmp bölümün ne kadar alana gereksinim duyduğuna karar verin ve bunun için diskinizdeki boş alanı kontrol edin

Ssh üzerinden root kullanıcısı ile bağlıyken şu komutu verin;

 

[root@localhost ]# df -h

 

/dev/sda1 214G 130G 74G 64% /

 

 

Burada / dizininde 74 Gb boş alan olduğunu görüyoruz.Bize tahminen 15 gb tmp dizini yeterli olabilir.

Şimdi disk imajı oluşturma ve sisteme bağlama aşamasındayız.Önemli servislerinizi (mysql,apache vb.) durdurup /tmp dizin içeriğinizi bir yere yedekleyin .Daha sonra aşağıdaki komutları sırasıyla yazın.

dd if=/dev/zero of=/usr/tmpMnt bs=1024 count=15000000

 

/sbin/mke2fs /usr/tmpMnt

 

/usr/tmpMnt is not a block special device.
Proceed anyway? (y,n) y

 

 

 

Bu komutları sırasıyla uyguladığınızda artık /usr altında 15 gb ‘lık tmpMnt dosyanızın olduğunu görebilirsiniz.Imajı sisteme tmp olarak bağlayalım;

mount -o loop,noexec,nosuid,rw /usr/tmpMnt /tmp

 

Bu komuttan sonra hiçbir hata çıkmadıysa disk imajı tmp olarak bağlanmış demektir.Daha önce başka bir yere almış olduğunuz dosyaları şimdi /tmp ‘e tekrar aktarıp servislerinizi çalıştırabilirsiniz.

Ayarların her açılışta yüklenmesi için,

nano ile /etc/fstab dosyasını açıp alttaki satırı dosyanın en altına yazın.

/usr/tmpMnt /tmp ext2 loop,noexec,nosuid,rw 0 0

 

Not 1: Bu işlemler sonucunda /tmp dizinin izinleri değişmiş olabilir.

chmod 1777 /tmp çalıştırın.

Not 2: /usr/tmpMnt yolu zorunlu değildir.İstediğiniz klasörde istediğiniz isimle imaj dosyasını oluşturabilirsiniz.Yeterki fstabdaki isimler doğru olsun.

Not 3: Herşey bittikten sonra mount komutu ile /tmp dizinin doğru bağlandığına emin olun.

 

 

 

 

 

 

 

 

Proftpd güvenlik açığı ve güncellemesi

Geçtiğimiz günlerde  ftp sunucu yazılımı proftpd ‘de yüksek öncelikli bir güvenlik açığı tespit edildi.Açık sadece centos plesklerin dışında başka dağıtımlarda da bulunuyor.

Sürümü güncellemek için aşağıdaki ekran görüntülerindeki adımları sisteminizde uygulayın.

veya aşağıdaki adımları uygulayayın;

Atomic depolarını sunucumuzdaki yum paket yöneticisine ekliyoruz..

wget -q -O – http://www.atomicorp.com/installers/atomic |sh

Daha sonra bu /etc/yum.repos.d/atomic.repo dosyasını bir text editorle açıyoruz..

nano /etc/yum.repos.d/atomic.repo

ve aşağıdaki işaretli alanın değerini 1 yapıp dosyayı kaydediyoruz.

# Almost Stable, release candidates for [atomic]
# Note these are not supported by anyone. -Scott
[atomic-testing]
name = CentOS / Red Hat Enterprise Linux $releasever – atomicrocketturtle.com – (Testing)
mirrorlist = http://www.atomicorp.com/mirrorlist/atomic-testing/centos-5-$basearch
enabled = 1
priority = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY.art.txt
gpgcheck = 1

daha sonra

yum upgrade psa-proftpd

veya

yum upgrade psa-proftpd-xinetd (plesk 8.6 versiyonları için geçerli)

olarak proftp yi güncelleyiniz.

Centos 5.x Php 5.3 kurulumu

Şu anda php ‘nin güncel sürümü olan 5.3.3 paketinin centos 5.x webservera kurulumu için önce extra paket depolarının yum ayarlarını yapıyoruz.

Sunucuya ssh üzerinden root olarak login olduktan sonra aşağıdaki epel paketi sisteminize indirin

[root@server ~]# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Ardından php 5.3 paketinin bulunduğu depoyu kullanabilmeniz için şu adresten indireceğiniz rpm paketini şu şekilde sisteminize kurun.

  • [root@server ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
  • [root@server ~]# rpm -ihv remi-release-5.rpm

Artık php 5.3 kurmaya hazırsınız.Aslında paket bağımlılıkları ve sistemin güncel olması açısından buna php ve mysql güncellemesi de diyebiliriz.Son olarak;

[root@server ~]# yum –enablerepo=remi update php-\* mysql-\*

Böylece php ,mysql kütüphaneleri ve mysql veritabanını upgrade etmiş oldunuz.Son olarak service httpd restart komutu ile apache’yi resetledikten sonra web alanınıza bir yere bir phpinfo() kodu yazıp güncellemeyi kontrol edebilirsiniz.

Plesk 9.x de Postfix Kurulumu

Plesk’in 9 versiyonlarındaki en büyük yeniliği qmail yerine postfix kullanabiliyor olmanız.Tek bir satırda sunucuyu komple postfixe çevirip büyük bir dertten kurtulabilirsiniz.

/usr/local/psa/admin/sbin/autoinstaller –select-release-current –install-component postfix

Ancak daha sonra sizi belki de ufak bir problem bekliyor olabilir.Plesk 8.6 vey 9 da Qmail ile kullandığınız sunucuda smtp girişini sadece isimle yapabilirken,postfix de ancak tam e-mail adresinizle kimlik doğrulama yapabilirsiniz.

Plesk 8.6 dan 9.x versiyonuna yedekleme

Swsoft Plesk’in 9.x versiyonlarında yedekleme sistemi tamamiyle değişti,8.x kurulu olan bir sunucunuzdan yedeğiniz öncelikle 9.x uyumlu olmalı.Windows versiyonlarında öncelikle aşağıdaki komutu çalıştırıp yedeği 9.x e uyumlu hale getirmelisiniz.

“%plesk_bin%\pre9-backup-convert” –source=c:\yedek.psa –destination=”%plesk_dir%\Backup”