RSS Logo Background
  • CentOS 5 Lighttpd - Php Kurulumu
    By admin on Temmuz 15th, 2008 | No Comments Comments

    Server kurulumları sırasında yoğun olarak insanlar apache ve php ikilisini tercih etmektedir. Ancak son zamanlarda Alexa , Youtube gibi büyük siteler lighttpd’ye geçiş yapmaya başladılar. lighttpd’nin perfonmans olarak çok daha iyi sonuç vermesi daha az memory kullanması , jail chroot imkanına sahip olması (ki sadece bu bile güvenlik açısından tercih edilmesine sebep olan bir özellik) benimde lighttpd yi test etmek istememe yol açtı. Bu karar sonrasında yaptığım ilk şey Floren ile birlikte gerekli incelemeleri başlatmak ve testlere başlamaktı. Ilk olarak testleri düzgün şekilde yapabilmek için ubuntu’dan vazgeçerek kendi bilgisayarıma CentOs 5 kurdum. CentOs 5 i tercih etmemdeki sebep en yeni sürümü olması ve server da kullanacağımız tüm Rpm’leri Floren ile birlikte kendimizin oluşturacak olmasıydı. Makaleyi kendi serverınıza uygulamak istiyorsanız her adımı sırasıyla takip etmenizi ve aşağıdakiler haricinde RPM kullanmamanızı şiddetle tavsiye ederim. Çünkü tüm RPM’ler özel olarak hazırlanmış ve maksimum perfonmans için optimize edilmişlerdir.

    Ilk olarak home klasörümüzde redhat isimli bir klasör oluşturuyoruz.

     

    mkdir -p /home/drazil/redhat

    Daha sonra /usr/src/redhat/ altındaki tüm dosyaları yeni oluşturduğumuz klasörün altına kopyalıyoruz. -R kodu alt dizinleride kopyalamak içindir

     

    mkdir -p /home/drazil/redhat

    Daha sonra kurulumda gerekli olabilecek tüm gerekli yazılımları yüklüyoruz.

     

    # yum -y install \
    autoconf automake \
    gcc gcc-c++ \
    bzip2 bzip2-devel \
    gd glib2 glib2-devel \
    ImageMagick \
    libaio libaio-devel \
    libtool \
    openldap openldap-devel \
    openssl openssl-devel \
    pcre pcre-devel

     

    yum install gmp*

    Daha sonra var olan tüm RPM leri kullanabilmeniz için gerekli olan Key’i import edeceksiniz. Bu key olmadan RPM’leri malesef kullanamazsınız.

     

    rpm –import /home/drazil/redhat/RPM-GPG-KEY-TECK

    Kurulum sıramızı şu şekilde uygulayacaz.
    1. Php
    2. memcached
    3. Lighttpd
    4. xCache
    5. Mysql

    Php Kurulumu :
    Php kurulumu için sırasıyla aşağıdaki RPM’leri import ediniz.

     

    rpm -Uvh /home/drazil/redhat/RPMS/i386/php-common-5.1.6-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/php-cli-5.1.6-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/php-5.1.6-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/php-devel-5.1.6-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/php-pdo-5.1.6-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/php-mysql-5.1.6-1.el5.i386.rpm

    Memcached Kurulumu :

    Rpm’leri sırasıyla import ediniz.

     

    rpm -Uvh /home/drazil/redhat/RPMS/i386/memcached-1.2.2-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/pecl-memcache-2.1.2-1.el5.i386.rpm

    Daha sonra memcached’i aşağıdaki kodları sırasıyla uygulayıp aktif hale getiriniz.

     

    chkconfig memcached on
    service memcached start

    Lighttpd kurulumu için gerekli olan iki dependencies in ilkini rpm lerden ikincisini yum kullanarak yüklüyoruz.

     

    rpm -Uvh /home/drazil/redhat/RPMS/i386/lua-5.1.2-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/lua-devel-5.1.2-1.el5.i386.rpm

     

    yum install gamin-devel gdbm-devel

    Lighttpd Kurulumu :

    Rpm leri sırasıyla import ediyoruz.

     

    rpm -Uvh /home/drazil/redhat/RPMS/i386/lighttpd-1.4.15-1.el5.i386.rpm
    rpm -Uvh /home/drazil/redhat/RPMS/i386/lighttpd-fastcgi-1.4.15-1.el5.i386.rpm

    lighttpd için özel olarak optimize ettiğimiz lighttpd ini dosyasını php.d klasörüne , lighttpd.conf dosyasını lighttpd klasörüne kopyalıyoruz.

     

    cp /home/drazil/redhat/lighttpd.ini /etc/php.d
    cp /home/drazil/redhat/lighttpd.conf /etc/lighttpd

    Daha sonra dosya izinlerini değiştirip chown komutu ile log dosyasının sahibini değiştiriyoruz.

     

    chmod 0644 /etc/php.d/lighttpd.ini
    chmod 0644 /etc/lighttpd/lighttpd.conf
    chown lighttpd:root /var/log/lighttpd

    En son lighttpd’yi aktif hale getiriyoruz.

     

    chkconfig lighttpd on
    service lighttpd start

     

    chcon -R -t public_content_t /var/www
    chcon -R -t samba_share_t /var/www

    xCache Kurulumu :

    Yine özel oluşturduğumuz xCache rpmlerinden birisini import ediyoruz.

     

    rpm -Uvh /home/drazil/redhat/RPMS/i386/xcache-1.2.0-1.el5.i386.rpm from

    Daha sonra içeriği aşağıdaki gibi olucak bir php dosyası oluşturuyoruz ve server’a koyuyoruz

     

    echo md5(‘şifreniz’);

    Bu dosyası browserınızdan açtıktan sonra çıkacak olan c635c3dad4d8f8c123319ff45d8a0996 gibi değeri /etc/php.d/xcache.ini dosyasındaki şifre kısmına yazıyoruz. Kullanıcı isminide değiştirmeyi unutmayın. Bunlar xCache panelinize login olmanızı sağlayacaktır.
    Dosyayı save ettikten sonra aşağıdaki komut ile lighttpd’yi restart ediyoruz.

     

    service lighttpd restart

    Daha sonra domain.com/xcache/ adresinden xcache kontrol panelinize giriş yapabilirsiniz.

    MySql Kurulumu :

    Mysql kurulumu sırasında dikkat etmeniz gereken ilk olgu yine aşağıdaki sıralarla kurmak olacaktır. Dikkat edin arada yum ile kurmanız gereken ayrı bir gereklilik daha var.

     

    rpm -Uvh /home/drazil/redhat/RPMS/i386/mysql-5.0.22-1.el5.i386.rpm
    yum install perl-DBD-MySQL
    rpm -Uvh /home/drazil/redhat/RPMS/i386/mysql-server-5.0.22-1.el5.i386.rpm

    Kurulum tamamlandıktan sonra mysql i aşağdaki kodla çalıştırıyoruz.

     

    service mysqld start

    Mysql’e login olmak için aşağıdaki komutu kullanıyoruz.

     

    mysql -u root

    Şimdi mysql serverımızı biraz güvenli hale getiricez. Normal olarak mysql ilk kurulum ile birlikte birden fazla kullanıcı ekler. Ilk olarak root kullanıcısı için yeni bir şifre oluşturmak için aşağıdaki kodu giriyorsunuz.

     

    SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(’yenişifre’);

    Daha sonra kurulum sırasında oluşmuş iki kullanıcıyı kaldırıyoruz

     

    DELETE FROM mysql.user WHERE User = ;
    FLUSH PRIVILEGES;
    DELETE FROM mysql.user WHERE Host = ;
    FLUSH PRIVILEGES;

    En son olarak root haricinde bir kullanıcı kalıp kalmadığını kontrol etmek için ilk satırdaki kodu giriyoruz.

     

    SELECT User, Host FROM mysql.user;

    Eğer aşağıdaki gibi bir cevap alırsak

     

    +——+——————–+
    | User | Host |
    +——+——————–+
    | root | drazil-desktop.lan |
    | root | localhost |
    +——+——————–+
    2 rows in set (0.00 sec)

    Bu kodu uygulayarak son kullanıcıyıda kaldırıcaz.

     

    DELETE FROM mysql.user WHERE Host = ‘drazil-desktop.lan’;
    FLUSH PRIVILEGES;

    Bir sonraki adımımız lighttpd nin kendine has özelliği olan güvenliği hazırlamak. Ilk önce aşağıdaki komutları girerek (root ile) gerekli klasörleri oluşturuyoruz.

     

    mkdir -p /webroot/tmp
    mkdir -p /webroot/etc
    mkdir -p /webroot/var/log/lighttpd
    chown lighttpd:lighttpd /webroot/var/log/lighttpd
    chmod 0640 /webroot/var/log/lighttpd
    mkdir -p /webroot/home/lighttpd
    chown lighttpd:lighttpd /webroot/home/lighttpd
    chmod 0750 /webroot/home/lighttpd

    Daha sonra aşağıdaki kodu giriyoruz.

     

    ls -dl /webroot/home/lighttpd

    Almamız gereken yanıt şu olucak

     

    drwxr-x— 2 lighttpd lighttpd 4096 Jun 12 22:01 /webroot/home/lighttpd

    En son olarak jail chroot için gerekli olan bir script oluşturucaz
    Aşağıdaki kodu l2chroot.txt isimli bir dosya oluşturarak içine yapıştırın ve kolay erişebileceğiniz bir dosyaya kaydedin.

     

    #!/bin/bash

    BASE=$2

    [ ! $BASE ] && mkdir -p $BASE || :

    echo “Copying files to $BASE …”
    FILES=“$(ldd $1 | awk ‘{ print $3 }’ |egrep -v ^’\(‘)”
    for i in $FILES
    do
    DIRECTORY=“$(dirname $i)”
    [ ! -d $BASE$DIRECTORY ] && mkdir -p $BASE$DIRECTORY || :
    /bin/cp $i $BASE$DIRECTORY
    done

    LDDIR=“$(ldd $1 | grep ‘ld-linux’ | awk ‘{ print $1}’)”
    LDSUBDIR=“$(dirname $LDDIR)”

    if [ ! -f $BASE$LDDIR ]; then
    echo “Copying $LDDIR $BASE$LDSUBDIR …”
    /bin/cp $LDDIR $BASE$LDSUBDIR
    else
    :
    fi

    Dosyayı kaydettikten sonra sırasıyla aşağıdaki kodları giriyoruz.

     

    mv /home/drazil/tmp/l2chroot.txt /bin/l2chroot
    chmod +x /bin/l2chroot

  • Plesk panel apache2, php5 ve mysql5 upgrade
    By admin on Temmuz 15th, 2008 | No Comments Comments

    Merhaba,

    Bir çok plesk kullanıcısının yaşadığı bir sorundur apache2, php5 ve mysql5 e geçiş. Bu konu hakkında pek fazla makale olmadığı için sizlerle paylaşmak istedim. Aşağıda yapmanız gerek adımları tek tek yazıyorum. Umarım işinize yarar.

    Birinci adım :

    nano /etc/yum.repos.d/CentOS-Base.repo

    İkinci adım :

    (more…)

  • Ogame Web2.0 Solucanı
    By admin on Temmuz 15th, 2008 | No Comments Comments

    OGame bir çesit uzay stratejisi simulasyonudur. Aynı anda binlerce oyuncu tarafından karsılıklı olarak oynanır. Oynayabilmek için sadece normal bir internet gezgini gerekir.*OGame’de oyuncular ittifak kurabilir, varolan ittifakları görebilir ve bunlara katılabilirler. İttifak ana sayfasında diğer kullanıcılar için açıklayıcı yazılar ve resimler yayınlanabilir. Bu yazıları ve resimleri ittifakı kuran oyuncu oluşturur ve yayınlar. İşte bu yazıları ve resimleri girmek için sağlanan arayüzde bulunan girdi denetimi yetersizliği kullanılarak, bir “depolanmış XSS” (stored XSS) saldırısı gerçekleştirilebilmektedir.

    (more…)

  • İptables ile IP Bloklamak
    By admin on Temmuz 15th, 2008 | No Comments Comments

    BLOKLAMAK İÇİN :
    iptables -I INPUT -j DROP -s ipadresi

    BLOKU KALDIRMAK İÇİN :

    iptables -D INPUT -j DROP -s ipadresi

  • Apf ( Firewall ) Kurulumu
    By admin on Temmuz 15th, 2008 | No Comments Comments

    APF Nedir?

    APF kural tabanlı bir iptables güvenlik duvarıdır.Ayarlanması ve kullanılması özellikle sunucular için çok kolaydır.

    Özellikleri

    • Kolay anlaşılan kural tabanlı ayar dosyası.
    • Bağımsız giriş ve çıkış filtreleme.
    • ID tabanlı çıkış kontrolu bu sayede belirtilen uygulamanın sahibine bakarak çıkış yapıp yapmamasına izin verebilirsiniz.
    • Genell tcp/udp port ve icmp tipi ayarlar
    • Sistemdeki her ip için özel yapılandırma.
    • icmp ataklarını önlemek için icmp tabanlı koruma sistemi
    • antidos yazılımı
    • dshield.org engel listesi bu listede aktif olan saldırganlar tüm apf kullanan sunucularda erişim hakları engellenir.
    • tcp/ip saldırılarını engelleemk için özel sysctl ayar dosyası
    • İstenmiyen trafiği engellemekiçin özel hazırlanabilen kural dizisi
    • Kernel seçeneklerini kullanabilme abort_on_overflow ve tcp syncookies gibi.
    • Kolay yönetilebilir bir güvenlik duvarı yazılımı.
    • Güvenebileceğiniz ve direk olarak engelleyeceğiniz hostları belirtebileceğiniz kural dosyası.
    • APF ile uyumlu 3. parti uygulamaları.

    Çok etkili bir güvenlik duvarı olmakla beraber sunucuların genelinde bu güvenlik duvarı kullanılmaktadır.Ayar dosyaları ve kurulumu kolaydır ve etkilidir.

    Kurulum

    (more…)

Advertisement