İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Sunucunuzda yapabileceğiniz güvenlik ve optimizasyon ayarları (Başlangıç Seviyesi)

S

sinangunay

Misafir
Merhaba,
Aşağıdaki yazımda elimden geldiğince saldırılara karşı kendinizi nasıl koruyacağınızı ve *NIX sunucunuzu optimize edeceğimizi anlatmaya çalışacağım.

* Sunucunuzda yapacağınız her işlem kendi sorumluluğunuz altındadır.
Kabul ediyorsanız dökümanı uygulamaya başlayabilirsiniz. Doğabilecek her türlü problemde sorumluluk kabul etmeyeceğimi, ancak aynı olayları manage ettiğimiz ve kendi kullandığımız sunucularda kullandığımızı bilmenizi isterim.







A) APF + BFD kurulum.
B) AntiDOS ve Brute Attack korunma ve bildirme yolu (BFD ile)
C) OpenDNS açıklarını kapatmak
D) Çift kademede ile root olma (SSH'da)
E) SIM kurulum ve ayarlama (cPanel için)
F) Birkaç küçük ayar
G) mySQL Optimizasyon (my.conf)
H) Zend Optimizer kurulum (cPanel için)




A) APF + BFD kurulumu
* Sunucumuza root olarak giriş yaptıktan sonra herhangi bir yerde (/root olabilir)
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz komutunu çalıştırarak APF'nin şu anki sürümünü indiriyoruz.

* tar -xvzf apf-current.tar.gz
Komutu ile sıkıştırılmış dosyayı açıyoruz.

* cd apf-0.9.5-1
komutu ile klasöre giriş yapıyoruz (sürüm değişikse klasör adı değişik olabilir)

* ./install.sh
komutu ile kurulumu başlatıyoruz.
-------------------------------------------------------------------
Installing APF 0.9.5-1: Completed.

Installation Details:
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
DShield Client Parser: /etc/apf/extras/dshield/

Other Details:
Listening TCP ports: 1,21,22,25,53,80,110,111,143,443,465,993,995,2082,2083,2086,2087,2095,2096,3306
Listening UDP ports: 53,55880
Note: These ports are not auto-configured; they are simply presented for information purposes. You must manually configure all port options.
----------------------------------------------------------------------

Yukarıdaki yazıyı gördükten sonra, pico /etc/apf/conf.apf komutu ile konfigürasyon dosyasını düzenliyoruz.
USE_DS="0" satırını bulup USE_DS="1" şeklinde değiştiriyoruz. Konfigürasyon dosyasından bu satırları bulup, olduğu gibi değiştirin.

# Common ingress (inbound) TCP ports -3000_3500 = passive port range for Pure FTPD
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2082,2083, 2086,2087, 2095, 2096,3000_3500"
#
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="53"
-----------------------------------------------------------------------

# Egress filtering [0 = Disabled / 1 = Enabled]
EGF="1"

# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,25,80,443,43,2089"
#
# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53"



Daha sonra, CTRL + X tuşlarına basarak Y tuşu ile onaylayıp konfigürasyon dosyasını kaydedin..
/usr/local/sbin/apf -s komutunu çalıştırın, ardından pico /etc/apf/conf.apf komutu ile konfigürasyon dosyasını yeniden düzenlemeye açın. DEVM="1" satırını bulup, DEVM="0" olarak değiştirin..
/usr/local/sbin/apf -r komutu ile APF'yi yeniden başlatın ve firewall'ınız çalışmaya başlasın...

chkconfig --level 2345 apf on komutu ile APF'nizi başlangıca yerleştirin ki her reboot'tan sonra otomatik başlasın.



BFD Kurulumu
* Sunucumuza root olarak giriş yaptıktan sonra herhangi bir yerde (/root olabilir)
wget http://www.rfxnetworks.com/downloads/bfd-current.tar.gz komutunu çalıştırarak BFD'nin şu anki sürümünü indiriyoruz.
tar -xvzf bfd-current.tar.gz
cd bfd-0.7
./install.sh
Komutlarını sırayla çalıştırın, aşağıdaki yazıyı göreceksiniz..

.: BFD installed
Install path: /usr/local/bfd
Config path: /usr/local/bfd/conf.bfd
Executable path: /usr/local/sbin/bfd

Bu yazıyı gördükten sonra konfigürasyon dosyasını düzenlemeye geçiyoruz.
pico /usr/local/bfd/conf.bfd

ALERT_USR="0" satırını bulup ALERT_USR="1" olarak değiştirin.
EMAIL_USR="root" kısmındaki root'u silip mail adresinizi yazın (gmail, hotmail vb adresler kullanmanızı öneririm)
CTRL + X ve Y tuşlarına basarak konfigürasyon dosyasını kaydedin ve /usr/local/sbin/bfd -s komutu ile BFD'yi çalıştırın.


Bu kadar ;)
 
S

sinangunay

Misafir
Devamı 1 saat içerisinde geliyor. Ofis dışında iş çıktıda :)
 
S

sinangunay

Misafir
B) AntiDOS ve Brute Attack korunma ve bildirme yolu (BFD ile)

Brute force'dan korunabilmek için alacağınız basit önlemlerden birkaç tanesi şu şekildedir.

* İlk yazımdaki APF + BFD'yi "mutlaka" kurmalısınız.
* Kullanıcının sisteme giriş deneme sayısını 5-6 kerede tutabilirsiniz
* BFD'nin conf'larından max. limite ulaşan kullanıcıyı banlamasını ayarlayınız.
* Loglara devamlı göz atıp sisteminizi monitor altında tutmalısınız

AntiDOS ve BruteForce için 2 süper programlardan 1 tanesi yukarıda bahsettiğim APF + BFD ( http://rfxnetworks.com/proj.php ) diğeri ise LogWatch ( http://www.logwatch.org/ ) 'tır.

Bahsedilen 2 programda sunucunuzdaki illegal hareketlerde sizi anında uyarır ve sağlam şekilde kuracağınız conf'larla siz makina başında olmasanız bile kullanıcının sisteme erişimini yasaklar..
 
S

sinangunay

Misafir
C) OpenDNS açıklarını kapatmak

Belki ülkemizde DNS'lere saldırılar çok sık rastlanmasada, bizim gibi yurtdışınada iş yapan firmalar veya kişiler var ise bu açığınızı kapatmanızı öneririm. Pek tabii yurtdışında özellikle ruslar ve çinler heking olayında bizden çok çok ileri..

http://www.dnsreport.com/ adresine giderek
(Enter zone name, such as "example.com", not an IP) yazan kısmın üstündeki kutucuğa sunucunuzda bulunan herhangi bir sitenin adresini yazın ve DNS report tuşuna tıklayın.

Eğer, FAIL | Open DNS servers gibi kırmızı arkaplanı olan bir yazı görüyorsanız, tehlikedesinizdir.

Yapmanız gerekenler ise aşağıda sıralamıştır.

* Sunucunuza root olarak giriş yapın
* nano /etc/named.conf komutu ile named konfigürasyon dosyasını düzenleyin
* key "rndckey" {}; satırını bulun ve hemen altına,
acl "trusted" {anaIPadresiniz;ikinciIPadresiniz;127.0.0.1;};
Satırını ekleyin.
* Biraz daha aşağılara inip "options { directory "/var/named";" satırını bulun ve onun hemen bir satır altına şunları ekleyin.
allow-recursion { trusted; };
allow-notify { trusted; };
allow-transfer { trusted; };


* Daha sonra, service named restart komutu ile NAMED servisini yeniden başlatıp ilgili adrese gidin ve yeniden kontrol edin.

Göreceğiniz yanıt, PASS Open DNS servers olacaktır..
 
S

sinangunay

Misafir
D) Çift kademede ile root olma (SSH'da)

Dikkat: bu işlemi yaparken çok dikkatli olun aksi halde root girişinizi kaybedebilirsiniz!!


> cPanel sunucular'da,
* WHM'nize root olarak giriş yapın ve "WHEEL user" linkinden admin kullanıcınızı seçip yetki verin
* pico -w /etc/ssh/sshd_config komutu ile SSH konfigürasyon dosyanızı düzenlemeye açın
* Protocol 2, 1 satırını bulup başındaki # işaretini kaldırın ve
Protocol 2 şeklinde değiştirin.
* PermitRootLogin yes satırını bulup başındaki # işaretini kaldırın ve PermitRootLogin no şeklinde değiştirin.
* CTRL + X tuşlarına basarak dosyayı düzenlediğinizi onaylayın..
* /etc/rc.d/init.d/sshd restart komutu ile SSH servisini yeniden başlatın..




>Diğer Kontrol Panelli Sunucularda,
* SSH'a root ile girin.
* adduser kullanici_adi -G WHEEL komutu ile WHEEL grubuna kullanıcı ekleyin.
* passwd kullanici_adi komutu ile kullanıcının şifresini belirleyin.
* pico -w /etc/ssh/sshd_config komutu ile SSH konfigürasyon dosyanızı düzenlemeye açın
* Protocol 2, 1 satırını bulup başındaki # işaretini kaldırın ve
Protocol 2 şeklinde değiştirin.
* PermitRootLogin yes satırını bulup başındaki # işaretini kaldırın ve PermitRootLogin no şeklinde değiştirin.
* CTRL + X tuşlarına basarak dosyayı düzenlediğinizi onaylayın..
* /etc/rc.d/init.d/sshd restart komutu ile SSH servisini yeniden başlatın..







SSH'dan direk root girişiniz artık kısıtlandı!..
İnsanlar root şifrenizi bilse bile direk ssh ile root olamayacaklardır.
(SSH'a admin kullanıcı adı ve şifresi ile girerek, su yazın ve root şifrenizi girin. Ardından root yetkisine sahip olacaksınız.)
 
S

sinangunay

Misafir
E) SIM kurulum ve ayarlama (cPanel için)

SIM (System Integrity Monitor)

HTTP, FTP, DNS, SSH, MYSQL ve benzeri şeyleri 24 saat çalışmalarını loglar kapanan servisleri otomatik olarak yeniden başlatır apache log boyutu kontrol eder sizin belirleyeceğiniz boyuttaki logların üstündeki loglarda sisteme aşırı yük getirmesini engeller. HTTP üzerinden sürekli apache kilitlimi değil mi kontrol eder yapılacak ayarlara göre sunucunuzu yeniden başlatması veya uyarı maili göndermesini sağlar her sunucuda bulundurmak gereken bir yazılım...

Kurulum;
Kod:
wget http://yadi.sk/d/5Fp4xGryQmzUd
tar -xzvf sim-current.tar.gz
cd sim*
./setup -i

Konsola bunları arka arkaya yazdıktan sonra kurulum sihirbazı size ayarlar için sorular soracak bunlara evet yada hayır şeklinde cevaplar vermeniz bazıları için değerler girmeniz gerekecek. Kendi sunucunuzda çalışan uygulamalara göre kendi ayarlarınızı yapabilirsiniz.

Otomatik çalışsada bazen testler için konsolu kullanabilirsiniz.

  • /usr/local/sbin/sim
  • -c Zaman ve log dosyalarını siler
  • -l Log dosyasını gösterir
  • -s Sunucu durumunu gösterir
  • -u Sim'i upgrade eder
  • -j cron (zamanlanmış görevler) bölümüne ekleme kaldırma için kullanılır
 
S

sinangunay

Misafir
G) mySQL Optimizasyon (my.conf)

Bu MYSQL Optimizasyonu dan sonra MYSQL kullanımı dahada düşecektir.

Öncelikle sunucumuzun SSH bağlanıyoruz.

Kod:
wget http://yadi.sk/d/sr4ottgOQn6E6
chmod 755 mysql_optimizasyon.sh
./mysql_optimizasyon.sh

Komutlarını uyguluyoruz ve kuruluma başlıyor

Kurulum esnasında çıkan evet / hayır sorularına “y” yazıp enterlayınız.
 
S

sinangunay

Misafir
H) Zend Optimizer kurulum (cPanel için)

Burada bulacağınız Zend Optimizer kurulumu cPanel sunucular için geçerlidir.
Diğer kontrol panelli sunucular için, manuel olarak kurulum yapabilirsiniz.
www.zend.com

Başlıyoruz.
* SSH'a root olarak giriş yapın
* /scripts/installzendopt komutunu çalıştırarak Zend kurulumunu başlatın.
* Geçerli ayarları değiştirmeden sorulan herşeyi kabul edin.

Zend Optimizer'ınız kuruldu..
 

Sönmez

0
İyinet Üyesi
Katılım
6 Kasım 2005
Mesajlar
248
Reaction score
0
Konum
Adana
Güzel bir paylaşım olmuş. Tebrikler.

Ddos`a karşı bir önleme benden :) Ne kadar etkili olur garanti veremem ama ben kullandım memnunum.


wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0755 install.sh
./install.sh

Bu işlemi yaptıktan sonra /usr/local/ddos/ddos.conf ("ddos.conf") dosyayı bilgisayarınıza indirin ve kendinize göre düzenleyin.

NO_OF_CONNECTIONS=100
100 bağlantıdan sonra saldırganı banlar.İsteğinize göre değiştirebilirsiniz.
EMAIL_TO="mail adresiniz"
Mail adresinize fazla bağlantı açanları an ve an size mail olarak ulaştırır.
BAN_PERIOD=30
30 Saniyede bir fazla bağlantı açanları banlar.İsteğinize göre değiştirebilirsiniz.

ignore.ip.list ve /sbin/iptables`a chmod 777 verin.

Olay bu kadar..
 

CyberTurk

0
İyinet Üyesi
Katılım
13 Mayıs 2005
Mesajlar
2,232
Reaction score
3
Konum
istanbul
mod_evasive kurulumu (mod_dosevasive)

Servere bağlanın:

cd /usr/local/src
wget http://www.nuclearelephant.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
tar -zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive

apache 2.0.x için:

/usr/sbin/apxs -cia mod_evasive20.c

httpd.conf bu satırları ekleyin

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 6
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>



apache 1.3.x için:

/usr/local/apache/bin/apxs -cia mod_evasive.c

httpd.conf a bu satırları ekleyin

<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 6
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>


apache ye restart atın

/etc/init.d/httpd restart

Orjinal Makale:
http://www.hostgeekz.com/guides/Security/59/Install_mod_evasive.htm
 

DeviLLe

0
İyinet Üyesi
Katılım
13 Kasım 2004
Mesajlar
594
Reaction score
0
arkadaşlar paylaşımlarınız için teşekkürler. ama isterseniz neyin ne işe yaradığı hakkında küçük bilgi yazarsanız bence kuracak olan diğer arkadaşlarımıza yardımcı olabilir.
teşekkürler.
 
S

sinangunay

Misafir
Tabii herkesin ingilizce bildiğini varsayamıyoruz..

Saygılar.
 
C

cappytoi

Misafir
sinangunay' Alıntı:
Tabii herkesin ingilizce bildiğini varsayamıyoruz..

Saygılar.
biri ingilizceden türkçeye bir web sayfası çevirmeni yapsa artık ya da google yapsın arayın söyleyin, bu kadar sayfayı oturup çevirmek zor. ama orada bahsedilen kernel ayarları kendinize göre ayarladığınızda baya işe yarıyor...
 
S

sinangunay

Misafir
cappytoi' Alıntı:
biri ingilizceden türkçeye bir web sayfası çevirmeni yapsa artık ya da google yapsın arayın söyleyin, bu kadar sayfayı oturup çevirmek zor. ama orada bahsedilen kernel ayarları kendinize göre ayarladığınızda baya işe yarıyor...


Merhaba,
zaten çevirmesi zor olduğundan yardımcı olmaya çalışıyorum ya? Mesajın başındada belirttiğim gibi her konuda yardımcı olabilirim elimden geldiğince. Siz şu sorunum var derseniz elimizden geleni paylaşmaya hazırız.

Saygılar.
 

EBilisim

0
İyinet Üyesi
Katılım
23 Şubat 2005
Mesajlar
357
Reaction score
0
Sönmez' Alıntı:
Güzel bir paylaşım olmuş. Tebrikler.

Ddos`a karşı bir önleme benden Ne kadar etkili olur garanti veremem ama ben kullandım memnunum.


wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0755 install.sh
./install.sh

Bu işlemi yaptıktan sonra /usr/local/ddos/ddos.conf ("ddos.conf") dosyayı bilgisayarınıza indirin ve kendinize göre düzenleyin.

NO_OF_CONNECTIONS=100
100 bağlantıdan sonra saldırganı banlar.İsteğinize göre değiştirebilirsiniz.
EMAIL_TO="mail adresiniz"
Mail adresinize fazla bağlantı açanları an ve an size mail olarak ulaştırır.
BAN_PERIOD=30
30 Saniyede bir fazla bağlantı açanları banlar.İsteğinize göre değiştirebilirsiniz.

ignore.ip.list ve /sbin/iptables`a chmod 777 verin.

Olay bu kadar..

Yaklaşık 2 Aydır Kullanıyorum Limiti Yüksek Tutmanızı Öneririm. Çok Güzel Bir Sistem !! Baya iyi Çalışıyor :)
 
M

Makro Servers

Misafir
Sönmez' Alıntı:
Güzel bir paylaşım olmuş. Tebrikler.

Ddos`a karşı bir önleme benden :) Ne kadar etkili olur garanti veremem ama ben kullandım memnunum.


wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0755 install.sh
./install.sh

Bu işlemi yaptıktan sonra /usr/local/ddos/ddos.conf ("ddos.conf") dosyayı bilgisayarınıza indirin ve kendinize göre düzenleyin.

NO_OF_CONNECTIONS=100
100 bağlantıdan sonra saldırganı banlar.İsteğinize göre değiştirebilirsiniz.
EMAIL_TO="mail adresiniz"
Mail adresinize fazla bağlantı açanları an ve an size mail olarak ulaştırır.
BAN_PERIOD=30
30 Saniyede bir fazla bağlantı açanları banlar.İsteğinize göre değiştirebilirsiniz.

ignore.ip.list ve /sbin/iptables`a chmod 777 verin.

Olay bu kadar..

Buda güzel bi önlem yanlız belli bir süre sonra sapıtıyor 117 ,225 gibi numaraları banlıyor mail adresinizi kontrol edin eğer mail de 117 to 117 connections gibi geldiyse ip yi banlıyamıor demektir hatta arada sizide banlıyor açıkçası pek etkili bi yöntem değil.
uninstall etmek için
wget http://www.inetbase.com/scripts/ddos/uninstall.sh
yapın ardından
sh uninstall.sh yapın
bu kadar
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst