CORE BİLİŞİM GÜVENLİĞİ GRUBU GENTOO LINUX ve KURULUMU http://www.core.gen.tr Gentoo Linux 1 http://www.core.gen.tr 1. Giriş ● Core Bilişim Güvenliği Grubu Tanıtımı ● Gentoo Linux Deneyimimiz Gentoo Linux 2 http://www.core.gen.tr 2. Gentoo Linux Nedir? ● ● ● Gentoo tarihçesi – Daniel Robbins (Ocak 1999) – Gentoo LFS projesinden türetilmiş bir dağıtımdır Gentoo özgür bir yazılımdır ve özgür kalacaktır IBM ve birçok geliştirici tarafından desteklenmektedir Gentoo Linux 3 http://www.core.gen.tr 2. Gentoo Linux Nedir? ● ● ● ● Bir üst-dağıtımdır. (meta-distro) Gentoo ileri düzey kullanıcıları hedeflemektedir Her an yenilenmektedir X86, PPC, Sparc32, Sparc64, (Alpha) platformları desteklenmektedir Gentoo Linux 4 http://www.core.gen.tr 2. Gentoo Linux Nedir? ● Güncel sürüm: 1.4 RC-2 ● LiveCD – Gentoo Maymuncuk CD'si ● 3500+ yazılım paketi desteği ● Tam, zengin ve güncel belgelere sahip ● Bugzilla hata ayıklama sistemi (bugs.gentoo.org) Gentoo Linux 5 http://www.core.gen.tr 2. Gentoo Linux Nedir? ● Gentoo istatistikleri (stats.gentoo.org) – ● ● ● 1400 katılımcı Forum ile kolay çözüm (forums.gentoo.org) Haftalık haber bülteni (gentoo.org/news) E-Posta listeleri (gentoo.org/main/en/lists.xml) irc.freenode.net Gentoo Linux ● #gentoo* (~500) 6 http://www.core.gen.tr 3. Paket Yöneticisi – Portage! ● Basitçe paketlerin kaynak kodlarından derlenmesini sağlar ● Paket veritabanı ● Paket bağımlılıkları ● USE değişkeni ● Yapılandırma dosyaları ● Maskelenmiş paketler Gentoo Linux 7 http://www.core.gen.tr 3. Paket Yöneticisi – Portage! ● Otomatik kurulum sonrası yapılandırma ● Profiller ● Gelişmiş özellikler Gentoo Linux 8 http://www.core.gen.tr 3.1 Portage Veri Tabanı ● Dizin yapısı (/usr/portage) – licenses/, distfiles/, packages/, eclass/, profiles/, scripts/ ● Ebuild dosyaları ● Kurulu Paketlerin Bilgileri – (var/db/pkg) dizini – (var/cache/edb) dizini Gentoo Linux 9 http://www.core.gen.tr 3.2 Portage – Paket Bağımlılıkları ● ● ● Paket kurulurken bağımlı olduğu diğer yazılımlarda beraberinde kurulur. Güncel yazılımların takip edilmesi sonucu geriye dönük bağımlılıklar en aza inmiştir. Paket bağımlılıkları kurulmadan önce izlenebilir. Gentoo Linux 10 http://www.core.gen.tr 3.3 Portage – Yapılandırma Dosyaları ● ● ● ● Güncelleme ve/veya yükleme sırasında önceden yapılandırılmış ayar dosyaları korunur. İstenirse bir çevre değişkeni ile diğer dizinler de korunabilir. Ayar dosyaları elle yeniler. Değişen ayar dosyaları hakkında size bilgi verir. Gentoo Linux 11 http://www.core.gen.tr 3.4 Portage – USE değişkeni ● Yazılımların istenen extra özellikleri kazanması bu değişken sayesinde kontrol edilir. – Ör: Apache+PHP+Xslt+Xml+ModSSL+MySQL (USE=”xslt xml2 mysql” emerge mod_php) (ApacheToolbox'a gerek yok.) – Ör: Midnight Commander-XFree86 (USE=”-X” emerge mc) Gentoo Linux 12 http://www.core.gen.tr 3.5 Portage – Maskelenmiş Paketler ● ● ● Sistem güvenirlirliğini ve kararlılığını korumak için bazı paketler maskelenmiştir. Problem ve/veya hatalar çözüldükten sonra bu maske bayrağı kaldırılarak paket yeniden kullanıma açılır. Bu bayrak geliştiriciler tarafından atanır. Gentoo Linux 13 http://www.core.gen.tr 3.6 Portage – Kurulum Sonrası Otomatik Yapılandırma ● ● Bazı paketler kurulum sonrasında yapılandırmaya ihtiyaç duymaktadır. Portage bu işlemi de sizin adınıza yapar. – Ör: Apache httpd.conf'ta Php modülünün aktif hale getirilmesi. Gentoo Linux 14 http://www.core.gen.tr 3.7 Portage – Profiller ● Meta-Distro ayarları buradan yapılır (etc/make.profile) – Ör: Default USE değişkeni değeri – Ör: MTA değişimi (etc/make.profile/virtuals) Gentoo Linux 15 http://www.core.gen.tr 3.8 Portage – Gelişmiş Özellikler ● Sahte Kurulum ● Güvenli Paket Çıkarma ● Sanal Bağımlılık ● Özel Ebuild dosyası geliştirme ● Sandbox ● GRP: Gentoo Reference Platform Gentoo Linux 16 http://www.core.gen.tr 3.8 Portage – Gelişmiş Özellikler ● KPortage – Portage GUI ● Gentoolkit ● Düşünülen eklentiler ● Kararlı/Kararsız paket seçeneği (~arch) Gentoo Linux 17 http://www.core.gen.tr 4. Gentoo Kurulum Stratejileri ● Kurulum CD'si kullanılarak ● Varolan Linux kullanılarak derleme ● Disksiz istemci kurulumu Gentoo Linux 18 http://www.core.gen.tr 5. Optimizasyon Avantajları ● ● GCC 3.2.1 ve GCC 2.95.6 kullanma şansı Platform GCC özelliklerinden maksimum yarar sağlama ● DistCC (Distributed Compiling) ● Ccache (C Object Caching Engine) Tüm sisteminiz sadece ve sadece sizin makinanıza özel. Gentoo Linux 19 http://www.core.gen.tr 6. Çekirdek Seçenekleri ● ● ● ● 26 farklı çekirdek seçeneği Gentoo-sources paketi ile gentoo özel, kararlı ve son sürüm çekirdek Alan Cox gibi geliştiricilerin çekirdeklerini takip imkanı User-Mode-Linux, Win4Lin Kernel, OpenMosix, CryptoSources, RedHat Gentoo Linux 20 http://www.core.gen.tr 7. Prelinking ● ● Önbağlama sayesinde %50'ye varan hız artımı Gerektiğinde kullanımdan çıkarılabilir Gentoo Linux 21 http://www.core.gen.tr 8. Gentoo Sistem Yönetimi ● Yapılandırma dosyaları ● Dosya sistemi seçenekleri ● Servislerin yönetimi ● Sistem güncelleme ● Masaüstü sistem ayarları ● Gentoo LiveCD ile kurtarma Gentoo Linux 22 http://www.core.gen.tr 8.1 Yapılandırma Dosyaları ● (etc/conf.d) dizininde bulunurlar – ● (etc/modules.d) donanım ayarları dizini – ● Öntanımlı ayarlar ile gelirler (etc/modules.autoload) açılışta yüklenecek modüller (etc/devfsd.conf) DevFS dosya sistemi ayarları Gentoo Linux 23 http://www.core.gen.tr 8.1 Yapılandırma Dosyaları ● ● ● ● (etc/make.conf) portage için yerel sistem ayarları (etc/rc.conf) klavye, font, dil, ağ protokolü, saat tipi, xdm ayarları (etc/runlevels) sadeleştirilmiş init durumları (eski etc/rc.d) (etc/security) güvenlik seviye ayarları Gentoo Linux 24 http://www.core.gen.tr 8.2 Dosya Sistemi Seçenekleri ● En geniş dosya sistemi seçenekleri – Ext3 – ReiserFs – XFS – JFS – AFS – LVM, EVMS (Volume Management) Gentoo Linux 25 http://www.core.gen.tr 8.3 Servislerin Yönetimi ● Servislerin başlatılması ve durdurulması (etc/init.d) ● Runlevel düzenlemeleri (rc-update) ● Cron servisi: dcron ● Syslog servisi: sysklogd ● Log düzenleyici: logrotate Gentoo Linux 26 http://www.core.gen.tr 8.4 Sistem Güncelleme ● emerge rsync ● emerge --update --pretend system ● emerge -up world ● ._cfg* ile ayar koruma ● Güncellenen servisler yeniden başlatılır Gentoo Linux 27 http://www.core.gen.tr 8.5 Masaüstü Ayarları ● X -configure ● emerge nvidia-kernel nvidia-glx ● ● ● KDE: USE=”qt kde -gnome -gtk” emerge kde GNOME: USE=”gnome gtk -kde -qt” emerge gnome (etc/rc.conf) DISPLAYMANAGER Gentoo Linux 28 http://www.core.gen.tr 8.5 Masaüstü Ayarları ● rc-update add xdm default ● grep audio /proc/pci ● ● env ALSA_CARDS=”emu10k1” emerge alsa-driver alsa-utils alsa-xmms (etc/modules.d/alsa) – alias snd-card-0 snd-emu10k1 – alias snd-slot-0 snd-card-0 Gentoo Linux 29 http://www.core.gen.tr 8.6 LiveCD ile Kurtarma ● Her tür dosya sistemini destekler ● Her tür ağ kartını destekler ● ● ● NFS ve SSH istemcileri yanında sunucuları da CD'den direk çalıştırılabilir Destek amacı ile IRC istemcisi “irssi” kullanılabilir Çalışan küçük bir gentoo dağıtımıdır. Gentoo Linux 30 http://www.core.gen.tr 9. Güvenlik ● ● ● ● Güncellik sayesinde yamaların en kısa sürede uygulanması Donanıma erişebilmek için kullanıcı grup değişikliği (Ör: audio,video) Pam sayesinde “su” koruması ve grup değişikliği gerekliliği USE=”tcpd pam ssl” Gentoo Linux 31 http://www.core.gen.tr 9. Güvenlik ● ● ● ● Portage asla suid bit'li programları otomatik olarak “chmod +s” yapmaz. Loopback Crpyto filesystem: losetup GrSecurity: Çekirdeğiniz için güvenlik yaması X -nolisten tcp Gentoo Linux 32 http://www.core.gen.tr 10. Karşılaştırma ● Kurulum ● Belgeleme ● Güncelleme ● Yardım ● Hız ● Donanım desteği ● Sistem yönetimi ● Hata yamaları ● Güncellik ● Bağımlılık kontrolü ● Güvenlik Gentoo Linux 33 http://www.core.gen.tr 10. Kurulum Gentoo Linux Kurulum Uygulaması Gentoo Linux 34 http://www.core.gen.tr