Linux hakkıNda herşey

3333

Emektar
27 Ara 2005
3,212
45
Little Town.
Linux, serbestçe dağıtılabilen, çokgörevli, çok kullanıcılı UNIX işletim sistemi türevidir. Linux, İnternet üzerinde ilgili ve meraklı birçok kişi tarafından ortak olarak geliştirilmekte olan ve başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere birçok platformda çalışabilen ve herhangi bir maliyeti olmayan bir işletim sistemidir.

UNIX 70'li yılların ortalarında büyük bilgisayarlar üzerinde çok kullanıcılı bir işletim sistemi olarak geliştirilmiştir. Zaman içerisinde yayılmış ve birçok türevi ortaya çıkmıştır. UNIX ismi UNIX Research Laboratories INC şirketinin tescilli markası olduğundan dolayı birçok şirket, aynı temele dayanan işletim sistemleri için değişik isimler kullanagelmişlerdir. Örnek olarak

Hewlett-Packard HP-UX
IBM AIX
Sun Microsystems SunOS

kullanmaktadırlar. Bugün kişisel bilgisayarlardan süper bilgisayarlara kadar biçok bilgisayar için yazılmış bulunan UNIX türevleri mevcuttur. Ne var ki bu türevlerin çoğu gelişimi belirli bir noktada durmuş ve yüksek fiyatla satılan ticari yazılımlardır.

Linux, temel olarak Finlandiya Üniversitesinde öğrenci olan Linus Torvalds'ın ve İnternet üzerinde meraklı bir çok yazılımcının katkıları ile geliştirilmiştir. Linux gelişimi açık bir şekilde yapılmaktadır. Bunun anlamı, işletim sisteminin her aşaması açık olarak İnternet üzerinde yayınlanmakta, dünyanın dört bir yanında kullanıcılar tarafından test edilmekte, hataları ve eksiklikleri tesbit edilerek düzeltilmekte ve geliştirilmektedir. Zaman zaman bu deneme aşamaları belirli bir noktada durdurulur ve güvenilir bir işletim sistemi sunulup, geliştirme için ayrı bir seriye devam edilir. Geliştirmede yer alan bu açıklık Linux'un en büyük avantajlarından biridir. Gelişimi evrimseldir, hatalar anında kullanıcılar tarafından tesbit edilip rapor edilmekte ve birçok kişinin katkısıyla düzeltilmektedir. Bazı işletim sistemi sürümleri saatler içerisinde güncellenebilmektedir.

Linux, Andy Tannenbaum tarafından geliştirilmiş olan Minix işletim sistemine dayanmaktadır. Linus Torvalds boş zamanlarında Minix'ten daha iyi bir Minix işletim sistemi yaratmak düşüncesiyle 1991 Ağustos sonlarında ilk çalışan Linux çekirdeğini oluşturdu. 5 Ekim 1991 tarihinde 0.02 sürümü Linux ilk defa tanıtıldı. Linus, comp.os.minix haber grubuna gönderdiği yazıda yeni bir işletim sistemi geliştirmekte olduğunu ve ilgilenen herkesin yardımını beklediğini yazmıştı. İşletim sisteminin çekirdeği için verilen numaralar kısa sürede bir standart kazandı. a.x.y seklinde belirtilen çekirdek türevlerinde y bulunulan seviyeyi, x gelişim aşamasını göstermektedir. Tek sayılı x'ler geliştirme aşamalarını çift sayılı x' ler ise güvenilir Linux çekirdeklerini göstermektedirler. a ise değişik Linux sürümlerini belirtir. Bu yazının hazırlandığı Ağustos 1997 içerisinde en son güvenilir (kararlı) Linux çekirdeği 2.0.30, en son gelişim aşamasındaki çekirdek ise 2.1.47'dir.

Linux gerçekten son yıllarda hızlı bir gelişme göstermiş, çesitli ülkelerden birçok kullanıcıya erişmiş ve yazılım desteği günden güne artmıştır. Değişik kuruluşlar Linux sistemi ve uygulama yazılımlarını biraraya getirerek dağıtımlar oluşturmuşlar ve kullanımını yaygınlaştırmışlardır.

1.1 Linux'un Desteklediği Donanımlar

Linux şu anda başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere Apple, Atari ve Amiga gibi 68000 tabanlı bilgisayarlar üzerinde, Sun Sparc işlemcili iş istasyonları, Alpha işlemcili kişisel bilgisayarlar, MIPS, PowerPC, HP PA-RISC ve ARM mimarilerinde çalışmaktadır.
IBM uyumlu kişisel bilgisayarlar üzerinde 80386 ve üzeri (80486 80586 Pentium PentiumPro ve türevleri) değişik üreticilerin işlemcileri ile sorunsuz olarak çalışmaktadır. 80286 ve 8086 işlemcili bilgisayarlar için sınırlı kabiliyette Linux uygulamaları mevcuttur.
PCI, VESA, ISA ve MCA mimarilerinde her türlü anakartı desteklemektedir.
Teorik olarak 4 Gbyte'a kadar RAM desteklenmektedir.
AT uyumlu diskler (IDE, EIDE ve 16 bitlik MFM,RLL veya ESDI) desteklenmektedir. Kontrol kartına uyumlu destek bulunduğu sürece SCSI diskler ve diğer cihazlar desteklenmektedir.
IDE-ATAPI CD-ROM sürücüleri, ve bazı özel CD-ROM kontrol kartları desteklenmektedir.
Metin ekranlarda CGA, EGA, VGA, Hercules veya uyumlu kartlar desteklenmektedir. X Window ortamında genel VGA ve SVGA uyumlu kartlar ve S3, ET4000, 8514/A, ATI MACH8, ATI MACH32 gibi birçok görüntü kartı desteklenmektedir.
Birçok 10 ve 100 Mbit ethernet kartı, ISDN, ATM, FDDI, SLIP, CSLIP, PPP desteği verilmektedir.
Başta SoundBlaster, Gravis Ultrasound olmak üzere birçok ses kartı desteklenmektedir.

Linux altında hangi donanımların desteklendiği ile ilgili ayrıntılı bilgiyi Hardware-HOWTO'dan alabilirsiniz. HOWTO dökümanları hakkında daha geniş bilgi ve nereden temin edeceğiniz kitabın sonunda detaylıca anlatılmıştır.

Makinanızda Linux çalıştırmak için kullanacağınız uygulamalara bağlı olarak en az bir 386SX işlemci ve 4 Mbyte RAM'a ihtiyaç duyacaksınız. Sabit disk üzerinde ise en az 40 Mbyte'lik bir alan ayırmanız gerekecektir. Rahat bir kullanım için en az 8 Mbyte RAM ve 200 Mbyte sabit disk ve bir 486 işlemci önerilmektedir.

1.2 Linux'un Kullanım Amaçları
Ücretsiz olarak dağıtılıyor ve gelişiminin hala devam ediyor olması biçcok kişinin Linux'un profesyonel alanlarda kullanılamayacağının düşünmesine yol açmaktadır. Oysa Linux işletim sistemini kullanan bilgisayarlar özel kullanım başta olmak üzere birçok alanda yaygın olarak kullanılmaktadırlar.

Kişisel Kullanım
Linux evinde veya işinde UNIX işletim sistemi altında çalışmak isteyenler için ideal bir platformdur. Özellikle işi veya eğitimi sırasında UNIX platformlar altında çalışmak, uygulamalar kullanmak veya yazılım geliştiren kişiler kendi kişisel bilgisayarlarında benzer ortamı yakalayabilmekte ve işlerini kendi kişisel bilgisayarlarında gerçekleştirebilmektedirler. Bunlara ek olarak Linux altında yer alan uygulamalar giderek sıradan bir kullanıcı için bile bu işletim sisteminin ilgi çekici hale gelmesini sağlamaktadır. Gelişimleri henüz tamamlanmamış olmasına rağmen, herhangi bir kişisel bilgisayardan beklenebilecek yazı editörleri, hesap cetvelleri, çizim yazılımları, veri tabanları birçok ihtiyaca cevap verecek düzeye gelmiştir. Örneğin LaTeX kullanıcıları MS-DOS altında buldukları desteğin çok daha fazlasını Linux altında bulabilmektedirler.

Internet Sunucusu
Linux doğrudan TCP/IP desteği ile gelmektedir. Bu yönü ile TCP/IP temelli bilgisayar ağlarında hem istemci hem de sunucu olarak yaygın kullanım bulmuştur. Üzerinde hali hazırda bulunan servislerin çeşitliliği, yeni çıkan servislere hızlı ayak uydurması, kolay konfigüre edilebilmesi ve özellikle de düşük maliyeti sebebi ile yaygın olarak İnternet servislerinin verilmesi amacıyla kullanılmaktadır. Zamanla verdiği ağ servisleri başka protokollere destek verecek sekilde genişletilmiştir.

Şu anda Linux

WWW sunucu
DNS sunucu
NFS sunucu
NIS sunucu
X Window sunucu
BOOTP sunucu
SMTP sunucu
FTP sunucu
LIST sunucu
NEWS sunucu

gibi yaygın TCP/IP servislerinin yanısıra

NOVELL sunucu (Novell protokolü kullanarak disk ve yazıcı servisi)
SAMBA sunucu (Windows 3.1, Windows95, Windows NT ve WfW için disk ve yazıcı servisi)
APPLETALK sunucu (MacOS kullanan Apple makinalar için disk ve yazıcı servisi)
verebilmektedir.

Ağ Elemanı
Linux yazılım desteği ile birçok ağ elemanının yerine geçebilecek bir alternatif olarak kullanılabilmektedir. Birden fazla ağın birbirine bağlanması amacıyla bir yönlendirici (router) olarak da kullanılabilmektedir. Özellikle farklı protokoller arası bir geçiş elemanı olarak yaygın şekilde Linux'tan yararlanılmaktadır. Ayırca yönlendirici olarak kullanıldığında kolaylıkla güvenlik amacıyla firewall (alev duvarı) olarak konfigüre edilebilmektedir. Buna ek olarak bir ağ üzerinde bulunan iki segmanın trafiğini birbirinden ayıran bir köprü (bridge) olarak da hizmet verebilmektedir. Birçok kurumda bir veya daha çok modemin bağlanması amacıyla bir terminal sunucu (terminal server) olarak Linux kullanılmaktadır.

1.3 Nereden Linux Bulabilirim ?
Linux işletim sistemiminin temelini oluşturan çekirdek, bu çekirdeğin kullandığı destek kütüphaneleri ve uygulama yazılımları bir araya getirilerek, yükleme yazılımları da eklenerek Linux dağıtımları meydana getirilmektedir. Bu dağıtımlar temel olarak bir kullanıcının Linux kullanmak için ihtiyaç duyabileceği bir çok yazılımı bir araya getirirler. Bu dağıtımların çoğu İnternet üzerinde anonim FTP arşivlerinde bulunabilmektedirler. İnternet erişimi bulunmayan kişilerinde (veya Internet'ten 120 Mbyte kopyalamak istemeyen kişilerin) yararlanabilmesi için çesitli CD-ROM şirketleri tarafından CD-ROM üzerinde dağıtımlar meydana getirilmiştir.

Linux dağıtımları ve bunların nereden temin edilebileceği hakkında detaylı bilgi, Linux Kurulumu başlığı altında bulunabilir.

Doküman Temini
Linux hakkında yazılan kitapların sayısı gün geçtikçe artmaktadır. Yine de en güncel bilgi İnternet üzerinde bulunmaktadır. Elektronik ortamda bulunan iki temel döküman çeşidi bulunmaktadır.
Bunlar:
Linux Documentation Project
NASIL (HOWTO) dökümanlarıdır

NASIL dökümanlarının bir kısmının Türkçeye çevrilmesi işlemi devam etmektedir. Şu ana kadar çevrilen dökümanları Linux Kullanıcıları Grubu WWW sayfasından bulabilirsiniz.

1.4 Yazılım Özellikleri
Bir işletim sistemi, ne kadar mükemmel olursa olsun, uygulama yazılımlarının çokluğu ve kalitesi ile varolabilirler. Herhangi bir Linux dağıtımı içerisinde, değişik amaçlara hizmet eden birçok yazılım bulunmaktadır. Ancak her geçen gün bu dağıtımlarda yer almayan yeni yeni yazılımlar çıkmaktadır.

UNIX makinalar üzerinde yer alan uygulamaların çoğu, değişik platformlar altında bulunduğundan çalıştırılabilir (executable) olarak dağıtılmaz, kaynak kodu şeklinde sunulurlar. Sözkonusu yazılımı kullanmak isteyen bir kullanıcı bu kaynak kodunu kendi platformunda derleyerek çalıştırır. Bu tür yazılımların birçoğu Linux altında kolaylıkla çalıştırılabilmektedir. Bu tür yazılımları İnternet üzerinde çeşitli FTP arşivlerinde bulmak mümkündür.

Linux'a özel veya Linux üzerinde geliştirilen yazılımlar için standart bazı FTP arşivleri vardır. Bunların en bilineni Sunsite FTP arşividir. Burada çeşitli dizinler altında konularına göre ayrılmış bir durumda elektronik devre tasarım yazılımlarından oyun programlarına kadar birçok değişik yazılım bulunmaktadır. Bu arşivin Türkiye'de yeralan bir kopyası adresinde vardır.

Linux'un bu denli sevilmesi ve yaygınlaşması çesitli şirketlerin (Macintosh, Sun, SSC gibi) Linux üzerinde çalışan ticari yazılımlar geliştirmesi sonucunu verdi. Bu konuda detaylı bilgi için Commercial-HOWTO dökümanından yararlanabilirsiniz.

Linux üzerinde bulunan uygulamaların ve yazılımların listeleri için aşağıdaki adreslerden yararlanabilirsiniz:

Linux Applications and Utilities
Scientific Applications on Linux
Linux Software Map

Temel Komutlar
Daha önce UNIX tabanlı bir işletim sisteminde çalışanlar için Linux, öğrenilmesi çok kolay bir sistem olacaktır. Standart bir UNIX sisteminde yeralan hemen hemen tüm komutlar, Linux'a taşınmıştır. Onlarca çeşit kabuğun yanı sıra, sed, awk gibi programcının işini kolaylaştıran diller, ls, less, finger gibi temel her türlü komut, Linux'ta vardır.

Ağ ve İnternet uygulamaları için elm ve pine (Pine Is Not Elm :) yanında metin editörleri olarak vi, vim (vi'ın daha gelişmiş sürümü), pico ve joe sayılabilir. Editörlerden, bizde fazla bilinmeyen Emacs da Linux altında denemeye değer programlardandır. Kelime işlem programlarından troff, groff (GNU troff) ve daha modern metin işleme yazılımlarından TeX ve LaTeX sayılabilir.

Bazı program isimlerinin (GNU-tar, GNU-bash gibi) başında görebileceğiniz GNU (Gnu is Not UNIX!), Linux için de yazılım ve programlar üreten bir kuruluştur. GNU, lisansını ve yazarını korumak koşuluyla programları kaynak koduyla birlikte Linux kullanıcılarına dağıtır. GNU bash ve tcsh, Linux altında en çok rağbet edilen iki kabuk ismidir. Diğer kabuklar arasında zsh, ash, ksh ve csh sayılabilir. Kabuklar hakkında daha geniş bilgiyi, Bash konu başlığı altında bulabilirsiniz.

Uygulama Programları
Linux üzerinde ver tabanı uygulamaları ortalama bir kullanıcının ihtiyacını karşılayabilir. Postgres, Mbase, msql ve Ingres gibi profesyonel yazılımlar Linux ve diğer platformlarda istemci/sunucu bazda görev yapabilirler. Özellikle Postgres, uygulama kolaylığı ve C, perl, tcl gibi birçok dile yönelik arabirimiyle göze çarpar.

Mühendislik yazılımları arasında gnuplot (grafiksel veri analiz yazılımı), xspread ve xfractint (fraktal yaratma programı) sayılabilir.

Doğru seçilmiş bir donanım üzerinde kurulan bir Linux makinası, hemen her tür çokluortam (multimedia) uygulamalarını rahatlıkla çalıştırabilir. En az Pentium tabanlı, 32Mbayt RAM ve 2GB sabit diske sahip makina yardımıyla ticari olarak satılan çokluortam uygulamalarını kullanabilirsiniz. Linux, hemen her türlü ses kartını desteklediğinden ses dosyalarının, workman, Cdplayer gibi programlar yardımıyla kolayca çalınması mümkün olur. MIDI editörleri ve bir sentezleyici ile kendi müzik stüdyonuzu kurabilirsiniz.

Biraz oyun oynamak mı istediniz ? Doom, Quake, Abuse, Xtetris, FreeCiv(ya da CivNet), Imaze ve benzeri onlarca oyun Linux'ta da var. ODTÜ'de yüzlerce öğrenciyi bilgisayar başına mıhlayan MUD (Multi User Dungeon) oyunlarını sunan makinaların birkısmı Linux idi.

Bu oyunları çeşitli ftp adrteslerinden ücretsiz temin edebilirsiniz.

X Window Arabirimi
Linux işletim sistemi altında X Window sistemi ile Windows altındaki gibi grafik arabirimiyle birlikte çalışabilirsiniz. Windows ile uğraşan herkes rahatlıkla X Window'a geçiş yapabilir. X ile ekranda aynı anda birden fazla pencere açılabilir, fare yardımıyla birden fazla uygulama aynı anda kontrol edilebilir.

Pekçok uygulamanın (özellikle İnternet tabanlı) X üzerinde çalışan sürümleri vardır. Bu sayede metin tabanlı ekrana (vt100) dönmeden her işinizi X yardımıyla tamamlayabilme şansınız olur. Bu sayede Linux, bir iş istasyonu görünümüne ve kullanışlılığına sahip olacaktır.

X pencere denetleyici (window manager - wm) kullanıcı ile X arasında bekler ve klavye ile fareden aldığı emirleri ekranda yerine getirir. Bu emirler, pencerelerin açılması, kapatılması ve yerlerinin değiştirilmesi gibi komutlardır. Sıkça kullanılan pencere denetleyicileri fvwm, twm ve olwm'dir.

1.5 Linux ve Diğer İşletim Sistemleri
Linux ve diğer işletim sistemleri arasındaki ilişkiyi, benzerlikleri ve farklılıkları bilmek önemlidir. Linux işletim sistemi, diğer sistemler ile birlikte aynı sabit diski paylaşabilir. UNIX'i öğrenmek için kesinlikle en kolay ve ucuz yol olan Linux, diğer işletim sistemlerine karşı her zaman güçlü bir alternatif olmaktadır. İnternet servis sağlayıcılarının büyük çoğunluğu, Linux kullanmakta, İnternet bağlantılarını, e-posta ve haber grubu alış-verişini Linux sayesinde yapmaktadır.

Bir kişisel bilgisayarı satın aldığınız zaman çok büyük ihtimalle üzerinde MS-DOS veya türevi bir işletim sistemi yüklenmiş olduğunu göreceksiniz. Her kullanıcı o veya bu şekilde MS-DOS ile tanışır. MS-DOS, üzerinde en fazla program yazılan işletim sistemi olmuş, bu yüzden modern işletim sistemleri çıkmadan önce her kullanıcının kurtarıcısı gözüyle bakılmıştır. Fakat MS-DOS arabirimi programlanırken ileriyi düşünemeyen programcılar, bu işletim sistemine Linux'ta olan bazı hayati özellikleri kazandıramamışlardır. MS-DOS, çok kullanıcılı bir sistem değildir ve aynı anda birden çok işi yapamaz. İsterseniz çalıştırılabilecek en geniş programın büyüklüğünü görmek için mem komutunu kullanmayı deneyin. Linux, sadece üzerindeki hafıza ile sınırlıdır. 80x86 tabanlı mikroişlemcinin her özelliğini sonuna kadar kullanır. Bunun sonucu olarak verimli bir işletim sistemi sayılabilir.

Tüm bu olumsuzluklara rağmen yine de MS-DOS kullanmak istiyorsunuz. Onun da kolayını bulmuş Linux programcıları. Ücretsiz dağıtılan MS-DOS ve Windows emülatörü yardımıyla MS-DOS altında çalışan programların hemen hepsi Linux'la birlikte de çalışabilir. WinWord 2.0, sysinfo, Civilization ve Qbasic Linux altında sorunsuz çalışan MS-DOS/Windows programlarından birkaçı.

Profesyonel bir yatırım sayılabilecek Windows NT'nin çokgörevlilik ve hafızayı mükemmel kullanma gibi özellikleri vardır. Buna karşılık fiyatı oldukça yüksektir ve çalışmak için gayet yüksek standartlı bir makina ister.
 

3333

Emektar
27 Ara 2005
3,212
45
Little Town.
Linux guvenliği

Linux güvenliği hakkında bilgi sahibi olacağız..Konuya geçelim...(Bazı bölümler alıntıdır)

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

Linux Sistemlerde Güvenlik

Arkadaşlar bildiğimiz gibi Win işletim sistemlerine kolay bir şekilde girilebilmekte, userların her türlü bilgileri izinleri dahilinde olmadan bir takım bilgisayar user ları tarafından ele geçirilmektedir..Bu da Linux işletim sistemlerinin yaygınlaşmasına neden olan en büyük etkenlerden birisidir.Çünkü Linux kararlı ve güvenilir bir işletim sistemine sahiptir.Dolayısıyla birçok sistem yöneticisi kişisel bilgilerini ya da sistem bilgilerini Linux işletin sistemleri altında bulundurmaya başlamışlardır. Bununla birlikte hacker veya cracker diye nitelendirebileceğimiz bilgisayar dehaları bir nevi kendini kanıtlama fırsatı bulmuşlardır.

Peki Linux işletim sistemini daha güvenli hale getirmek için neler yapılabilir¿

*Konsol Güvenliği: Konsol güvenliği ( İç güvenlik ) kurduğunuz sisteme bağlıdır. Ve eğer normal bir user olarak linux’u kullanıyorsanız altta belirtilen önlemlere uymak zorunda değilsiniz ancak eğer bir sistem yöneticisi konumundaysanız daha dikkatli olmanız gerekmektedir. Alabileceğiniz güvenlik önlemleri:

*Eğer linux’a root olarak girdiyseniz, pc başından ayrıldığınız zaman şifre korumalı bir screensaver devreye sokun. Siz olmadığınız zamanlarda birileri bu fırsattan yararlanıp sisteme zarar verebilir. Eğer linux’u konsoldan kullanıyorsanız " vlock" komutunu kullanabilirsiniz.

*Userlar için şifre belirledikten sonra user bu şifreyi kullanarak sisteme ilk kez girdiği zaman mutlaka şifresini değiştirmesini sağlayın.

* Gerekmedikçe sisteme user eklemeyin.

*Şifrelerinizi belirlerken sağlam şifreler seçin.Brute attack yoluyla kırılamayacak şifreler seçin.Ve şifrenizi sık sık değişin.

Linux işletim sistemlerinde şifreler ve kullanıcı bilgileri /etc/passwd - /etc/shadow dosyasında bulunmaktadır. Bazı uygulamaların şifres dosyalarının bazı alanlarına erişimi gerektiğinden şifre dosyası, sistemdeki bütün kullanıcılar tarafından okunabilecek bir dosya olmalıdır. Bu nedenle şifreler bu dosyaya açık halde değil, şifrelenerek yazılırlar.


**Shadow Password Suite [ Gölgeli Şifreler ]

Redhat 6.0 ’dan önceki Linux işletim sistemlerinde normal şifreleme kullanılıyordu. Bu şifreleme metodu sizin şifrelerinizi tekrar şifreler, /etc/passwd ’e atar. Bu şifreleme yönteminde de eksik birtakım şeyler vardır. Mesela userların okuma hakkı olduğu zaman bu dosya c/p yapılıp içinde bulunan şifreler çok kolay bir şekilde çözüşür. Shadow Password bu nedenden dolayı ortaya çıkmış bir uygulamadır. Şifreler yeniden şifrelenerek /etc/shadow içerisine atılır ve /etc/passwd dosyası altında şifre bırakılmaz. Böylece daha güvenli bir yapı oluşturulmuş olur.

**Md5 Şifrelemesi:

Linux ta açılan kullanıcılar için verilecek şifrenin uzunluğu en fazla 8 karakter olabilir. Daha uzun yazsanız bile Linux sadece ilk 8 karakteri şifre olarak kabul edecektir.Bu da demek oluyor ki şifre en fazla 8 karakter olabiliyor ve şifrelerimizi çözmek isteyen biri için bu bir başlangıç noktası, ipucu niteliği taşıyor. Bu ipucunu yok etmenin de bir yolu var tabi ki. Çözüm az önce merak ettiğimiz MD5 şifrelemesi. MD5 şifrelemesi sayesinde şifre uzunluğu 8 karakterden 256 karaktere kadar çıkarabiliyor. Bu da crackerin ömrünün bilgisayar başında geçirerek şifreyi kırmaya çalışacağı anlamına geliyor. Sistem şifrelerini korumak amacıyla mutlaka gölgeli şifreleme ve MD5 şifrelemesini Kullanın!!


2. DOSYA GÜVENLİĞİ
Her dosyanın bir sahibi, bir de grubu vardır. Dosya üzerinde kimin hangi işlemleri yapabileceğine dosyanın sahibi olan kullanıcı karar verir. Erişim hakları, dosyanın sahibi, grubu ve diğerleri için ayrı ayrı belirtilir.



-rwxr-x--- 1 uyar users 4030 Dec 4 15:30 dene



Dizinler için de aynı erişim hakları modeli geçerlidir. Bir dizin üzerindeki okuma izni, dizin altındaki programların listesinin alınıp alınamayacağını, yazma izni dizinde yeni bir dosya yaratılıp yaratılamayacağını, çalıştırma izni de o dizine geçilip geçilemeyeceğini belirler. Yetkili kullanıcının (root) bütün dosyalar ve dizinler üzerinde (birkaç sistem dosyası ve dizini haricinde) bütün işlemleri yapma yetkisi vardır.



Tehlikeler: İşletim sisteminde ya da uygulama programlarında bir hata olmadığı sürece erişim izni olmayanlar dosyayı zaten okuyamayacaklardır. Asıl tehlike, yetkili kullanıcının yetkisini kötüye kullanarak kullanıcıların kişisel dosyalarını ve mektuplarını okumasıdır. Her şeye yetkisi olan bir kullanıcı, sistemin kararlılığını korumak için gerekli olmakla birlikte, güvenliği ve özel bilgilerin gizliliğini bir kişinin ahlakına bırakması açısından Linux (ve Unix) işletim sisteminin güvenliğinin en zayıf noktalarından biri olarak değerlendirilmektedir.

Saldırgan, sisteme girince, hem sonraki girişlerini kolaylaştırmak, hem de daha rahat çalışabilmek için bazı sistem dosyalarını ya da programlarını değiştirebilir. Örneğin, şifre dosyasına bir kayıt ekleyerek kendine yetkili bir kullanıcı yaratabilir. Kullanıcıların şifrelerini öğrenmek için login, passwd gibi programları değiştirebilir.

Önlemler: Şifre güvenliği sağlandığı sürece dosya erişimlerinde fazla bir güvenlik sorunu olmayacaktır. Bu konuda sistem sorumlusuna düşen, kullanıcılarını erişim haklarını nasıl düzenleyecekleri konusunda bilgilendirmektir.

Şifre dosyası gibi metin dosyalarında değişiklik olup olmadığı gözle inceleme yaparak ya da basit komut satırı programları kullanarak bulunabilir. Çalıştırılabilir dosyalar gözle kontrol edilemeyeceğinden en uygun yöntem, dosya imzaları oluşturarak sağlam olduğu bilinen imzalarla yeni hesaplanan imzaları karşılaştırmaktır. Tripwire paketi, dosyalarda yapılan değişiklikleri fark etmekte sistem sorumlusuna ve kullanıcılara yardımcı olur. Önce sağlam olduğu bilinen dosyaların dosya imzaları oluşturularak bir yerde saklanır. Sonraki çalıştırmalarda imzalar yeniden hesaplanarak eskileriyle karşılaştırılır ve farklı olanlar varsa bildirilir. Düzgün çalışma için özgün imzaların iyi korunması, mümkünse, üstüne yazılamayan bir ortamda saklanması gerekir.


3.KULLANILMAYAN AÇIK PORTLARIN KAPATILMASI


Bilgisayarınızın aslında internete açılmak ve çeşitli internet uygulamalarını (ftp,telnet,irc , .. vs ) çalıştırmak için bu işlemlere karşılık gelen portları kullandığını biliyor muydunuz? Portlar herhangi bir internet uygulamasının haberleşme için kullandığı sanal çıkış noktalarıdır.Her uygulamaya özgü bir port vardır ve diğer hiçbir uygulama başka uygulamaya ait porttan bilgi giriş ve çıkışı yapamaz. Bir an için portların gerçekten bilgisayarın içinde olduğu düşünecek olursak, üzerinde bir çok farklı boyutlarda açılmış delik bulunan bir tabla hayal edelim. Bu delikler portlarımız olsun. Her biri farklı boyutlarda olduğu için birine ait bir çomak diğerine asla tam olarak yerleşemez; ya dar gelir ya da bol.portların mantığı da aynen bu örnekteki gibidir.



Ayrıca sisteminizin verdiği servisler doğrultusunda kullandığı portları dinleyerek açık olup olmadığını tespit eden programlar vardır. Bu programlar sayesinde sisteminiz hakkında bilgi edinen bir hackerin içeri giriş noktalarını kapatmak en akıllıca çözüm olur.
RedHat’ı eğer sunucu olarak kurduysak açılışta , önceden seçilmiş servisleri çalıştırır (web sunucusu, dns sunucusu gibi). Bu sunucularında tabi ki belli portları vardır fakat artık bir sunucunun görevine son vermek istiyorsak bunu nasıl yaparız? Önceki bölümlerde anlatılan `SETUP` uygulaması bize yine bu aşamada da yardımcı oluyor. Setup komutunu vererek bu uygulamayı başlatıp "services" seçeneğine girersek bazı servisleri için başlatma/kapatma seçimini rahatlıkla yapabiliriz. Peki telnet ya da ftp servislerini kapatmak için ne yaparız? Linux tüm internet uygulamalarına ait görevi inetd’ye yani internet deamon denilen "internet canavarına" vermiştir. Bu canavar /etc/inetd.conf adlı konfig dosyasında belirtilen tüm portları dinleyerek, gelen istemlere karşılık gelen servisi yerine getirir. İşte bu konfig dosyasını değiştirerek sürdürülen servisleri kapatmak mümkün. Örnekte bu dosyadan alınan bir kısım görülüyor.

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd




Buradan ftp ve telnet hizmetlerinin verildiğini anlıyoruz. Eğer bu hizmetleri kapatmak istersek, istenmeyen hizmetin yazdığı satırın başına `#` işaretini koymamız yeterli olur. Bu işaret aslında bu satırın yorum satırı olduğunu belirterek inetd’nin bu işlemleri görmesini engeller.

#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd




Artık size telnet’le ulaşmaya çalışan istemciye bu servisin verilmediği ve bağlantının kesildiği bildirilir. Kullanmadığınız servisleri bu şekilde kapatmanız sizi daha güvenli bir sisteme ***ürür. Eğer verilen servislerin hangi portlardan gerçekleştiğini görmek ve kapatmak istiyorsanız aynı yöntemle /etc/services dosyasıyla da oynayabilirsiniz. Kapatılan servislerin tekrar açılması için satır başlarına konan `#` işaretlerinin kaldırılması ve inetd’nin kapatılarak tekrar çalıştırılması gerekir. Bunun için yazılacak komut aşağıda belirtilmiştir.

#killall -HUP inetd



4.UZAKTAN ERİŞİMİ KAPATMAK ve GÜVENLİ KABUK SSH


Bildiğiniz gibi linux ile beraber gelen telnet desteği oldukça çok kullanılan bir uygulamadır. Telnet sayesinde karşı uzak sisteme eğer kullanıcı hesabınız varsa bağlanıp bu sistemi aynı kendi bilgisayarınız gibi kullanabilirsiniz. Tabi bu erişim biraz daha yavaş bir şekilde gerçekleşecektir. Telnet servisini çalıştırıyorsanız ve kullanıcılarınız varsa aynı mekanizma sizin sisteminiz içinde geçerli olur. Ne yazık ki telnet uygulaması sanıldığı kadar güvenli değildir. Karşılıklı yapılan şifre alışverişlerinde bir şifreleme, gizleme yapılmadığı için bilgiler istenmeyen kişilerin eline geçebilir, ve daha önemlisi hackerların sisteme sızmak için deneyeceği ilk port telnetin portudur. Bunu engellemek ve maksimum derecede güvenli bir bağlantı sağlamak için yeni bir kabuk geliştirilmiştir ve bu kabuğun şu ana kadar bilinen hiç bir açığı yoktur! Bu kabuğun adı SSH yani güvenli kabuk anlamına gelen `secure shell` dir. Eğer bu kabuğu kullanacaksanız öncelikle telnet’i bir önceki maddede anlatılan biçimde servis dışı bırakmanız daha doğru olur. SSH i Cd de güvenlik dizini altında bulabilirsiniz. Kurulum ve verimli bir SSH için belirtilen tüm paketlerin kurulması gerekmektedir.

ssh-1.2.26.-4i.i386.rpm
ssh-clients-1.2.26.-4i.i386.rpm
ssh-server-1.2.26.-4i.i386.rpm
ssh-extras-1.2.26.-4i.i386.rpm




Eğer sisteminize bağlanan kullanıcılarınız başka bir işletim sistemini kullanıyorlarsa, bu onların artık bağlanamayacağı anlamına gelmez. Telnet istemcisi gibi bir de SHH istemcisini internetten temin edebilirler.

5.BELİRLİ IP ADRESLERİNE İZİN VERİLMESİ



Kullanıcılarınız tarafından herhangi bir makineden Linux`unuza yapılan bağlantıları denetlemek, gerekli zamanlarda kısıtlamak ve böylece davetsiz misafirleri ileride engellemek amacıyla; /etc dizini altında bulunan iki konfigürasyon dosyası vardır.

/etc/hosts.deny DOSYASI

Bu konfig dosyası sayesinde Linux’unuz tarafından verilen servislere alan kısıtlaması getirilebilir. Yani bu servislerin bir ya da birkaçını istediğiniz güvenilir bir ağa ya da bir tek IP adresine izin vererek, bu adresler dışındaki makineler bu servisleri kullanamaz. Adından da anlaşılacağı üzere host.deny(makine.reddi) dosyası kabul etmediğiniz makine ip adreslerini yazabileceğiniz bir dosya. Örnek bir /etc/host.deny üzerinde yorum yapalım:

#/etc/hosts.deny
in.telnetd : ALL except localhost
in.ftpd : ALL except localhost

Burada belirtilen in.telnetd, verilen servisin adıdır. ALL seçeneğini ile tüm uzak erişime bu servis kapatılır; ancak bu servisten bizde mahrum kalırız. Bunun için `except` yani hariç parametresinden sonra kendimizi ekleriz ki bu servis bize açık olsun.

#/etc/hosts.deny ornek 2
in.telnetd : ALL




Bir önceki örnekten farklı olarak bu örnekte telnet servisi tüm makinelere kapatılmıştır. Bu servisin hizmet vermeyeceği makineler arasında kendi makinemiz de var, farkı yalnızca bu. Size bir başlangıç fikri vermek gerekirse öncelikle /etc/host.deny `da bütün servisleri dışarıdan erişime kapamanız ve bir sonraki başlıkta incelenecek /etc/host.allow dan istediğiniz belli ip adreslerine ya da ağlara izin vermenizin daha güvenli olacağı doğrultusundadır. Aşağıda belirtilen biçimi host.deny için kullanabilirsiniz.

#/etc/host.deny ornek 3
ALL : ALL except localhost
/etc/hosts.allow DOSYASI

Yukarıda anlatılan ve kapatılan bir ya da tüm servisleri /etc/host.allow konfig dosyasını kullanarak belirli ya da güvenli ip adreslerine ya da ağlara açalım.

#/etc/hosts.allow ornek1
in.telnetd: .gelecek.com.tr
wu.ftpd : 195.34.34.0



Az önce hatırlarsanız tüm servisleri host.deny dosyasından kapatmıştık. Ancak bir servis her iki dosyada da geçtiği için Linux direkt olarak host.allow dosyasını göz önünde bulundurur. Bu örnekte de her makineye ve ağa kapalı olan telneti gelecek.com.tr domain ismi altındaki her makineye açık tutuyoruz. Ayrıca kapalı olan ftp servisini 195.34.34.0 olarak tanımlı tüm ağa açmış durumdayız. Buda 195.34.34.1 - 195.34.34.254 arasında bir ip adresine sahip tüm makinelerin bu servisi kullanması anlamını taşır.Bu şekilde servisleri belli bir ağa verebileceğimiz gibi sadece belli bir ip adresine de bu servisleri açabiliriz. Örnek 2’yi inceleyiniz.

#/etc/hosts.allow ornek2
in.telnetd: 195.56.57.3
wu.ftpd : 195.98.97.9

6.UZAKTAN YAPILAN SALDIRILAR



İşletim sistemlerine bağlı olarak sistemleri bir müddet için dondurmaya, devre dışı bırakmaya, hatta internetten bağlantısını kopartmaya kadar zarar verici ve uzaktan (remote) yapılabilecek saldırılar son bir kaç yıldır gündemde. Bunlara verilen genel ad `Denial of Service` yani service dışı bırakma `dır. Bunlara örnek olarak teardrop, newtear, nestea, smurf, land, lattierra, ssping verilebilir. Bu saldırıların bir çoğu linux üzerinde etkisizdir. Sadece tear-drop ve yeni versiyonu olan new-tear ile nestea ayrıca broadcast (yayın ) haberleşmesi üzerinde gerçeklenen smurf Linux’u etkileyebiliyordu. Etkileyebiliyordu diyorum çünkü bu saldırılar çıktıktan hemen sonra Linux için bir üst sürüm kernel yazılmış ve bu açık giderilmişti. Kernel`in 2.0.34 sürümünden beri Linux’a karşı bu saldırılar etkisizdir. Düşünün ki RedHat Linux 6.0 in çekirdeği 2.2.5. Ancak Unix ve unix türevleri dışında diğer işletim sistemlerinin çoğu bu saldırılardan hala etkileniyor. Bu konuda Linux’unuza güveniniz tam olsun! Son zamanlarda iyice "moda" olan DDoS (distrubuted denial of service) saldırıları ise her işletim sistemini etkiler. Ancak sistemi ping e kapatırsanız güvende olma şansınız bire iki oranında artar. Sizin yaşamadığınızı düşünün biri size ateş etmez değil mi?


KAYIT TUTULMASI


Güvenliğin en önemli parçalarından biri, sistemin sürekli izlenerek, güvenliğe aykırı durumlar oluşup oluşmadığının, oluştuysa bunların sorumlularının kimler olduğunun belirlenmesidir. Bunun için, güvenliği ilgilendirebilecek her türlü olayın kaydı tutulmalıdır. Şu tip bilgiler, güvenlik açısından değer taşırlar:

- Başarısız veya başarılı olmuş sisteme giriş denemeleri

- Nerelerden, hangi hizmetler için bağlantı istekleri geldiği

- Hizmetler sırasında gerçekleşen dosya aktarımları

Linux’ta kayıt tutulması işini syslogd süreci görür. Hangi tür mesajların hangi dosyaya yazılacağı konfigürasyon dosyasında (/etc/syslog.conf) belirtilir. Genellikle makine ilk açıldığı zaman /var/adm/messages dizini altındaki messages, xferlog, syslog gibi dosyalara yazılan bu bilgileri isteğinize göre daha sistematik bir yapıda saklamak da mümkündür. Ağ ile ilgili hizmetleri denetleyen süreçler (tcpwrapper, xinetd gibi paketler) kayıt dosyalarına girmesini istedikleri bilgileri syslogd sürecine bildirirler.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.