Kategori arşivi: Güvenlik

Linux, Performans, Güvenlik ve Sistem Yöneticisi

Özet

Aşağıda okuyacağınız bilgileri herhangi bir kitapta bulamazsınız, herhangi bir yerde doğru veya yanlış olduğuna dair teyit edecek net bir kaynakla karşılaşamazsınız. Bunlar yıllar içinde edindiğim tecrübelerin basit bir şekilde yazıya dökülmüş ham halleridir. Burada yazılanları uygulayıp/uygulamamak tamamen sizin inisiyatifinizdedir.

Bir sunucudan yüksek performans sağlamasını istemek sıradan bir beklentidir. Ancak bu beklentimizi sağlaması için sunucuyu yeterince optimize ediyor muyuz? Benzer şekilde “Linux nasılsa güvenli” diye düşünerek sunucuyu savunmasız bırakmanın yüksek ihtimalle karşılacağımız felaketlere davetiye çıkartmak olduğunun bilincinde miyiz?.

Bu yazımda da komutlardan ziyade mantıksal konular üzerinde durup performans arttırımı ve güvenlik için bir bilinç oluşturmaya çalışacağım. Sunucudan verebileceği tam performansı veya ona yakın olasılıkları almak için neler yapmalıyız kısaca bunlara değineceğim. Linux, Performans, Güvenlik ve Sistem Yöneticisi yazısına devam et

Sistem Yöneticisi Olmak!

Gün geçmiyor ki yeni bir hacker filmi-dizisi çıkmasın. Son yılların trendi hacker olmak, dolayısıyla TV ekranlarına yansımasını çok normal buluyorum. Kötü olan yanı ise berbat senaryoları, aptalca hacking sahneleri, gerçeklikten çok uzaklaşmış olmaları. Bu tip filmleri artık neredeyse Sci-Fi kategorisine  sokabiliriz çünkü çoğumuzun bildiği üzere gerçeklik kavramını yitirmiş durumdalar. Nadiren güzel yapımlar çıkıp heyecanlanmama sebep olabiliyorlar, örneğin Mr.Robot… Eleştirilebilecek bir çok yanı olmasına rağmen bugüne kadar gördüğüm en iyi Hacker/Hacking dizisi diyebilirim. Günlük hayatta kullandığım bir çok komutun/ekranın senaryoda yer alması ve gerçekliğe son derece yakın olması benim ilgimi çeken ve övgümü alan başlıca kısımlarıdır. Her ne kadar Hacking methodları biraz geride kalmış olsa da diziyi son derece gerçekçi buluyorum fakat bu nasıl bir tezattır ki dizinin kahramanı gerçeklikten son derece uzak durumda 🙂 Dizide ilgimi çeken başka bir konuda Sistem/Güvenlik Yöneticileri’nden oluşan şirketlerin varlığı. Aslında hemen hemen her sistem yöneticisi piyasada danışmanlık ve destek hizmetleri vermiştir. Fakat sadece sistem yöneticilerinden oluşan bir şirketin varlığını düşünmek bile çok hoş. Öte yandan yapılan işi standartlaştırmış olması da yaratıcılığı öldürebileceği gibi yakın süreçte bir takım aksaklıklar ortaya çıkartacağı ve kötü niyetli insanlara karşı sistemini koruma işinde hatalar yapılacağınım belirtisidir.

Birçoklarına göre bilgisayar ile geçirilen vakit iyi bir sistem/network adamı olmak ile doğru orantılıdır, bana kalırsa bilgisayar ile yatıp bilgisayar ile kalkmak, yani “asosyal” olmanın işimizle hiçbir alakası yok. Dizide de Eliot karakteri asosyalliğin üst sınırlarını zorlamanın yanı sıra bir kaç ağır psikolojik rahatsızlığa sahiptir. Ve şirketin en iyi personeli odur, çünkü sürekli bilgisayarı ile beraberdir, öte yandan diğer karakterler normal insanlar gibi yaşadıklarından hiçbir zaman Eliot kadar iyi olamayacaklardır! Asosyallik ile dahiliği de karıştıran bu güruh için söylenebilecek sözler belirli aslında; Eğer topla yatıp kalkan Tsubasa gerçek olsaydı belki bu söylediğiniz gerçek olurdu.

Bu ütopik ortamdan çıkalım gerçek hayatta neler oluyor, biraz da buna bakalım isterim.

Linux, bilinenin aksine çok güvenli bir işletim sistemi değildir. Herhangi bir işletim sistemini daha güvenli hale getiren o sistemin yöneticisidir. Hepimizin hemfikir olduğunu düşündüğüm “Hacklenemeyecek sistem yoktur” düsturu ile sistem yöneticisinin sürekli kendini ve sistemlerini yenilemesi, kontrol altında tutması ve takip etmesi çok önemlidir.   Mükemmel sistemi yarattığınızı hayal edin, dünyanın bilinen tüm ünlü isimlerinden de %100 güvenlidir teyidini aldığınızı farz edin(imkansız), tebrikler başardınız. Fakat unutmayın hedefinize ulaştığınız andan itibaren artık daha büyük bir hedefsiniz. Yani faydadan çok zararı olacağı kesin.

Daha güvenli bir sistem oluşturmak için bir çok teknik ayrıntımız mevcut fakat birde literatürümüz var;

Daha güvenli bir sistem oluşturmanın başında gelen kurallardan biri de sessiz olmaktır. Mümkün olduğu kadar sunucularınızı, yaptığınız işleri, çevirdiğiniz trafiği saklayın. Ne kadar iyi bir güvenlikçi olursanız olun insanlara ulu orta meydan okumayın! Sonunun çok kötü bittiğini gördüğümüz bir kaç hikaye mevcut 🙂

Nereye, hangi konuma, hangi firmaya geldiğinizin bir önemi yok, burnunuzu büyütüp rutin kontrolleri atlarsanız sonunuz yine çok iyi olmayacaktır.

Hepsinden önemlisi amatör olmak bir sistemcinin en önemli vasfıdır. Amatör ruhunuzu kaybetmeyin ve bunu; güçleriyle, paralarıyla almalarına izin vermeyin! Bir amatör gibi düşünmeyi bıraktığınızda artık sisteminizi çok iyi koruyamayacaksınız. Bunu sakın unutmayın! 9-6 kafasına giren sistemci çok kısa sürede topu diker, düşman uyumuyor unutmayın! Parisa ablamızın, sevgi pıtırcığımızın, baş tacımızın dediğini unutmayın; Dont be evil.. but do know  evil….

Gündelik yoğunluklar arasında prensiplerinizden taviz vermeyin, prensibinizi çiğnemeniz için size baskı yapıp size zorluk çıkartan adam, sizin prensibinizi çiğnemenizden doğacak ilk problemde sizi eleştirme densizliğinden geri kalmayacaktır.

İnsanlar ne söylerse söylesin, risk almaktan çekinmeyin, ha bir de fikirlerinizi ulu orta söylemeyin. Sizin fikrinizi kendi fikri gibi lanse etmeye meraklı canlı türleri biyoloji kitaplarına girdiler!

Sunucularınıza başkalarının müdahale etmesine izin vermeyin, bir sunucuya ne kadar çok adam girerse o kadar çok sorun çıkar, sadece kendi ekibinizin sunucuya erişmesine müsaade edin.

Bunlar olmadı mı ne olur derseniz, Kaos olur, gözyaşı sel olur, arkandan gülen bol olur..

Sevgiler,

fd

 

 

 

 

Fail2Ban ile Roundcube Girişlerini Denetleme ve Kontrol

Fail2ban ile dovecot ve sasl giriş denemelerini hali hazırda denetleyen bir sistemim mevcut, yakın zamanda bu sisteme web arayüzü entegre ettim.
Seçtiğim sistem RoundCube idi. Roundecube üzerinden şifre denemelerini engellemek için fail2ban’a bir kaç ekleme yaptım;

/etc/fail2ban/filters.d/roundcube.conf dosyasını açın ve şunları yapıştırın; (dosyada sadece bu bilgiler yer alsın)

[Definition]
failregex = Login failed for .*. from
ignoreregex =

Dosyayı kaydedip çıkın.

/etc/fail2ban/jail.conf dosyasını açın en alta şunları ekleyin;

[roundcube]
enabled = true
port = http,https
filter = roundcube
logpath = /var/www/webmail/logs/errors
maxretry = 2

Burada düzenlemeniz gereken en önemli ayrıntı logpath‘tir. Kendi sisteminizde roundcube nerede kurulu ise o pathi veriniz.
maxretry seçeneğini de biraz daha genişletebilirsiniz.

Dosyayı kaydedin ve çıkış yaptıktan sonra fail2ban’ı yeniden çalıştırın;
/etc/init.d/fail2ban restart

Şimdi fail2ban loglarına bakalım ve roundecube aktif mi görelim;

tail -f /var/log/fail2ban.log

2012-01-18 11:56:26,155 fail2ban.filter : INFO Added logfile = /var/www/webmail/logs/errors
2012-01-18 11:56:26,155 fail2ban.filter : INFO Set maxRetry = 2
2012-01-18 11:56:26,157 fail2ban.filter : INFO Set findtime = 600
2012-01-18 11:56:26,157 fail2ban.actions: INFO Set banTime = 600
2012-01-18 11:56:26,163 fail2ban.jail : INFO Jail 'dovecot' started
2012-01-18 11:56:26,170 fail2ban.jail : INFO Jail 'ssh' started
2012-01-18 11:56:26,177 fail2ban.jail : INFO Jail 'sasl' started
2012-01-18 11:56:26,180 fail2ban.jail : INFO Jail 'roundcube' started

Süper, şimdi test etmemiz gerekiyor. Bunun için 600 sn banlanmayı göze alacağız veya alakasız bir baska bilgisayar
üzerinden bu testi yapacağız.
Webmaili açtık ve iki kez ard arda yanlış şifre girdik. Hemen fail2ban'ı kontrol edelim;

tail -f /var/log/fail2ban.log

2012-01-18 11:31:12,607 fail2ban.filter : WARNING Unable to find a corresponding IP address for 192.168.2.2.

Log dosyasında böyle bir hata ile karşılaşacaksınız, bu hatanın sebebini saatlerce aramanıza gerek yok çünkü çözümü burada;
Öncelikle hatanın sebebini daha net görebilmek için log dosyasından bir satır alalım;

tail -f /var/www/webmail/logs/errors

[18-Jan-2012 11:57:15 +0200]: IMAP Error: Login failed for fikri from 192.168.2.2. AUTHENTICATE PLAIN: Authentication failed.
in /var/www/webmail/program/include/rcube_imap.php on line 205 (POST /webmail/?_task=login&_action=login)

Evet burada da bariz bir şekilde görüldüğü üzere roundcube ip adresinin sonuna nokta “.” koyuyor. Bu sebeple
fail2ban geçersiz bir ip adresini banlamaya çalışıyor.

Bu hatanın çözümü için kısaca şu işlemi uygulayınız;

pico /var/www/webmail/program/include/rcube_imap.php
ctrl+w tuş kombinasyonu ile failed kelimesini aratınız.
Karşınıza çıkacak şu satırı;

$message = sprintf("Login failed for %s from %s. %s",

şu şekilde değiştiriniz;

$message = sprintf("Login failed for %s from %s %s",

Dosyayı kayıt edip çıkın, yorumlarınızı bekliyorum.