Capistrano

Özellikle büyük ölçekli portal yazılımları için ruby kullanılarak geliştirilmiş capistrano isimli güzel bir auto deployment aracı var. Benim de geçenlerde haberim olan bu araçtan biraz bahsetmek istiyorum.

Diyelim ki, büyük ölçekli bir portal yazılımının sistem adminliğini yapıyorsunuz ve günün birinde portalın yeni versiyonu yazılarak uygulamaya konulma aşamasına getirildi ve sistemsel değişikliklerin yapılması için top size atıldı. Ve diyelim ki sisteminiz, içerisinde onlarca ve hatta yüzlerce serverdan oluşan karmaşık bir server farmdan oluşuyor.

Hadi buyrun deployment’a.

Normalde, yeni versiyonun yayına geçirilmesi için sistem tarafında yapılan deployment çalışmaları; web serverlara yeni kodların atılması, sql serverlarda yeni versiyon databaselerinin oluşturulması, eski versiyon datasının yeni versiyon db’sine convert’ü gibi işlerden oluştuğu gibi eski versiyonda olmayan herhangi yeni bir özelliğin devreye alınmasıyla ilgili implementasyonlar, dns kayıtlarında eklemeler, çıkarmalar, smtp altyapısında değişiklikler gibi muhtelif işleri de beraberinde getirebiliyor.

Söz konusu olan sistem bir çok sunucu üzerinde parça parça koşan bir yapı olduğundan dolayı bir sistem admininin böylesi durumlarda epey ter dökeceği aşikardır değil mi ?

İşte Capistrano da, sistem adminleri ter dökmesin, işleri nispeten kolaylaşsın da şu deployment işini kolaycana yapabilsinler diye düşünülmüş bir uygulama.

Yazinin devami icin tiklayin.

Kategori: *nix | (Henüz Yorumlanmamış) |

vi – search and replace komutu

Nix tabanlı herhangi bir serverda, bir text içeriğinde vi ile find and replace yapmak için aşağıdaki komutu kullanabilirsiniz.

:%s/Search_String/Replacement_String 

Mesela içerisinde Armut kelimesi geçen bir text dosyasını vi ile editleyip aşağıdaki komutu verirseniz; tüm Armutlar  Ayva ile replace edilecektir.

:%s/Armut/Ayva

Bu komuta çok fazla işim düşmediğinden ne zaman lazım olsa unutmuş oluyorum. Bu nedenle tarihe not düşeyim dedim .

Daha fazla bilgi için bkz: http://unix.t-a-y-l-o-r.com/VBsr.html

Kategori: *nix,ipucu | (Henüz Yorumlanmamış) |

Memcachedb

Memcached, yüksek performans sağlamaya yönelik olarak geliştirilen ve şu an betası bulunan "Distributed key-value storage system designed for persistent" denilen güzel bir uygulama.

Döküman olması açısından, detaylı bilgi ve güzel bir sunumuna aşağıdaki linklerden erişebilirsiniz.

http://memcachedb.org/
http://memcachedb.org/memcachedb-guide-1.0.pdf

Henüz uygulama şansım olmadı ama belki bir gün deneme fırsatım olursa detaylı Türkçe bir döküman hazırlarım elbet.

Kategori: Genel | (Henüz Yorumlanmamış) |

Bandwidth Monitoring – Bandwidthd

Networkünüzdeki sunucu ya da istemcilerin ne kadar trafik yaptıklarını ip bazlı ve web tabanlı olarak gözlemleyebilmek için kullanılan bandwidthd gerçekten güzel bir yazılım. Bu yazılımı, gateway olarak çalışan bir FreeBSD server üzerine kurup deneme şansım oldu. Sonuç olarak şimdi networkün bantgenişiliğini takip etmek için kendisini kullanıyorum :)

Yazılımın live demo’suna http://bandwidthd.sourceforge.net/demo/ adresinden ulaşabilirsiniz.

FreeBSD için kurulum notları şöyle; (Aslında yazılımı bir çok şekilde kullanmak mümkün; mesela SQL loglama yapabiliyorsunuz. Ancak ben default kurulum yaptım. Kurulum seçenekleri ile ilgili detay README dosyasında mevcut.)

Bandwidthd, çalışabilmek için bazı kütüphanelere ihtiyaç duyuyor. Dolayısı ile kurulumdan önce sisteme bu paketleri yüklemeniz gerekiyor: libpcap, libgl, ve libpng.

Ayrıca, web tabanlı raporlama yaptığı için elbette apache’ye ihtiyaç duyuyor.

Yazinin devami icin tiklayin.

Kategori: *nix | (Henüz Yorumlanmamış) |

IPFIREWALL ve Snort_Inline ile IPS – Part 2: Snort_Inline Kurulumu

IPFW ve Snort_Inline ile IPS uygulaması ile ilgili olarak http://www.syslogs.org/2008/07/ipfirewall-kurulumu/ linkinden ulaşabileceğiniz bir önceki yazımda IPFIREWALL kurulumuna ait notları paylaşmıştım. IPS uygulaması için ikinci bölüm olan bu yazıda ise Snort ve doğal olarak snort_inline’la ilgili kurulum notlarını bulabilirsiniz.

SNORT NEDİR ?


Snort, açık kaynak kodlu olarak geliştirilen, network tabanlı bir saldırı tespit ve önleme (network intrusion prevention and detection system) yazılımıdır. Adından da anlaşılacağı üzere kullanım amacı, herhangi bir networke dışarıdan yapılan sızma girişimlerini testip etmek ve önlemektir. Offical dökümanlarında yaptığı temel işleri şu şekilde sıralamışlar:

Yazinin devami icin tiklayin.

Kategori: *nix,Security | (Henüz Yorumlanmamış) |

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.

Kategori: *nix,Security | (Henüz Yorumlanmamış) |

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.

Kategori: *nix | (Henüz Yorumlanmamış) |

Qmail logs ve timestamp hadisesi.

Qmail log dosyalarının default tarih formatı ne kadar anlamsız değil mi ? Bu anlamsız format nedeni ile geçmişe yönelik bir mail aktivitesine ait bilgileri log dosyasında ararken ve özellikle tarih bilgisi de önem arz ediyorsa işiniz var demektir.
Multilog tarafından oluşturulan bu log dosyalarındaki, TAI64 isimli format kullanılarak üretilen timestamp’ler bir insan evladının bir bakışta okuyamayacağı kadar karmaşık olduğundan dolayı, bu bilgileri human-readable bir şekle dönüştürmeniz gerekmektedir.
Tai64 formatından, Human-Readable UTC formatına dönüştürme işini yapmak için daemontools paketinin içinde tai64nlocal isimli bir programcık bulunuyor. Bu programı kullanarak convert işlemini yapmak için log dosyasını track etmek için kullandığınız komutun (more, cat vs.) kıçına (pipe) | tai64nlocal ibaresini eklemeniz gerekiyor.
İşte şöyle:
Default timestamp içeren normal bir çıktı:

[root@hostname ~]# more logdosyası
@400000004817b72606025e44 delivery 2: success: accepted_message./Remote_host_said:_250_ok
@400000004817b726062f9094 status: local 0/10 remote 1/120
@400000004817b72606892dfc end msg 351
@400000004817b7260690c364 delivery 4: success: accepted_message./Remote_host_said:_250_ok
@400000004817b7260699b85c status: local 0/10 remote 0/120
@400000004817b72606ce4964 end msg 362

Bu da human-readable hale dönüştürülmüş hali:

Yazinin devami icin tiklayin.

Kategori: ipucu,Qmail | (Henüz Yorumlanmamış) |

« Daha Yeni YazılarDaha Eski Yazılar »