'*nix' Kategori'sine ait arşiv.


IPFIREWALL ve Snort_Inline ile IPS – Part 1: IPFW Kurulumu

Bir kaç gündür IPFW ve Snort_Inline ile oluşan open source bir IPS sistemini devreye almak için uğraşıyordum. Bu iki bölümlük yazıda kurulumun nasıl yapıldığı ve konfigurasyonlarla ilgili notları paylaşacağım. Siz de networkünüzde IPS olarak IPFW/Snort_Inline ikilisinden yararlanmak isterseniz belki bu döküman işinize yarayabilir.

Zira binlerce dolar ödeyip karşılığında alacağınız bir hardware IPS yerine hiç bir ücret ödemeden bir IPS sistemine sahip olmak cazip bir seçenek olabilir. Kaldıki Snort’un sektörde artık bir standart haline gelmiş olması kafanızdaki şüpheleri ortadan kaldırabilir

Önce IPFIREWALL.

IPFIREWALL NEDİR ?


Namı diğer IPFW, FreeBSD tarafından geliştirilen hem Stateless hem de Statefull firewall mimarisini üzerinde barındıran güzel bir ip tabanlı firewall yazılımıdır. Ayrıca, traffic shaping, transparent forwarding ile NAT ve PATgibi özellikler sağlar. Bu özellikler ile ilgili detayli bilgiyi, dökümanın “ipfw komutları” bölümünde bulabilirsiniz. Öncelikle nasıl kurulduğuna değineceğim.

NASIL KURULUR


Aslında IPFW, FreeBSD ile birlikte loadable module olarak geldiği için NAT uygulaması kullanmak istemeniz haricinde ekstradan herhangi bir kuruluma ihtiyaç duymazsınız. Açılışta firewall’un devreye girmesi için rc.conf dosyasına aşağıdaki satırı girmeniz yeterlidir.

firewall_enable="YES"

Ancak NAT kullanmak istemeniz durumunda (ki snort_inline için gerekmektedir.) kernelinize options IPDIVERT satırını eklemeniz ve yeniden derlemeniz gerekmektedir. Kernelinizi yeniden nasıl derleyebileceğiniz ile ilgili bilgiye, daha önce yazmış olduğum Custom Kernel dökümanından ulaşabilirsiniz.

NAT dışında gerekli olmasa da bilgi olması açısından IPFW’nin kernel opsiyonları şu şekilde.

Yazinin devami icin tiklayin.


Portsnap ile Süratli Ports Collection Güncellemesi.

Portsnap, FreeBSD’lerde port kurulumu ve güncellemesi için hızlı bir alternatif sunan güzel bir sistem. Ben genelde alışkanlıklarım nedeni ile bu işler için cvsup kullanan ve portsnap’a pek dokunmayan biriyimdir. Ancak bazı zamanlarda alışkanlıkların dışına çıkmak ve zaman kazanmak gerekebilir. İşte bu noktada portsnap tam da aradığınız bir yöntem olabilir.

Portsnap kısaca, FreeBSD ports collection’unun güvenli bir şekilde yayınlanmasını sağlayan bir sistem. Bu yöntem ile önceden oluşturulmuş güncel bir port ağacına ait snapshot’ı HTTP üzerinden sisteminize indirip kurabiliyorsunuz; ya da daha önceden kurulmuş port ağacını güncelleyebiliyorsunuz.

Kurulum ve kullanım:


Portsnap FreeBSD 6.0 ve daha yeni sürümlerde default olarak gelmektedir. Yani bu sürümleri kullanıyorsanız portsnap kurulumu yapmanıza gerek yok. Ben genelde 6.0 ve üzeri sürümleri kullandığım için portsnap kurulumuna detaylı bir şekilde değinmeyeceğim. Ancak eğer sisteminizde ports yüklü durumdaysa, /usr/ports/sysutils/ dizini altında portsnap ‘ı bulabilirsiniz. Bu dizinde make install clean demeniz kurulum için yeterli olur. Eğer FreeBSD’nin 6.0 öncesi bir sürümünü kullanıyorsanız ve ports sisteminizde yüklü değilse CD’den ports kurulumu için http://www.syslogs.org/2007/12/freebsd-62-kurulumu-part-v-ports-collection/ sayfasından yararlanabilirsiniz.

Portsnap’ın /etc/ dizini altında portsnap.conf isimli küçük bir configuration dosyası var. Aslen bu dosyada herhangi bir düzenleme yapmanıza gerek yok; default değerler ile sorunsuz çalışacaktır.

Yazinin devami icin tiklayin.


Webmin – Web-Based Unix Management

Genellikle işin kolayına kaçmayı seven ve "İşimi görsün de gerisi önemli değil." şeklindeki yaygın bakış açısından kaçınan bir insanımdır. Zira yaptığım işle ilgili olarak ne yaptığımın, çalıştırdığım bir uygulamanın görevini yaparken ne yaptığının tam olarak bilincinde olmak isterim. Zannedersem *nix’lere olan ilgim de -açık olmalarından dolayı- bu tutumdan kaynaklanıyor. Webmin

Ancak elbetteki bazı zamanlar istisnai durumlar olabiliyor. İşte Webmin de o istisnai durumlardan biri. Webmin normalde komut satırında ve konfigurasyon dosyalarını manuel olarak editlemek suretiyle yönetimini yaptığınız Unix türevi işletim sistemlerini ve üzerinde çalışan uygulamaları web arayüzlü olarak yönetmenizi sağlayan perl ile yazılmış bir araç. Hemen hemen her türlü yönetim faliyetini destekliyor olması nedeniyle de oldukça gelişmiş bir yazılım.

Her ne kadar bu tip daha az efor ve daha az bilgi ile işleri halleden araçlar insanı köreltse de bazı zamanlarda ve bazı uygulamalar için faydalı olabiliyor. (Daha az efor iyi bir şey olabilir ama bence daha az bilgi gerektirmesi, insanın daha fazlasını öğrenmek istemesinin nedenlerini törpüleyen bir durumdur.)

Neyse, bu kullanışlı ama alışkanlık haline getirilmemesi gereken yazılımı kurmak için öncelikli olarak sisteminizde Perl 5’in kurulu olması gerekiyor.

FreeBSD için kaynaktan kurulum adımları şöyle:

Webmin’i download edin.

# fetch http://prdownloads.sourceforge.net/webadmin/webmin-1.420.tar.gz (12MB)

Yazinin devami icin tiklayin.


The UNIX-HATERS Handbook

UNIX-HATERS isimli bir mailing liste gönderilen mesajlardan derlenerek 1994 yılında piyasaya sürülmüş böyle bir kitap var. Her ne kadar ben bir Unix sever olsam da ve kitapta Unix işletim sistemlerinin boktan yanları olarak lanse edilmiş bir çok konu artık tarih olmuş olsa da, mizahi içeriği nedeni ile okunabilecek bir kitap.

"There are two major products that come out of Berkeley: LSD and UNIX.
We don’t believe this to be a coincidence."
– Jeremy S. Anderson

Kitapla ilgili geniş bilgi ve kitabın PDF halini download etmek için http://en.wikipedia.org/wiki/UNIX-HATERS_Handbook adresine bakabilirsiniz.

Ayrıca, birileri WINDOWS-HATERS isimli bir mailing list kursa eğlencelik epey malzeme çıkar diyorum ben.


Mysql – Backup to FTP (PHP Script)

Bir mysql sunucusundan mysqldump ile backup alıp ftp üzerinden uzaktaki bir sunucuya gönderen güzel bir php script.

İçeriği aşağıdaki gibi olan bu scripti kendi sisteminize göre düzenledikten sonra cron job olarak tanımlayabilirsiniz. Böylece periyodik olarak alınan backupları istediğiniz bir lokasyonda muhafaza edebilirsiniz.

Gerekenler

PHP
Bir FTP Hesabı
ve son olarak MYSQL

Uygulanışı

1 – Aşağıdaki script içeriğini serverınızda oluşturacağınız backuptoftp.php isimli bir dosyaya kopyalayın.

Yazinin devami icin tiklayin.


FreeBSD – IP Aliases

FreeBSD sistemlerde, aynı ethernet arayüzü üzerine ikinci bir ip eklemek istemeniz durumunda ifconfig aracından yararlanarak IP alias tanımlaması yapabilirsiniz.

Sisteme İkinci IP’nin Eklenmesi


Örnek olarak 192.168.12.5 ip adresini sisteme alias olarak tanımlamak için aşağıdaki komutu kullanabilirsiniz.

 # ifconfig bge0 192.168.12.5 netmask 0xffffffff alias

Bu komutla birlikte bahsi geçen ip adresi NIC’e alias olarak atanacaktır. Ancak bu yapılandırmanın kalıcı olması için /etc/rc.conf dosyasına da ekleme yapmak gerekmektedir. Aksi taktirde FreeBSD reboot edildiği zaman ilgili değişiklik uçacaktır.

İşte /etc/rc.conf satırına eklenecek satır:

ifconfig_bge0_alias0="192.168.12.5 netmask 0xffffffff"

Bu ayarlardan sonra ifconfig çıktınız şöyle görünecektir.

bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
            options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
            inet6 fe80::99d:92fs:te99:3e1e%bge0 prefixlen 64 scopeid 0x1
            inet 192.168.12.4 netmask 0xffffff00 broadcast 192.168.12.255
            inet 192.168.12.5 netmask 0xffffffff broadcast 192.168.12.5
            ether 00:3c:92:01:4e:3d
            media: Ethernet autoselect (1000baseTX <full-duplex>)
            status: active

Not: Örnek komut satırında geçen bge0 benim ethernet kartımın kısa kodu olduğundan dolayı, bu kısıma kendi ethernet markanızın kısa kodunu girmeniz gerekiyor.

Ayrıca; komut içerisinde verdiğiniz netmaskın çakışmaya neden olmaması için ana ip adresinde belirtilmiş netmask ile aynı olmaması gerekiyor. Bu nedenle 0xffffffff veriyoruz. ilgili ifconfig8 man dosyasında alias konusundaki açıklama:

alias  Establish an additional network address for this interface. This
            is sometimes useful when changing network numbers, and one wishes
            to accept packets addressed to the old interface.If the address
            is on the same subnet as the first network address for this
            interface, a non-conflicting netmask must be given. Usually
            0xffffffff is most appropriate.

Varolan IP Alias’ın Sistemden Kaldırılması


Sisteme hali hazırda eklenmiş olan bir ip alias’ı kaldırmak için aşağıdaki ifconfig komutu iş görecektir.

 # ifconfig bge0 inet 192.168.12.5 -alias

Aynı zamanda /etc/rc.conf satırından da ilgili alias satırını silmeyi unutmayın.


Firefox add-on: Nagios Checker

Nagios serverınızdan çektiği veriyi parse etmek suretiyle, herhangi bir servis/host check alarmını Nagios Web Interface’inin açık olmasına gerek kalmaksızın görmenize yarayan bir status bar eklentisi. 

Problem sırasında verdiği sesli ve görüntülü alarmlar çok işe yarıyor.

bkz: http://addons.mozilla.org/en-US/firefox/addon/3607


Php Upload File Size

Web tabanlı bir php uygulaması ile servera büyük ebatlı dosyalar upload etmek için php.ini’de default 2M olarak belirlenmiş olan upload_max_filesize ve post_max_size değerlerini arttırmanız gerekiyor.

Ancak web üzerinden yapılan upload işlemlerinde, upload edilen veri öncelikle Memory’e yazıldığı için bu değerleri çok arttırmanız durumunda sunucunuzda yeterli memory kalmamasına neden olabilirsiniz. Dolayısı ile bu değerleri girerken, ram miktarı ve sunucunun kullandığı memory miktarını göz önünde bulundurmakta fayda var. Yeni değerleri php.ini’ye girdiğiniz zaman apache’yi restart etmeniz gerekiyor.

« Onceki SayfaSonraki Sayfa »