Sistem Güvenliğinin Temel Bileşenleri
Sistem güvenliğinin bana göre üç temel bileşeni vardır:
Sistem yönetimi: Sistemin yönetiminde dikkat edilmesi gereken sistem yöneticisi olan kişinin sistem üzerindeki kontrolüde önemlidir. Sistem yöneticileri, sistemi yönetmekte ve gereken önlemeleri almakta bazı hatalara düşebilmektedir. Her paket veya yazılım incelenmeden sisteme kurulmamalıdır. Güvenlik yapılandırımasında kullanılan araçlar ve yazılımların dikkatle elden geçirilmesi gereklidir. Örneğin geliştirme aşamasında olan bir firewall düzenleme aracının kritik öneme sahip bilgilerin saklandığı sunucularda kullanılmasının hatalı olacağı açıktır. Öncelikle kullanacağınız paketler ve yazılımları deneme amaçlı olarak yapılandırdığını bir sistemde deneyip emin olduktan sonra kullanmanız uygun olacaktır.
Yazılım ve paket yönetimi sistem yöneticilerinin dikkate alması gereken bir noktadır. Ancak bununla da bitmemektedir. Sistem yöneticilerinin gelişen teknolojiyi de yakından izlemesi gereklidir. Değişen ve gelişen yazılımlar her zaman için süreklilik göstermemektedir. Bunun anlamı ise kısaca kullandığınız uygulamanın desteğinin kesilmesi ile kullanılıp kullanılmayacağına karar vermek durumunda olmanızdır. Kod üzerinde hakim değilseniz artık geliştirilmeyen veya kullanılmayan yazılım ve paketlerideki hataları, açıkları da bulmak size kalmaktadır.
Doğru yapılandırılmış bir güvenlik sistemi: Güvenlik sistemi bir sunucu veya kişisel kullanıma yönelik bir kişisel bilgisayardan, bir iş istasyonuna dek geniş bir yelpaze üzerinde yer alan tüm sistemlerin güvenliğinin sağlanması için gerekli ve yeterli düzenlemlerin yapılmasıdır. Doğru yapılandırılmış güvenlik sistemi için kullanacağınız sistemtiği geliştirmek sistem yöneticilerine, ağ yöneticilerine, veri tabanı yöneticilerine dek geniş bir yelpaze de yer alan bir çok kişinin birlikte çalışmasını gerektirir. Ancak temel ilke savunmanın tek bir hatta değil derinlemesine geniş bir alanda yapılması gerektiği olmalıdır. Derinliğine bir savunma sistemin veya ağ yapılandırmasında olası bir sızmada davetsiz misafirlerin belirli bir noktadan daha ileri gitmesinin engellenmesi olmalıdır.
Şifreler
İlk adım root için seçtiğiniz şifreler ile başlar. İyi yapılandırılmış bir şifre her zaman için kırılması en zor olandır. Evlilik yıl dönümleri, akrabaların veya evcil hayvanların isimleri, tuttuğunuz takımın adı, kuruluş yıldönümü, dağıtımın kurucusu ve LinusTorvalds şifre olarak seçilmemelidir. Bu tür şifreler ilk olarak denenenlerdir.
İyi bir şifre nasıl olur? İiy bir şifre anımsanması kolay ancak anlamsız harf ve sayı dizilerinden oluşmalıdır. Örneğin bir cümledki sözcüklerin baş harfleri ve arealarına serğiştirilmiş sayılar iyi bir şifre oluşturur. Böylece şifrenin çözülmesi kısmen zorlaşacaktır. Aşağıda bu tür bir şifrenin oluşturulmasını gösteriyorum.
Ali sahilde koşuyor annesi babası onu iakıyor 2005
askaboi2005
Bir şifre oluşturdunuz. Güvenlik açıkları konusunda şifrelerin kırılması ile sisteme giriş yapılması yaygın bir uygulamadır. bu amaçlı özel yazılımlar hazırlanmıştır. Sözlük Saldırısı olarak tanımlanan bu saldırılarda sözlüklerde yer alan sözcükler denenerek şifreler bulunmaya çalışılır. Sevdiğiniz bir kitapta okuduğunu kurgusal bir ırka veya canlı türüne ait sözcükleri de kullanmayın. Uzay Yolu'ndaki Klingonlar'ın dilincen hazırlanmış Klingon sözlüğü dahi vardır. Kaldı ki Hobbitçe, Elfçe ve sair dillerde de sözlükler neden olmasın?
Tüm dünya dilleri, bilim kurgu ve fantezi edebiyatında yer alan tüm dillerde sözlükler bulunmaktadır.
su ve sudo
Her zaman size root olarak sisteme giriş yapmamanız ve kullanıcı hesabı oluşturmanız söylenmiştir. Kullanıcı olarak sisteme giriş yaptıktan sonra su komutu ile root olarak işlem yapabilirsiniz. Biz ise bir adım ileri giderek komutu kimlerin kullanabileceğini ve kullanamayacağını belirleyeceğiz. etc dizininde yer alan suauth (veya sudoers) dosyası su komutunun kullanımını düzenleyen dosyalardır. Bu dosyaya aşağıdaki gibi bir satır ekleyelim.
root:ALL EXCEPT GROUP webhost
Burada webhost olarak tanımlanmış grubun su yetkisinin olmadığı tanımlanmıştır. Düzenleme grup bazında yapılabileceği gibi kullanıcı bazında da yapılabilir. Ayrıntı bilgi için man sayfalarında Bölüm 5 bakınız.
Kısıtlamak kadar da izlemek de gereklidir. Bir adım daha ileri gidip su komutu ile yapılan işlemleri izlemeye bağşlayalım. etc dizininde yer alan login.defs dosyasını düzenleyebiliriz. Burada yer alan
SYSLOG_SU_ENAB yes
Satırının önünde # işareti yer alıyorsa kaldırın. Bu satır yoksa da ekleyiniz. Örneğin bu işlemleri ayrı bir dosyaya alıp inceleyelim. Yine aynı dosyada aşağıdaki satırı ekleyerek kayıtların tanımladığımız dosyaya aktarılmasını sağlayabiliriz.
SULOG_FILE /var/log/sulog
Bu satır sizin sisteminizde yer alan dosya da yer alıyor olabilir. Yer alıyorsa ve önünde # işareti varsa işareti kaldırın. Kayıt işlemi başlayacaktır. Sisteminizde sudo kullanılıyorsa sudoers dosyası yer alacaktır. Bu durumda sudosudoers man sayfalarına baş vurmanız ve seçenekler hakkında bilgi almanız gereklidir.
Sistem güvenliğinin bana göre üç temel bileşeni vardır:
- Güncellemeler ve yamalar
- Sistem Yönetimi
- Doğru yapılandırılmış bir güvenlik sistemi
Sistem yönetimi: Sistemin yönetiminde dikkat edilmesi gereken sistem yöneticisi olan kişinin sistem üzerindeki kontrolüde önemlidir. Sistem yöneticileri, sistemi yönetmekte ve gereken önlemeleri almakta bazı hatalara düşebilmektedir. Her paket veya yazılım incelenmeden sisteme kurulmamalıdır. Güvenlik yapılandırımasında kullanılan araçlar ve yazılımların dikkatle elden geçirilmesi gereklidir. Örneğin geliştirme aşamasında olan bir firewall düzenleme aracının kritik öneme sahip bilgilerin saklandığı sunucularda kullanılmasının hatalı olacağı açıktır. Öncelikle kullanacağınız paketler ve yazılımları deneme amaçlı olarak yapılandırdığını bir sistemde deneyip emin olduktan sonra kullanmanız uygun olacaktır.
Yazılım ve paket yönetimi sistem yöneticilerinin dikkate alması gereken bir noktadır. Ancak bununla da bitmemektedir. Sistem yöneticilerinin gelişen teknolojiyi de yakından izlemesi gereklidir. Değişen ve gelişen yazılımlar her zaman için süreklilik göstermemektedir. Bunun anlamı ise kısaca kullandığınız uygulamanın desteğinin kesilmesi ile kullanılıp kullanılmayacağına karar vermek durumunda olmanızdır. Kod üzerinde hakim değilseniz artık geliştirilmeyen veya kullanılmayan yazılım ve paketlerideki hataları, açıkları da bulmak size kalmaktadır.
Doğru yapılandırılmış bir güvenlik sistemi: Güvenlik sistemi bir sunucu veya kişisel kullanıma yönelik bir kişisel bilgisayardan, bir iş istasyonuna dek geniş bir yelpaze üzerinde yer alan tüm sistemlerin güvenliğinin sağlanması için gerekli ve yeterli düzenlemlerin yapılmasıdır. Doğru yapılandırılmış güvenlik sistemi için kullanacağınız sistemtiği geliştirmek sistem yöneticilerine, ağ yöneticilerine, veri tabanı yöneticilerine dek geniş bir yelpaze de yer alan bir çok kişinin birlikte çalışmasını gerektirir. Ancak temel ilke savunmanın tek bir hatta değil derinlemesine geniş bir alanda yapılması gerektiği olmalıdır. Derinliğine bir savunma sistemin veya ağ yapılandırmasında olası bir sızmada davetsiz misafirlerin belirli bir noktadan daha ileri gitmesinin engellenmesi olmalıdır.
Şifreler
İlk adım root için seçtiğiniz şifreler ile başlar. İyi yapılandırılmış bir şifre her zaman için kırılması en zor olandır. Evlilik yıl dönümleri, akrabaların veya evcil hayvanların isimleri, tuttuğunuz takımın adı, kuruluş yıldönümü, dağıtımın kurucusu ve LinusTorvalds şifre olarak seçilmemelidir. Bu tür şifreler ilk olarak denenenlerdir.
İyi bir şifre nasıl olur? İiy bir şifre anımsanması kolay ancak anlamsız harf ve sayı dizilerinden oluşmalıdır. Örneğin bir cümledki sözcüklerin baş harfleri ve arealarına serğiştirilmiş sayılar iyi bir şifre oluşturur. Böylece şifrenin çözülmesi kısmen zorlaşacaktır. Aşağıda bu tür bir şifrenin oluşturulmasını gösteriyorum.
Ali sahilde koşuyor annesi babası onu iakıyor 2005
askaboi2005
Bir şifre oluşturdunuz. Güvenlik açıkları konusunda şifrelerin kırılması ile sisteme giriş yapılması yaygın bir uygulamadır. bu amaçlı özel yazılımlar hazırlanmıştır. Sözlük Saldırısı olarak tanımlanan bu saldırılarda sözlüklerde yer alan sözcükler denenerek şifreler bulunmaya çalışılır. Sevdiğiniz bir kitapta okuduğunu kurgusal bir ırka veya canlı türüne ait sözcükleri de kullanmayın. Uzay Yolu'ndaki Klingonlar'ın dilincen hazırlanmış Klingon sözlüğü dahi vardır. Kaldı ki Hobbitçe, Elfçe ve sair dillerde de sözlükler neden olmasın?
su ve sudo
Her zaman size root olarak sisteme giriş yapmamanız ve kullanıcı hesabı oluşturmanız söylenmiştir. Kullanıcı olarak sisteme giriş yaptıktan sonra su komutu ile root olarak işlem yapabilirsiniz. Biz ise bir adım ileri giderek komutu kimlerin kullanabileceğini ve kullanamayacağını belirleyeceğiz. etc dizininde yer alan suauth (veya sudoers) dosyası su komutunun kullanımını düzenleyen dosyalardır. Bu dosyaya aşağıdaki gibi bir satır ekleyelim.
root:ALL EXCEPT GROUP webhost
Burada webhost olarak tanımlanmış grubun su yetkisinin olmadığı tanımlanmıştır. Düzenleme grup bazında yapılabileceği gibi kullanıcı bazında da yapılabilir. Ayrıntı bilgi için man sayfalarında Bölüm 5 bakınız.
Kısıtlamak kadar da izlemek de gereklidir. Bir adım daha ileri gidip su komutu ile yapılan işlemleri izlemeye bağşlayalım. etc dizininde yer alan login.defs dosyasını düzenleyebiliriz. Burada yer alan
SYSLOG_SU_ENAB yes
Satırının önünde # işareti yer alıyorsa kaldırın. Bu satır yoksa da ekleyiniz. Örneğin bu işlemleri ayrı bir dosyaya alıp inceleyelim. Yine aynı dosyada aşağıdaki satırı ekleyerek kayıtların tanımladığımız dosyaya aktarılmasını sağlayabiliriz.
SULOG_FILE /var/log/sulog
Bu satır sizin sisteminizde yer alan dosya da yer alıyor olabilir. Yer alıyorsa ve önünde # işareti varsa işareti kaldırın. Kayıt işlemi başlayacaktır. Sisteminizde sudo kullanılıyorsa sudoers dosyası yer alacaktır. Bu durumda sudosudoers man sayfalarına baş vurmanız ve seçenekler hakkında bilgi almanız gereklidir.