SYN Flood Saldırısı

Duyar gibiyim , SYN flood saldırısı alıyorum ne yapabilirim seslerini . Tabii’ki de bir çözümü var. Hem linux için hemde Windows için . Windows için bu bilgiyi sizinle resimleriyle paylaşacağım . Fakat linux için bu bilgiyi ne yazık ki sizlerle paylaşmayacağım . admin@hostingdestek.com mailine konuyla ilgili bir mail gönderirseniz size çözümlerinin nasıl olacağını ve nasıl bir destek almanız gerekliliğini detaylıca anlatabilirim .

Öncelikle SYN flood ‘un ne olduğuna bakalım , SYN flood etkili bir (D)DOS  saldırılarından bir tanesidir. Hedef sunucu yada istemcinin TCP block tablosunu bogus SYN paketleri ile tamamen doldurup , bu istemcinin bu paketlere cevap verememesinden yararlanmaya çalışır. Hemen hemen tüm linux sürümlerinde syn_cookies özelliği bulunmaktadır. Özellikle FreeBSD ve diğer BSD sürümleri bu konu üzerinde daha özelleşmiş ayarlar sunabilmektedirler.

Ben aşağıda Windows üzerinde bu işlemi nasıl yapacağınızı kısaca anlatıyorum ;

1) Öncelikle Başlat - Çalıştır ( Start - Run ) ‘a basarak regedit yazın.
Regedit

2) Ardından  HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > Tcpip > Parameters  yolunu takip edin ve sağ tarafta sağ tuşa tıklayarak New menüsünü açın . ve DWORD Value işaretliyin.

HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > Tcpip > Parameters

3) İsim olarak SynAttackProtect  yazın. Value data değerini 2 yapın.

Syn Attack Korumasi girin

4) Aynı yerde TcpMaxHalfOpen  ve TcpMaxHalfOpenRetried  değerleri içinde DWORD oluşturun . TcpMaxHalfOpen   değerine çift tıklayıp Value kısmına 100 , TcpMaxHalfOpenRetried  değerine 85 girin. Sunucunuza restart atın .

Kolay gelsin

YAZIYI INTERNET EXPLORER’DA GÖRÜNTÜLEYEMEZSENİZ LÜTFEN FİREFOX ‘DA DENEYİNİZ.

APF Firewall Kurulumu

CSF konusunda siz ziyaretçilerimiz o kadar çok arama yapmışsınız ki , CSF kullanmayanlar ve APF ‘ye geçiş yapmak isteyenler içinde bir yazı yazmak istedim . APF , şu anda piyasadaki tüm distrolar ile ( Debian, Centos, Redhat Enterprice, FreeBSD , Suse vs ) kurulabilen ve kullanımı çok basit tamamen iptables altyapısı kullanılarak çalıştırılan bir firewall ( ateş duvarı ) yazılımı .

Genel olarak özelliklerini sıralamak gerekirse ;

    * Kullanımı ve ayarlanması çok kolay kural dosyası içermektedir
    * TCP/UDP tipinde blocklama yapılabilmesi
    * Giriş ve çıkışlar için ayrı kurallar tanımlabilmesi
    * ICMP koruma sistemi
    * White ve Black list yapısı ile , listeleme oluşturabilme
    * AntiDOS eklentisi ile DDOS koruması
    * Özel sysctl.conf dosyası ayarlaması
    * Kernel seçeneklerini kullanabilme
    * vs vs :)

Kurulum :

cd /usr/local/src
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz
tar -zxvf apf-current.tar.gz
cd apf*
./install.sh

Yükleme bittikten sonra karşınıza ;

 .: APF installed
 Install path:    /etc/apf
 Config path:     /etc/apf/conf.apf
 Executable path: /usr/local/sbin/apf
 AntiDos install path: /etc/apf/ad/
 AntiDos config path:  /etc/apf/ad/conf.antidos

ekranı cıkacak , bu kurulumun problemsiz tamamlandığı anlamına gelmektedir.

nano pico yada hangi editörü kullanıyorsanız conf dosyasını editleyelim ;

nano -w /etc/apf/conf.apf

Burada genel olarak yazılanların ne anlama geldiğini aşağıda bulabilirsiniz.

DEVM="1"
    Devolopment mod olarak açıklanıyor güvenlik duvarı ilk kurulduğunda standart olarak bu modda siz ayarları yapana kadar her 5 dakikada bir güvenlik duvarı kurallarını temizliyor.Böylece ssh portunu engelleseniz bile 5 dakika içerisinde girebilirsiniz.Herşeyin yolunda gittiğini anladıktan sonra bu değeri 0 olarak ayarlayın ve güvenlik duvarını yeniden başlatın.

LGATE_MAC=""
    Yerel ağ mac adresidir.Buraya bir değer girildiği zaman sadece buradan gelen isteklere izin verilicektir.Biz bu değeri boş bırakacağız.

LGATE_LOG="0"
    Değeri 1 olarak ayarlarsanız bütün ağ trafiğinin kayıdı tutulucaktır.Biz bu değeride 0 olarak bırakacağız. Yeni hosting bildirisine göre logları  6 ay boyunca saklamak zorundasınız. Eğer diskte yeriniz varsa ve sunucunuz iyi özellikte ise saklamanızı öneririz.

EN_VNET="0"
    Bu değeri 1 olarak ayarlarsanız sistemdeki tüm ipler için farklı kurallar kurabilirsiniz./etc/apf/vnet/ dizinine bu kuralı yerleştirebilrisiniz gene standart olarak bir template bu dizinde var.

TIF=""
    Güvenilen ağlar .

DROP_LOG="1"
    Kernel tabanlı loglama.

LRATE="60"
    Iptables in dakikada logladığı olay sayısı.

IG_TCP_CPORTS="22"
    S istemde içeriye tcp portlarını belirtir.22 yazan yere virgul ile açılıcak portları yazının devamında ekleyeceğiz.

IG_UDP_CPORTS=""
    İçeriye açılıcak udp portlarını gösterir.

EGF="0"
    Bu değeri 1 olarak açıcağız çıkan paketlerin filtrelenmesi.

EG_TCP_CPORTS="22"
    Sitemden dışarıya açılacak tcp portları.

EG_UDP_CPORTS=""
    Sistemden dışarıya açılıcak udp portları.

USE_DS="0"
    Dshield.org un engellenenler listesine bu seçeneği 1 olarak seçerseniz katkıda bulunursunuz.

Şimdi cPanel için örnek bir kurulum yapalım ;

nano -w /etc/apf/conf.apf

USE_DS="0"
 ve 3 satır altındaki

 USE_AD="0"
 kısımlarını bulup

 USE_DS="1"
 USE_AD="1"

IG_TCP_CPORTS satırını bulup aşağıdaki şekilde değiştiriyoruz .
IG_TCP_CPORTS="20,21,22,25,26,53,80,110,143,443,465,993,995,2082,2083,2086,2087,2095,2096"
 olarak değiştiriyoruz.

IG_UDP_CPORTS satırını bulup aşağıdaki şekilde değiştiriyoruz.

IG_UDP_CPORTS="21,53,873"

 EFG satırını buluyoruz EGF="0" olan değeri EGF="1" olarak değiştiriyoruz

 EG_TCP_CPORTS satırını buluyoruz , aşağıdaki şekilde değiştiriyoruz.

  EG_TCP_CPORTS="21,22,25,26,27,37,43,53,80,110,113,443,465,873,2089"

 EG_UDP_CPORTS satırını buluyoruz , aşağıdaki şekilde değiştiriyoruz.

 EG_UDP_CPORTS="20,21,37,53,873"

Ayar dosyasını kaydedip çıkabilirsiniz.

Diğer paneller için örneklemeler

Ayar dosyası ile işimiz bitti dosyayı kaydedip çıkıyoruz.Diğer kontrol paneli yazılımları için yapıcağınız değişiklikler de bunlardır.

  —-Ensim ( hala kullanan kaldı mı :) —–
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,19638"
IG_UDP_CPORTS="53"

EGF="1"
EG_TCP_CPORTS="21,22,25,53,80,110,443"
EG_UDP_CPORTS="20,21,53"

—-Plesk 7x,8x—–

IG_TCP_CPORTS="20,21,22,25,53,80,110,143,443,465,993,995,8443"
IG_UDP_CPORTS="37,53,873"

EGF="1"
EG_TCP_CPORTS="20,21,22,25,53,37,43,80,113,443,465,873"
EG_UDP_CPORTS="53,873"

—- Directadmin —–

IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2222,8000,8050,8005,3784"
IG_UDP_CPORTS="21,53,8000,8050,8005,3784"

EGF="1"
EG_TCP_CPORTS="21,22,25,37,43,53,80,443,8000,8050,8005,3784"

EG_UDP_CPORTS="20,21,53,8000,8050,8005,3784"

Kaydettikten sonra ;

apf -r ile apf’yi restart edebilirsiniz. Bu durumda SSH ‘ı kapatıp yeni bir SSH açın , eğer girebiliyorsanız işlemleri doğru yaptınız demektedir. Fakat giremiyorsanız bir yerde ayarlamalarında yanlış bir girdi yaptınız demektir.

Başarılı şekilde girdiyseniz ;

pico /etc/apf/conf.apf

DEVM="1" olan kısımı bulup DEVM="0" değiştiriyorsunuz.

İşlem bitti :)

Yine apf -r ile apf’yi restart ediyoruz.   

swap alanı eklemek

Neden swap alanı ekleyim ki sorularınızı duyar gibiyim . Bazı datacenterlarda kurulumu çok iyi bilen arkadaşlar ! swap alanlarını küçük tutuyorlar. Aslında kurulum yaparken her zaman Swap alanını fiziksel ram tutarının 2 katı kadar yapmakta fayda var. Sonuçta bir swap alanına ihtiyaç duyarsanız yada varolan swap’ınız az geliyorsa aşağıdaki gibi swap alanı ekleyebilirsiniz.

free -m komutuyla sunucunuzda ne kadar RAM var görebilirsiniz.

dd if=/dev/zero of=/usr/swap-file bs=1024 count=2048000
mkswap /usr/swap-file
swapon /usr/swap-file
swapon -s

Şimdi /etc/fstab alanına gerekli alanı ekleyelim .

nano -w /etc/fstab yada vi /etc/fstab

/usr/swap-file swap swap defaults 0 0

satırın sonuna ekleyin .

İşlem bitti

Windows 2003 üzerine PHP kurmak

En çok sorulan soruların başında geliyor , Windows 2003′e PHP nasıl kurabilir diye ? Küçük bir NASIL hazırladım , işinize yarayacağını sanıyorum .

  • Öncelikle PHP.NET ‘ten son sürüm php dosyalarını download edin.
  • Tüm dosyaları C:\PHP dizininde açın
  • c:\PHP dizinin içindeki DLLS folderındaki tüm dosyaları C:\Windows\System32 folderı içine kopyalayın
  • c:\PHP dizini çindeki SAPI folderınındaki tüm dosyaları C:\Windows\System32 folderı içine kopyalayın
  • C:\PHP içindeki php.ini dosyasını c:\WINDOWS\php.ini olarak kopyalayın
  • IIS ( Interner Information Server ) ‘ı açın . ( Administrator tools altından )
  • Web Servis Extension’a tıklayıp , Add ( ekle )’ye tıklayın.
  • Extension adını PHP olarak ayarlayın
  • Kurulucak path’i C:\windows\syste32\php3isapi.dll olarak ayarlayın
  • Status ( durum ) Allow olarak ayarlayın
  • Web Sites yazan yere sağ tuşla tıklayıp Properties sekmesine gelin.
  • Home Directory tabını seçip aşağıdaki Configuration linkine tıklayın.
  • Add ‘e basıp C:\Windows\System32\php4isapi.dll ‘i path olarak gösterin extension adını .php yapın ve Verify that file exists yazan yerin tickini  kaldırın.
  • Ok’e tıklayın. Çıkan menüde All Sites ‘e tıklayıp OK’e tıklayın.
  • Servislerden IIS’i restart edin yada makinayı yeniden başlatın.

Kurulumunuz bitti . Şu anda php’yi problemsiz olarak çalıştırabilirsiniz.

CSF Firewall Kurulumu

CSF - Config Server Firewall terimlerinin kısaltmasından gelmektedir. Genel mantığıyla Statefull paket koruması , giriş ve saldırı tesbiti ve koruması sağlamaktadır. CSF VPS ve Linux dedicated serverlarda , özellikle cPanel kurulu sunucularda kullanılmaktadır.

CSF kısa bir mantıkla bir firewall ( ateş duvarıdır ) CSF ile linux sunucunuzun portlarına erişimi kısatlayıp açabilir , bazı IP adreslerinin erişim yapmasını bazılarının da kısıtlamasını yapabilirsiniz. Sunucuya giriş yapılan IP adreslerinin loglamasını yapar , uygunsuz durum oluşturan IP adreslerini bloklar.

CSF hakkında daha fazla bilgi almak isterseniz tıklayın ….

Eğer sunucu üzerinde APF yada farklı bir firewall ( ateş duvarı ) kullanıyorsanız , CSF bunu otomatik olarak silecektir.

Kurulum adımları :

wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

Eğer sunucunuzda AP+ BFD kurulu ise bunu disable etmeniz gerekecektir.

sh disable_apf_bfd.sh

komutuyla disable edebilirsiniz.

Kurulum aşamasını tamamladık ,  fakat birkaç ayarlama yapmamız gerekiyor .

  • TCP_IN, TCP_OUT, UDP_IN ve UDP_OUT ayarlarını mutlaka csf konfigürasyon dosyasından editleyin
  • csf ve lfd ‘yi restart edin
  • Test işlemlerinizi de bitirdiyseniz TESTING 0 yaparak kurulumu tamamlayın .

Şimdi cPanel/WHM’yi açalım .

ConfigServer Security&Firewall menüsünü sol menüde görüyor olmalısınız. Linki takip ederek aşağıdaki adımları tamamlayın ;

ETH_DEVICE = ethernet kartının adı ( eth0 )
TCP_IN/TCP_OUT/UDP_IN/UDP_OUT = Burada açık kalmasını istediğiniz portları yazıyorsunuz . Bu portlar dışındaki tüm portlar kapalı kalacaktır. Eğer sunucu üzerinde Counter Strike yada türevi oyun serverlarınız var ise portlarını yazmayı unutmayın aksi takdirde sunucularınıza bağlanamazsınız.
MONOLITHIC_KERNEL = 0 ( Bu adımı sadece firewall yazılımı sunucunuzda başlamadıysa 1 yapın , aksi takdirde ellemeyin )
LF_DSHIELD = 0:  Bunu 86400 olarak değiştirin . Bu adımla bilinen atak yapan IP adreslerini otomatik olarak blocklayacaksınız.

Spam Koruma Ayarları
Eğer spam koruması ile ilgili de koruma yapmak istiyorsanız CSF bu konuda da size yardımcı oluyor. Aşağıdaki adımlar ile ayarlamalarını yapabilirsiniz.

LF_SCRIPT_ALERT = 0 ayarını  1 olarak değiştirin . Bu size otomatik olarak saat başı ayarlar ile ilgili bilgi gönderecek ve problemleri iletecektir.

LF_SCRIPT_LIMIT = 100 ayarını 250 olarak değiştirin  . Bu ayarla php scriptlerin anlık olarak en fazla 250 mail atmasına olanak sağlayacaksınız.

Ayarlarınız tamamlandı !!

Ayarlarınız bittikten sonra csf+lfd restart etmeyi unutmayın .

İşlemleri bitirdikten sonra aşağıdaki yazıyı görüyor olmanız gerekmektedir.

csf: TESTING mode is enabled - don’t forget to disable it in the configuration
Starting lfd:[  OK  ]

Click on Return

Tüm testleriniz tamam ise ( apache -httpd- , dns , mysql ve diğer servislerliniz çalışıyor ise ayar dosyasından ;

TESTING = 1 Bunu 0 yaparak işlemi bitirin ve csf+lfd ‘yi yeniden başlatın.

Şu anda güvenli ve kullanılabilir durumda yazılımsal bir firewall( ateş duvarınız ) var.
Firewall Status: Running - WHM içinde bu şekilde görmelisiniz.

Uninstall işlemi ( CSF Kaldırma )
==========================
Csf ve LFD’yi kaldırmak sandığınızdan çok daha basit.

cd /etc/csf
sh uninstall.sh


İyi çalışmalar

web site yapma

Web sitesi yapmak gerçektende sandığınızdan çok daha kolay . İnternette bulabileceğiniz ve bizim de tavsiye edebileceğimiz alan adı kayıtı , hosting ve e-ticaret sistemleri satışı yapan firmalar bulunuyor. Bunlardan alacağınız hizmetler ve kullanacağınız programlar ile çok basit şekilde web sitesi yapabilirsiniz.

Site yapımında kullanılan programlar , Adobe Photoshop , Dreamweaver , Flash , Frontpage ve diğer programlardır .

Konuyla ilgili detaylı açıklamayı yapmayı düşünüyordum fakat bir linux sunucunun bakımını acil olarak yapmam gerektiği için bu mesaja daha sonra devam edebileceğim.

İyi günler …

  • 3 Comments
  • Filed under: Internet
  • ücretsiz hosting

    Bugünlerde çok fazla kişiden ücretsiz ( bedava ) hosting nerden bulabilirim . Bedava site nasıl kurabilirim gibi sorular alıyorum . Her ne kadar bedava yada ücretsiz alınacak hiçbir hizmetin devamlılığının olmayacağını da bilsem en azından işinize yarayabileceğini düşünerek bir kaç ücretsiz hosting sağlayıcısını aşağıda yazıyorum .

    DigitalSpace - 5000 MB Web Alanı , Dedicated IP adresi , Plesk 8.1 Kontrol Paneli

    İleride bu listeyi güncelleyip , ücretsiz hosting sağlayıcıları hakkında daha detaylı bilgi vermeye çalışacağım .
       

  • 1 Comment
  • Filed under: Internet
  • Sitenizi kurdunuz , herşey tamam fakat ;

    Warning: include() [function.include]: URL file-access is disabled in the server configuration 

    hatasıyla karşılaşıyorsanız ;

    php -i |grep php.ini ile php.ini path’ini bulun .

    nano /path/php.ini

    allow_url_fopen = off

    kısmını

    allow_url_fopen = On

    olarak değiştirin .
    /etc/init.d/httpd restart

    deyip işlemi bitirin .

  • 2 Comments
  • Filed under: PHP, Programlama
  • Hemen sıcağı sıcağına yaşanmış bir olaydan çıkarttığımız dersleri ve nasıl düzeltebileceğinizi anlatacağım bir makale yazıyorum .
    Windows 2003 sunuzunuza bir gün restart attınız ( Araştırmalarımda Windows XP ve Windows 2000 ‘de yaşandığını görüyorum ) Kız gibi çalışan sunucunuzda şöyle bir hata alırsanız ;

    Windows NT ( 2003 ) could not start because the following file is miising or corrupt.
    <Windows Root>\System32\Ntoskrnl.exe

    Hemen korkmayın , hata genellikle diskte okunamayan bir sektörden yada gerçekten boot’taki bir hatadan kaynaklanıyordur.
    Windows 2003 yada hangi işletim sistemi kuruluyorsa Diske takıp , bilgisayarnızı(sunucunuzu) diskten boot edin .
    Kurulum aşamalarında Recovery Console adımında (R) ‘ye basarak Recovery Console’u açın . ( Burada Klavye seçimi karşınıza gelirse , TR işaretlemeyin , bir kaç denemem TR yüklemede başarısız olduğu için bilgisayar yeniden kilitlendi)

    Recovery Console açıldıktan sonra ;

    chkdsk /r c:

    komutunu verin , diskin boyutuna ve üzerindeki sectorlere göre windows bir tarama yapacak bulduğu ve düzeltebileceği sektörleri otomatik olarak düzeltecektir.

    Bu işlem bittikten sonra ;

    bootcfg /rebuild

    komutunu verin , böylelikle Boot dosyaları Windows’unuza tekrar yazılacaktır.  Bu işlem bittikten sonra bilgisayarı restart ettiğinizde problemsiz olarak Windows’un açılması gerekiyor. ( En azından bizde öyle oldu )

    İyi çalışmalar   

    /usr/bin/ld: cannot find -lltdl

    php ’yi yeniden derlenken böyle bir hatayla karşılaşırsan ( Hemen bilgisayarı kapatıp kaçın  )

    # cd /usr/local/directadmin/customapache/libmcrypt-2.*/libltdl
    # ./configure –enable-ltdl-install
    # make
    # make install
    # make clean

    yaparak önce kur sonra ./build php n ile php yeniden derle , sorun ortadan kalksın .

  • 2 Comments
  • Filed under: Directadmin, PHP