Ana Sayfa » *nix » ELS – Easy Linux Security Script

ELS – Easy Linux Security Script


BerbatKötüİdare EderGüzelHarika (Toplam 2 oy. 5 puan üzerinden ortalama 5,00 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

ELS (Easy ), sunucularda bazı güvenlik ve optimizasyon ayarlarını otomatik olarak yapmaya olanak sağlayan güzel bir shell scriptidir.  Bu script, normalde manuel olarak yapabileceğiniz bir çok ve optimization ayarını, tek bir komut ile sizin yerinize kolayca gerçekleştirebiliyor.

Kurulumu ve kullanımı bir hayli kolay olan ELS’yi aşağıdaki dağıtımlarında kullanabiliyorsunuz.

Desteklenen OS’ler

  • Red Hat Linux
  • Red Hat Enterprise Linux
  • Fedora Core
  • CentOS
  • Debian

Scriptin yaptığı işlemlerin bazıları şu şekilde:

İşlem Listesi :

  1. RKHunter Kurulumu.
  2. RKHunter için bir cronjob oluşturmak ve gece e-mail ile durum bildirimi.
  3. APF Kurulumu / Update Edilmesi.
  4. BFD Kurulumu / Update Edilmesi.
  5. CHKROOTKIT Kurulumu.
  6. CHKROOTKIT için cronjob oluşturmak ve gece e-mail ile durum bildirimi.
  7. Telnet’in devre dışı bırakılması.
  8. SSH2 Protokolunun kullanılmasına zorlamak.
  9. /tmp dizinini nosuid, noexec parametreleri ile mount etmek.
  10. /var/tmp dizinini nosuid ve noexec parametreleri ile mount etmek.
  11. /dev/shm dizinini nosuid ve noexec parametreleri ile mount etmek.
  12. Zend Optimizer Kurulumu / Update Edilmesi.
  13. eAccelerator Kurulumu / Update Edilmesi.
  14. MySQL 4.1 ve 5.0 için Yapılandırma Optimizasyonu.
  15. MySQL’in 5.0’a upgrade’i.
  16. SSH’ın portunun değiştirilmesi.
  17. SSH üzerinden direk root login’in disable edilmesi ve wheel user eklenmesi.
  18. MySQL tablolarının optimize edilmesi.
  19. LibSafe Kurulumu / Update edilmesi.
  20. ImageMagick Kurulumu / Update edilmesi.
  21. Harden sysctl.conf

ELS’yi aşağıdaki şekilde kurabilirsiniz.

wget -O installer.sh http://els.web4host.net/installer.sh; chmod +x installer.sh; sh installer.sh

Yapılabilecek tüm işlemlerin listesi için aşağıdaki komutu kullanabilirsiniz.

# els --help

Tüm işlemlerin uygulanması için:

# els --all

komutunu çalıştırabilirsiniz.

Warning UYARI: Özellikle, /tmp /var/tmp ve /dev/shm dizinleri/partisyonları için yapılacak güvenlik ayarlarında /etc/fstab dosyası editlenmekte ve gerekli satırlar eklenmektedir. Bu, işlerin ters gitmesi durumunda oldukca, tehlikeli bir uygulamadır. Bu konuya dikkat etmenizi öneririm

Birden fazla sunucunuz varsa ve güvenlik ayarlamaları ile tek tek uğraşmak istemiyorsanız bu scriptten yararlanabilirsiniz. Scriptin güncel sürümlerini de takip etmenizi tavsiye ederim.

Kaynaklar:
http://www.web4host.net/forum/viewthread.php?tid=2
http://servermonkeys.com/projects/els/
http://directadmin.com/forum/showthread.php?t=17070&page=23

Kategoriler: *nix,ipucu,Scripts,Security |

Bu yazılar da ilginizi çekebilir:


- CentOS NFS Server ve Client Yapılandırması
- Linux 101 Hacks – Ücretsiz eKitap
- Dstat ile Efektif Sistem Monitoring
- Backtrack 4 Üzerine Nessus Kurulumu
- Phishing – Western Union

Yorumlar


  1. alican | (Ocak 20th, 2010 1:55 am)

    Merhaba
    ELS yi nasıl kaldırabilirim?
    Teşekkürler.
    Alican.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Merhaba,

    ELS’nin kurulum dizini /usr/local/els/ dir. Yani o dizini silerseniz ELS’de sistemden kaldirilmis olur.

    Şu komutlarla yapilabilir.

    # rm -rf /usr/local/els/
    # rm -rf /usr/local/bin/els

    Sonuçta ELS shell scriptlerinden oluştuğu için bu scriptleri silmeniz kaldırmak için yeterli olacaktır.

    [Cevapla]

  2. alican | (Ocak 20th, 2010 7:46 pm)

    Tabi rm -rf ile silebiliriz. Ancak install falan yaptıgımızda, farklı yerlere farklı dosyalar da kurulmuyor mu?

    Ayrıca bu scripti seçmemde ki amaç, olumlu bir MySQL optimizasyonu yaptırmaktı.
    Ancak script önceden belirlenmis bir conf dosyasını cekmekten fazla birsey yapmıyor.

    Bu bağlamda my.cnf optimizasyonu önerileriniz nedir?
    Şöyle olursa böyle olabilir gibi açıklamalı bir kaynak yok sanırım.

    Alican.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Yok silmeniz yeterli.

    Mysql optimizasyon konusu sunucunuzun sistem kaynakları ile doğru orantılı olduğu için tam olarak şunları şunları yapın diyemem. Ama aşağıdaki linkte performans için sunucunuza göre düzenlenebilecek değerler var. (Örnek olarak MyISAM engine kullanıyorsanız key_buffer_size değerinin ne olması gerektiği vs.)

    http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/

    [Cevapla]

    alican tarafından yanıtlandı.

    Merhaba,
    Kaynak için teşekkürler.
    Ekstra dan sormam gerekirse, şu özellikler için şunlar makuldur tarzı öneriler bulunan bir yer var mı?

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Verdiğim sitede o tip konular için bol bol öneride bulunmuşlar.

    Bir de türkçe bir iki öneride bulunan kaynak isterseniz aşağıdaki linke bir göz atmanızı öneririm.

    http://www.turkwm.com/2008/05/5-dakikada-hzl-mysql-server.html

    [Cevapla]

    alican tarafından yanıtlandı.

    Yanıtlarınız için Teşekkür ederim.
    Daha fazla Türkçe Kaynak ile karşılaşırsanız, bilgilendirin lütfen.

    [Cevapla]

  3. ali degirmen | (Mart 28th, 2010 3:01 am)

    els klasörü kaldırıldığında o listelediğiniz bütün scriptlerde kalkıyor mu e accelerator kalkıyor mu mesela veya mysql update i…

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Hayir eaccelerator binary’leri kaldirilmaz. Sadece els’nin kendisi ile ilgili seyler kaldirilmis olurlar.

    [Cevapla]

  4. Ottoman | (Aralık 15th, 2010 10:14 am)

    merhaba, fedora13 de scripti çalıştırdım ve bilgisayarımırestart ettikten sonra tekrar login olamadım root olarakda gnome ortamında acaba nasıl düzelte bilirim ?

    teşekkürler

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    ELS konsol ve grafikal ortamda root login icin herhangi bir kısıtlama getirmiyor.

    Fedora sistemlerde Grafical root login default olarak disable edilmiş durumda. Nasil etkinleştirebileceğiniz aşağıdaki linke yazıyor.

    http://www.sohailriaz.com/how-to-enable-root-login-at-graphical-in-fedora-13/

    Kolay gelsin.

    [Cevapla]

  5. Serkan | (Aralık 25th, 2010 4:35 pm)

    Merhaba çağrı bey;

    Ben özellikle “els –optimizemysqlconf” özelliğini beğenerek kurdum ancak bununla ilgili bir sorun yaşıyorum. İnceleyip aydınatabilirseniz sevinirim.

    Sorun şu sanırım:”MySQL was not detected.
    Please ensure the MySQL-server RPM package is installed.”

    selamlar…
    =======================

    [email protected] [~]# wget –output-document=installer.sh http://servermonkeys.com/ projects/els/installer.sh
    –2010-12-25 14:44:43– http://servermonkeys.com/projects/els/installer.sh
    Resolving servermonkeys.com… 67.223.239.11
    Connecting to servermonkeys.com|67.223.239.11|:80… connected.
    HTTP request sent, awaiting response… 200 OK
    Length: 2864 (2.8K) [application/x-sh]
    Saving to: `installer.sh’

    100%[======================================>] 2,864 –.-K/s in 0.08s

    2010-12-25 14:44:43 (34.3 KB/s) – `installer.sh’ saved [2864/2864]

    [email protected] [~]# chmod +x installer.sh
    [email protected] [~]# ./installer.sh
    mkdir: cannot create directory `/usr/local/els’: File exists
    mkdir: cannot create directory `/usr/local/els/src’: File exists
    mkdir: cannot create directory `/usr/local/els/bakfiles’: File exists
    Downloading…
    Done.
    MD5 valid.
    Extracting…
    Done.
    ln: creating symbolic link `/usr/local/bin/els’ to `/usr/local/els/els.sh’: File exists

    Easy Linux Security (ELS) successfully installed in /usr/local/els
    Type ‘els –help’ for available options.
    [email protected] [~]# els –optimizemysqlconf

    This feature can secure and optimize your MySQL configuration.
    Proceed? (y/n): y
    Checking MySQL version. This may take a few seconds…
    MySQL was not detected.
    Please ensure the MySQL-server RPM package is installed.
    [email protected] [~]#

    [email protected] [~]# els –optimizemysqlconf

    This feature can secure and optimize your MySQL configuration.
    Proceed? (y/n): y
    Checking MySQL version. This may take a few seconds…
    MySQL was not detected.
    Please ensure the MySQL-server RPM package is installed.
    [email protected] [~]#

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Gorunen o ki, script MySQL sunucusunu algilayamamis. Uygulamayi rpm tabanli (Rhel, CentOS ya da Fedora) gibi bir dağıtımda kullanıyorsunuz değil mi ?
    Zira, scriptin calisabilmesi icin MySQL-Server rpm paketinin kurulu olmasi gerekiyor.

    [Cevapla]

    Serkan tarafından yanıtlandı.

    Uzun zamandır diskte doluluk sorunu yaşıyordum. İlk partition sadece 20GB idi ancak veri tabanım çok büyük olduğu için çok za yer kalmıştı.

    DÜn bu sorunla uğraşırken sayfanızı bulup bu mesajı yazdıktan sonra şu yazınızı gördüm.

    http://www.syslogs.org/mysql-data-dizininin-yerinin-degistirilmesi/

    Bana çok zor görünen bu işi sayenizde çözdüm:)

    Şimdi MySQL home dizininde çalışıyor. Gerçi daha kurulum aşamasında ne olduğunu bilmediğim swap tu sanırım böyle bir bölüme 20 GB vermiştim home da doluyor.

    Device Size Used Available Percent Used Mount Point
    /dev/md1 20G 11G 8.3G 56% /
    /dev/md2 32G 23G 6.9G 77% /home
    /usr/tmpDSK 485M 12M 448M 3% /tmp

    o kısım nedir nerdedir bilgim yok ama herhamde geri gelmez artık:))

    Her neyse mYSQL i taşıdıktan sonra scripti yeniden kurdum ve sorunsuz çalıştı. Fakat dizin yeri filan değiştiği için tam olarak işime yaramadı datadir gibi kısımları yeniden elle düzenlemek zorunda kaldım. Ve benim serverde innodb kullanan scriptler var onalrla ilgili satırlarda silinmişti.

    Sanırım manuel optimize daha uygun olacak benim için.

    Şu iki scripti kullanıyorum;

    ./tuning-primer.sh
    ./mysqltuner.pl

    bazen anlamadığım şeyler oluyor size yazarım:))

    Dün gece MySQL yeniden başlattıktan sonra aşağıdaki sonucu veriyor. Sanırım 24 ya da 48 saat sonra daha iyi değerlendirme yapılabilir.

    ===============

    [email protected] [~]# ./mysqltuner.pl

    >> MySQLTuner 1.0.1 – Major Hayden
    >> Bug reports, feature requests, and downloads at http://mysqltuner.com/
    >> Run with ‘–help’ for additional options and output filtering

    ——– General Statistics ————————————————–
    [–] Skipped version check for MySQLTuner script
    [OK] Currently running supported MySQL version 5.1.51
    [OK] Operating on 64-bit architecture

    ——– Storage Engine Statistics ——————————————-
    [–] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
    [–] Data in MyISAM tables: 2G (Tables: 683)
    [–] Data in InnoDB tables: 42M (Tables: 55)
    [–] Data in MEMORY tables: 14M (Tables: 6)
    [!!] Total fragmented tables: 79

    ——– Performance Metrics ————————————————-
    [–] Up for: 17h 17m 39s (28M q [456.344 qps], 529K conn, TX: 141B, RX: 2B)
    [–] Reads / Writes: 80% / 20%
    [–] Total buffers: 2.0G global + 13.2M per thread (128 max threads)
    [OK] Maximum possible memory usage: 3.6G (30% of installed RAM)
    [OK] Slow queries: 0% (3/28M)
    [OK] Highest usage of available connections: 29% (38/128)
    [OK] Key buffer size / total MyISAM indexes: 1.0G/1.9G
    [OK] Key buffer hit rate: 99.9% (711M cached / 499K reads)
    [OK] Query cache efficiency: 88.3% (23M cached / 26M selects)
    [!!] Query cache prunes per day: 57684
    [OK] Sorts requiring temporary tables: 0% (410 temp sorts / 1M sorts)
    [!!] Joins performed without indexes: 3844
    [!!] Temporary tables created on disk: 32% (208K on disk / 633K total)
    [OK] Thread cache hit rate: 99% (38 created / 529K connections)
    [OK] Table cache hit rate: 78% (936 open / 1K opened)
    [OK] Open file limit used: 9% (1K/16K)
    [OK] Table locks acquired immediately: 99% (6M immediate / 6M locks)
    [OK] InnoDB data size / buffer pool: 42.1M/512.0M

    ——– Recommendations —————————————————–
    General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    MySQL started within last 24 hours – recommendations may be inaccurate
    Enable the slow query log to troubleshoot bad queries
    Adjust your join queries to always utilize indexes
    Temporary table size is already large – reduce result set size
    Reduce your SELECT DISTINCT queries without LIMIT clauses
    Variables to adjust:
    query_cache_size (> 128M)
    join_buffer_size (> 3.0M, or always use indexes with joins)

    [email protected] [~]#

    [Cevapla]

Trackbacks

Yorumda bulunun.