original in en Georges
en to tr Murat Kaplan
Georges uzun zamandır bir Unix kullanıcısı. Bu büyük sistemin serbest sürümlerini çok seviyor.
Serbest Unix'lerden söz edilirken insanlar daima "Linux"'u düşünürler. Tabii ki
Linux yaygın ve herkes (yada hemen hemen herkes) adını duymuştur. Yeni kullanıcıların
sayısı giderek artıyor ve medya ("özelleştirilenler" yada diğerleri) etrafta daha
fazla "gürültü" yapıyor. Bu başarının ana gerekçelerinden biri Linux'un özellikle
en yaygın bilgisayar mimarisi olan Intel tabanlı makinelerde çalıştırılıyor olması.
Elbette Unix'in arkasındaki fikirlerden biri "işlemci bizi ilgilendirmez" olduğundan beri
diğer bir çok işlemciyle çalışabiliyor. Bununla birlikte, Linux geliştirilmiş
çok daha "güvenilir" bir işlemcide o kadar başarılı olmayabilir, yada, en azından,
bunun olması daha uzun zaman alabilir.
Ancak serbest Unix Linux ile sınırlı değildir: BSD "ailesi" de var.
Üç çeşidi var: FreeBSD, NetBSD ve Open BSD. BSD, "Berkeley Software Distribution"
yerine kullanılmıştır. Unix tarihi hakkında daha fazla bilgi isterseniz
article 176 'ya bakabilirsiniz.
(Bu makale BSD ile Sistem V arasındaki farklardan bahsetmez: bunun için bir kitap
gerekir.)
Her bir çeşidi kendine özgü özelliklere sahiptir:
Serbest yazılımların çoğu gibi FreeBSD, FreeBSD sanal yöresinden çekilebilir.
Açıkçası, bu hızlı bir bağlantı gerektirir. Endişelenmeyin: yeryüzünün her yerinde
CD'lerini bulabilirsiniz.
Güncel sürümü (bu makale yazılırken) 4.6. Makale i386 sürümünden söz ediyor.
FreeBSD'yi CD-ROM 'dan (yada başka şekilde) yüklemek basittir... grafik
arayüz olmadığında bile! Bu durumda onun yerine ncurses kullanırsınız. Sadece
açıklamaları takip edersiniz ve FreeBSD sabit diskinize kurulur. Doğal olarak,
sabit diskinizi bölümlemeniz, ağ yada çekirdekle ilgili birkaç yeni şeyi -seçimsel olarak-
ayarlamanız gerekecek.
Sonra, adından da belli olduğu gibi, yükleme işlerinin çoğunu yapmak için çok iyi
bir araç olan "sysinstall" ile tanışacaksınız. Bütün paketleri yükleyebilir
yada bağzılarını seçebilirsiniz. İstediğiniz zaman diğerlerini bir şekilde
ekleyebilirsiniz.
Paketlerin yönetimi de çok basittir. Örneğin Solaris'te olduğu gibi "pkg" buyruğunu
kullanabilir, yada "port"'ları yeğleyebilirsiniz. Kısaca, port'lar make ve make
install ile derlemek için paketçiklerken, pkg buyruğu Linux'daki rpm yada deb
buyruklarına benzer. Başka bir deyişle: hiçbirşey karışık yada zor değildir.
Linux ile karşılaştırmak için, yüklemeniz gereken Linux uyumlu bir paketi ekleyelim:
Linux uygulamasını derleyip çalıştırmanıza izin verecek.
Bir kez daha, herşey açık, ve her adımı açıklayan çok iyi bir el kitabı da hazırlanmış.
Üstelik, artık çeşitli dillerde var.
Bu gerekçelerle, bunun için çok fazla zaman harcamak için hiç bir sebep yok.
Bir kez daha, herşeyi anlatmayacağız. Bilinmesi en önemli şey temel dosyaların
nerede olduğu. Doğal olarak onları /etc dizini altında bulacaksınız.
rc.birşey şeklinde adlandırılmışlar ve bir çok farklı kısım yönetilebilir:
genel ayarlar, ateşduvarı, ağ, sysctl, vb.
İsminden de belli olduğu gibi en önemlilerinden biri konfigürasyonun yapıldığı
rc.conf dosyası. Bu dosyada sisteme olsa da olmasa da bazı sistem süreçlerinin
(sshd, sendmail, vb), başlamasını, ateşduvarınızın tipini, çekirdek güvenlik
seviyesinin durumunu, IPv6'nın durumunu vb söyleyebilirsiniz. Burada birçok
seçenek bulunur ve hepsinin ön tanımlı durumunu /etc/defaults/rc.conf. dosyalarında
bulabilirsiniz. Karışık gelmesin: bu dosya örnekleri değil, ön tanımlı kurulumu içerir.
/etc/rc.conf bu ön tanımlı kurulumun üzerine yazılır. Başka bir deyişle,
/etc/defaults/rc.conf dosyasını /etc/rc.conf olarak kopyalamayın, yada değiştirmeye
çalışmayın. Değişiklikler /etc/rc.conf dosyasında yapılmalıdır.
Bilgi için, sysinstall da yapılan seçimler otomatik olarak /etc/rc.conf
içine yerleştirilir (network kart ayarları, hostname, secure level, vb)
Çok önemli bir not: FreeBSD'de başlangıçta /etc/inetd.conf içindeki hiçbir servis
aktif değildir. Yani, ilk başlangıçta, inetd 'den yönetilen bütün süreçler kapalıdır.
Benim mütevazi önerim, bu bütün Unix sistemlerinde zorunlu olmalı. Her nasılsa,
iyi bir nokta!
Öteki rc dosyaları ateşduvarı yada syssctl'yi yada diğerlerini ayarlamanızı sağlar.
Bu doğal olarak bize FreeBSD ince ayarında yol gösterir.
İnce ayar için en iyi araç sysctl'dir (Linux'ta da öyle!). Buyruk satırından özel değerleri
belirterek kullanabilir, yada sysctl.conf dosyası oluşturabilirsiniz.
(buyruk satırından yapılan denemeler haricinde tavsiye edilir)
Örneğin, makinanız "gateway" olarak kullanılacaksa, sysctl ip yönlendirmesini
sysctl -w net.inet.ip.forwarding=1 buyruğu ile yapılmasını sağlar.
Daha iyi bir güvenlik için, arayüzün yerini tutan bir ip adresine sahip arayüzden
gelen paketler sysctl -w net.inet.ip.check_interface=1
komutuyla kontrol edilebilir.
Sisteminizin birçok durumdaki davranışını sysctl'yi kullanarak kontrol edebilirsiniz:
man sayfasına bakın. Açıkçası, bunları sysctl.conf dosyasına yazmak isterseniz,
argümanlarını sysctl buyrukları olmadan dosyaya ekleyin. Dosya variable = value
formatını kullanır. Bu durmda yukarıdaki örnek şu hale gelir:
net.inet.ip.forwarding=1
net.inet.ip.check_interface=1
Doğal olarak kendi sysctl.conf dosyanız, çekirdek seviyesinden başlayarak nerdeyse,
hemen hemen herşeyi kontrol etmeniz için iki satırdan çok daha fazlasını içerecek!
Bu makalenin başında, güvenlik seviyelerinden bahsettik. -1 'den 3'e
dört farklı seviye vardır. -1 güvenli olmayan seviyeyi, 3 ise
en yüksek güvenlik seviyesini belirtir. Bir güvenlik seviyesi seçilmeden ne yaptığının
anlaşılmış olması önerilir. -1 yada 0 'dan farklı seviyeleri kullanmak bir sistemin
beklendiği gibi çalışmamasına sebep olabilir. Örneğin seviye 1, X sunucusunu kullanmanızı
uygun bir şekilde önleyebilir. Örneğin çekirdek modüllerini yüklemeye yada kaldırmaya
çalıştığınızda sistem tarafından uyarılırsınız.
Bununla beraber, bu yüksek güvenlik seviyeleri yüksek güvenlik gereksinimleri olan
özel bir sunucu için kullanışlı olabilir. Ev kullanıcısı için 0 seviyesinde tutulmalıdır
ama bu sizin için fazla olabilir...
chflags buyruğu güvenlik seviyeleriyle bağlantılıdır.
Bu buyruğu da araştırın, man sayfasını okuyun: çok güçlü bir buyruktur.
Bu şekilde devam edersek makale "securing FreeBSD" olacak, sonraki bölüme geçelim.
Diyelim ki FreeBSD 4.5 CD takımını aldınız. Bir kaç gün sonra, FreeBSD 4.6 sürümü
çıktı. Kötü şans!
Endişelenmeyin: FreeBSD bir güncelleme sistemi olan CVS ile birlikte gelir.
CVS yada CVSup buyruklarını kullanabilirsiniz. İlkinin kullanımı daha kolayken
ikincisi daha beceriklidir. Bu araçlarla yeni kaynak ağacı içerilecek şekilde
uyumlu hale getirilir.
Sonra, yeni bütün paketleri make buildworld'u kullanarak derlemeniz gerecek.
Bunu nasıl yapacağınız el kitabında oldukça iyi bir şekilde açıklanmış.
Önemli olan nokta, her zaman güncellemeyle yepyeni bir sistem sahibi olmanızı
sağlar.
Bununla birlikte, hepsi bu kadar değil. Serbest yazılıma gelince, nerdeyse her
zaman aksaklıklar bulunabilir ve oldukça hızlı bir şekilde çözülür. Serbest
olmayan sistemlerde bir aksaklık çözülmeden kalabilirken, farklı olarak (ve bir günde)
serbest yazılım içindeki insanlar ışık hızıyla tepki verirler ve sizi yamalarla
donatırlar. Aslında neler olduğunu kontrol etmek sizin işinizdir. FreeBSD sanal
yöresi sürümlerine göre önerileri içeren bir güvenlik bölümü içerir. Oradan
bilmeniz gerekenleri yazan .asc dosyalarını (text dosyaları) -problemin tanımı
ve çözümünü içeren- indirebilirsiniz. Diğer sanal yöreler de bu bilgiyi size sağlar. Adını anmak gerekirse, örneğin,
linuxsecurity, CERT, vb.
Tabii ki bunun anlamı sisteminizi güncellemenizin gerektiğidir.
İyi bilinen zayıflıkları sisteminizde tutmak istemezsiniz, değil mi?
Öteki serbest Unix'ler gibi FreeBSD size yamalarını sağlar. Gidip bu yamaları alın ve
uygulayın. Linux kullanıcıları için ana fark uyumlu paket yerine kaynak yamasının
alınmasıdır. Bunun anlamı, yamasını yaptıktan sonra çekirdeği
tekrar derlemek zorunda kalacak olmanız. Bu tabi ki makinanıza yüklenen kaynak kodu
kastediyor. Bu Linux altında doğru, ancak insanlar sıklıkla yamanmış çekirdekler için
en azından düzeltilmiş uygulamalar için değiştirilmiş rpm 'leri indirirler.
Linux ile FreeBSD arasındaki en önemli fark çekirdekle gelir. FreeBSD, BSD 4.4 üzerine
kurulmuştur ve Linux dünyasındaki kadar çeşitli çekirdek sürümleri yoktur.
Bu sebeple kararlı bir çekirdektir ama tabi ki çok büyük zaman sonucunda oluşmuştur
hatta modüllerden bile yararlanılabilir. Bunun dezavantajı, sisteminizi olabildiğince
güvenlikli durumda tutmak istiyorsanız çekirdeğinizi Linux'ta olduğundan çok daha sık
derlemenizin gerekecek olmasıdır.
Her neyse, ben bu felsefeyi Linux'dakine tercih ederim ama bu sadece benim görüşüm.
Diyelim ki, üç farklı çekirdeği çalışır halde kararlı tutabileceğini düşünmüyorum.
Uygulamaların da, özellikle de güvenlikle ilgili olanların, bir sürümden diğerine
eklenmelerinin gerekli olduğu anlamı da çıkmaz. Bir diğer örnek paket
filtreleme sistemi olabilir: 3 çekirdek sürümü, 3 farklı paket filtreleme sürümü!
Ve benzerleri.
İnsanların bu büyük işi yapmalarına saygı duyarım ama bu doğru yolu mu?
İyileştirme daima buna gereksinim duyar ama her zaman herşeyi değiştirmek
uygun mu? !
Tabii ki gereksinimlerinizi karşılamak için de yeni bir çekirdek
derleyebilirsiniz ve o zaman Linux altındaki gibi olur.
Bunu yapmanın yolu el kitabında oldukça ayrıntılandırıldığından başka konulara
geçelim.
Her zaman söylendiği gibi, serbest yazılım uygulamalarının büyük çoğunluğu
(hepsi değilse de) FreeBSD altında çalışır.
Yukarıda bahsedilen portlara yada paketlere gereksiniminiz olmaz.
Ulaşılabilen paketlerin çoğunu yazılımın türü ne olursa olsun derleyebilirsiniz.
Masaüstü ortamı bağımlıları için Gnome ve KDE, dağıtımlar tarafından içerilirler. Aynı şey pencere yöneticileri için de geçerlidir. Büyük GNUstep çatısı
FreeBSD altında da oldukça iyi çalışır. Derlemek için daha yeni bir gcc sürümüne
gereksiniminiz varsa sorun değil, o da dağıtımın içindedir! Sadece uygun paketi
edinip yeni derleyiciyle derleyin. Açıkçası GNUMail.app, Gorm.app yada
ProjectBuilder.app gibi GNUstep uygulamaları da oldukça iyi çalışır.
Gerçekten Linux altında çalıştırdığınız bütün yazılımlar ve diğer birçoğu
FreeBSD için de edinilebilir.
Örneğin FreeBSD güvenlik hakkında bir demet araçla birlikte gelir. Monitoring,
managing ve benzeri araçlar dağıtımın bir parçasıdırlar.
Ateşduvarları, proxy'ler, port tarayıcıları, IDS, vb. 'ye de ulaşılabilir.
Örneğin IPsec yada ipfw'den birini seçebilirsiniz. Nessus, nmap, portsentry, vb.
'yi kullanabilirsiniz. Birçoğu dağıtımın bir parçasıdır ve sizi son sürümlerini
edinip derlemenizden alıkoyacak hiçbir şey yoktur.
Masa üstü ortamı yada pencere yöneticilerinden bahsettik ama X Pencere
Sistemi'nin çalışabilmesi için ne gerektiğini söylemedik. Şu anda XFree 4.*
ön tanımlıdır. Bilgi olarak, FreeBSD 4.5'e kadar XFree 3.* ön tanımlıydı.
Yani, dağıtımda XFree 4.*'a sahiptiniz ama yükleme sürecinde XFree 3.* seçiliydi
. Artık XFree 4.* ön tanımlı ama isterseniz hala 3.* sürümünü kullanabilirsiniz.
i386 'lardan bahsederken, donanımların çoğuyla, biraz eski de
olsalar FreeBSD altında çalışılabileceğini söyleyelim. Örneğin eski bir 3Com
combo network kartı siz ifconfig byruğunda ortam tipini girer girmez
çalışacaktır. Bir BNC bağlantısı kullanıyorsanız /etc/rc.conf 'daki ifconfig
satırının sonuna media 10base2/BNC eklemeniz yeterlidir.
Bağzı eski görüntü kartları için de aynı durum geçerli: XFree 4.* kullanmak
problemlerin çoğunu çözecektir. Bu daha eski ATI kartlar için ise kısmen
doğrudur.
Her neyse, emin olmak için FreeBSD sanal yöresindeki donanım notlarına
başvurabilirsiniz.
Şu ana kadar ateşduvarı, port tarayıcısı vb. gibi birkaç araçtan bahsettik.
FreeBSD birçok başka güvenlik aracıyla birlikte gelir. OpenSSH, OpenSSL,
Kerberos, MD5, vb. bu dağıtımların bir kısmıdır. Doğal olarak, bu araçlar
olmadan yaşayamazsınız ve yeni görülmüş zayıglıkları da kontrol etmelisiniz.
Güncel bir örnek çok dikkatli olmanın önemini gösterir. Örneğin, diyelim ki,
OpenSSH'da bulunan bir açık hakkında uyarıldınız. Doğru davranış sanal
yöresine gidip uygun sürümünü indirmektir.
Evet, ancak bu yeterli değildir! Lütfen paketleri kontrol edin.
OpenSSH örneği keyfi bir örnek gibi alınmamalı: birkaç hafta önce biri
orjinal yerine bozuk sürümü yerleştirdi. Doğal olarak insanlar OpenSSH ile
odukça hızlı etkileştiler. Her nasılsa kullnıcılar geçen bu kısa sürede
tam kontrol yapmadan bu "kötü" sürümü yüklediler. Bu sebeple,
checksum 'ın kullanılması gerekli... ve kontrolü gerekli.
Bu makalenin bakış açısının dışında da olsa bir tavırdan önce güvenlik konusunda ısrar edelim.
FreeBSD altında ağ işlemleri oldukça gelişti. IPv6 uygulaması oldukça başarılı.
İletişimin yeni anlamı bir kenarda bırakılmış değil. ADSL yada kablo modem
kullanıyorsanız ayarları oldukça kolay.
Bugün birçok ISP, PPPoE kullanıyor. FreeBSD bunu oldukça basit bir şekilde
yönetiyor: ppp.conf'da birkaç satır işi görüyor.
PPPoA (ATM) için şimdilik sadece Alcatel modem destekleniyor.
Bu çok yakın gelecekte değişecektir (belki şu sıralarda başka desteklenen
modemler de vardır).
Sağlanan el kitabı edinilebilen tek kaynakyazı değil. FreeBSD sanal yöresinde bir SSS (Sıkça Sorulan Sorular), bir yükleme rehberi, vb bulabilirsiniz. Bir başka önemli bilgi kaynağı da http://www.freebsd-howto.com adresinde bulunabilir.
Bu FreeBSD'nin oldukça kısa bir incelemesi. Bu sistem, diğer serbest Unix'ler
gibi oldukça ilginçtir. Birkez denenmeyi oldukça hak eden birçok çok önemli
özelliği var. Ne yazık ki bir çok önemli özelliğine değinilmedi ve bu makale
tam bir inceleme olamaz.
FreeBSD, "Windowsumsu" Linux dağıtımlarına göre biraz daha fazla Unix bilgisi
gerektirsede kullanım kolaylığı aynen kalır.
Hiç Unix bilgisine sahip olmayan insanlar tabi ki sistem güncellemesinden sonra
sık sık çekirdek derlemek zorunda kalınca zorluklar yaşayabilirler. Ancak
bu "biraz" zaman alsa da öğrenmenin iyi bir yoludur. İnsanlar başlangıçta
geliştirenlerinin Unix'i, sıradan yada ev kullanıcıları için değil,
geliştirenler için ürettiklerini unutmuş gibi görünüyorlar.
Neyse ki serbest ve sahibi olmayan Unix'ler bu temel yaklaşımı değiştirdiler.
Bu olasılığın gerçekleşmesini sağlayan bir çok geliştiririciye teşekkürler.
Seksenlerde bugünün Linux kullanıcılarının çoğu, sadece yükleme işlemleri
yüzünden Unix'den kaçıyorlardı. Dağıtımlar bantlarla geliyordu ve yükleme
safhası bütün bir çalışma gününü alabiliyorken, ayarlar en az sonraki güne
gereksinim duyuruyordu. Buna uygulama ayarları dahil değil! Ve bugün, Unix'i
Mac OS X gibi bir sistemle hatta Unix'i bilmeden bile kullanabilirsiniz.
Doksanların başından beri "baba" OS X, NeXTstep ile bu bir gerçek.
Konu dışı görünebilir, ama NeXTstep serbest ve sahibi olmayan Unix'lere, ve
bazı diğerlerine yol göstemiştir! Unix'i ev kullanıcılarına getirmek bir
meydan okumaydı ve sonunda bu gerçekleşti. Bu meydan okumanın içinde yer alan,
ücretli yada ücretsiz çalışan bütün insanlara tebrikler. Karşılıksız olarak
çalışanlar özellikle çok daha fazla teşekkürü ve anılmayı hak ediyorlar ;-)
FreeBSD'nin Apple ile "paylaşılması" bana çok güzel görünüyor. Her biri
diğerinden doğru şekilde yararlanıyor. Sahibi olmayan yazılımlar daima
- yüksek sesle "bağrılmadan"- serbest yazılımlar olarak kullanıldı.
Apple serbest yazılım kullandığını açıkça söyler ve SGI yapar. Bağzı
diğerleri aynı şeyi yapıyor görünüyorlar... ama açığa vurulmamış gerekçelerle.
Her neyse, oranın bütün "oda" olmak isteyenler hariç herkes için bir "oda"
olduğunu düşünmeye devam edeceğim.
Linux hakkındaki "gürültü" diğer serbest Unix'leri karanlıkta bırakıyor:
şimdiye kadar, çok iyi. Bu parlak bir tarafı olabilir... ve bu benim neden
FreeBSD kullandığımın da temel sebebi.
Linux kullanmaya da doğal olarak devam ediyorum (başka birçokları gibi):
çeşitliliği severim!
Canınız FreeBSD'yi bir denemek isterse bu makale boşuna olmayacak.
Kendiniz deneyecek ve burada bahsedilmeyen birçok şey keşfedeceksiniz.
Size söyledim: önemli bir zamanda yaşıyoruz!