2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

48
Linux’ta Güvenlik Uygulamaları Kocaeli Üniversitesi Linux Günü Burak Oğuz EMO Ankara Şubesi FindikProject ve MyDLP Geliştiricisi 14 Mayıs 2010

description

Linux istemciler ve sunuculardagüvenlik uygulamaları

Transcript of 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Page 1: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Linux’ta Güvenlik UygulamalarıKocaeli Üniversitesi

Linux Günü

Burak OğuzEMO Ankara Şubesi

FindikProject ve MyDLP Geliştiricisi

14 Mayıs 2010

Page 2: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Giriş

Linux tabanlı ağlar genelde Üniversiteler ve, Küçük ve orta ölçekli işletmelerde kullanılmaktadır Giderek büyük ölçekli kullanımda da artış

bulunmaktadır.

Page 3: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

İçerik

Linux iş istasyonlarının ve sunucularının güvenliği Kaynak kısıtlamaları Linux ağlarında ateş duvarı Denetleme araçları IDS – Snort OpenSSH Fındık OpenDLP ve MyDLP

Page 4: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

İş istasyonlarının güvenliği en önemli noktalardan birisidir. Önemli bilgiler genelde iş istasyonlarında saklanır

Çoğu güvenlik problemi ağın ve iş istasyonlarının doğru ayarlanması ile önlenebilir.

Mevcut Internet kaynakları bireyler, şirketler ve organizasyonlar için önem taşısada, yaygın depolama ve bilginin transferi önemli güvenlik ihlallerine sebep verebilir.

Page 5: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Bilişim sistemlerinde güvenliği sağlamanın garantili bir yolu yoktur. Bu iş çatıdaki delikleri kapamaya benzer.

Güvenlik sürekli bir süreçtir ve güvenlik açıkları sürekli takip edilmeli zamanında güncellemeler ve düzeltmeler yapılarak eksiklikler kapatılmalıdır.

Page 6: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Güvenlik Nedir?

CIA kuralı Gizlilik (Confidentiality) : İş istasyonlarındaki

ya da sunuculardaki bilginin doğru bir şekilde saklanabilmesi Yetkisiz erişimin engellenmesi Yetki sınırlarının çizilmesi Yetkisiz kullanıcıların bilgileri ağ üzerinden

iletmesinin engellenmesi

Page 7: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Bütünlük (Integrity) : İş istasyonlarında ya da sunucularda saklanan bilginin bilinçli ya da bilinçsiz bir şekilde değiştirilmesinin engellenmesi

Uygunluk (Availability) : Yetkili kullanıcılarının kendilerine ayrılan sistem kaynaklarına sürekli ve devamlı bir şekilde erişebilmeleri Erişim yetkilerinin değişmesinin engellenmesi Aşırı yüklemelerin önüne geçilmesi Servislere erişimin engellenmesi

Page 8: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Güvenlik Politikası

Hassas, gizli ya da değerli bilgiyi nasıl sınıflandırıyorsunuz?

Sisteminiz gizli ya da hassas bilgi bulunduyor mu?

Kime karşı koruma sağlıyorsunuz? Kullanıcıların gerçekten uzaktan erişime

ihtiyaçları var mı? Parolalarınız ya da şifreleme algoritmalarınız

yeterli mi?

Page 9: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

BIOS

Floppy, CDROM ve USB gibi taşınabilir cihazlardan sistem başlatma önceliğini kaldırın.

BIOSa mutlaka şifre koyun

Page 10: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Parolalar

Doğru parola politikasına sahip olduğunuzdan emin olun. /etc/login.def içerisinden gerekli parametreleri

atayın. PASS_MIN_LEN 5 -> 8 PASS_MAX_DAY 99999 -> 63

apg – Otomatik parola oluşturucu John the Ripper – parola kırıcı

Page 11: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Root Kullanıcı Hesabı

root kullanıcısı Linux sistemlerde güvenlik engellemelerine tabi olmadan her istediğini yapabilir.

Sunucunuza root olarak erişmeyin! root hesabı için mutlaka oturum zaman aşımı

değeri ekleyin. /etc/profile – Saniye cinsinden

TMOUT 7200

Page 12: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Uçbirim program erişimlerini engelleyin

Kullanıcılar için shutdown, halt, reboot gibi komutları yasaklayın. rm -f /etc/security/console.apps/<program>

Page 13: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ağ güvenliğine giriş

Ateş duvaları DMZ Iptables Denetleme araçları

Chkrootkit Nessus

Page 14: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ağ güvenliğine giriş

IDS – Saldırı tespit sistemleri Tripwire Snort

Kayıt tutma Logcheck

OpenSSH Kamu anahtarı yetkilendirmesi SSH tünelleme Port yönlendirme

Page 15: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ağ güvenliğine giriş

İçerik filtreleri Fındık Project

Bilgi sızıntısı engelleme OpenDLP MyDLP

Page 16: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ağ güvenliği

Ağ geçidinizin güvenliğini sağlamak her zaman ağa dönüşmüş bilgi altyapısında mutlak bir gereksinimdir.

Ağın doğru ayarlanması ile birçok problem engellenebilir

Page 17: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ateş duvarı

Paket filtreleme Veri ağa kaynağı, hedefi ve protokolü belirlenmiş paketler

halinde giriş çıkış yapar. Sadece yetkilendirilmiş ağ trafiğinin ağa giriş çıkış

yapabilmesidir.

Uygulama vekil sunucuları Uygulama vekil sunucuları ateş duvarları ile kullanılan iki

ağ arasında uygulamaların haberleşmesini sağlar Uygulama vekil sunucuları üzerinde gelişmiş filtreleme ve

erişim yetkilendirme yapılabilir.

Page 18: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Niye Ateş Duvarı?

Paket filtreleri güvenliği arttırır. Yabancıları ağınızdan uzak tutar. DoS ve ping flood gibi saldırıların

engellenmesini sağlar. Bilgi akışını düzenler. İç ağ kaynak kullanıcıların belirli protokol ve

sitelere erğişimini engeller.

Page 19: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ateş duvarı mimarileri

Basit sınır ateş duvarı

Page 20: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ateş duvarı mimarileri

Değersiz makine

Page 21: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ateş duvarı mimarileri

Demilitarized Zone – DMZ

Page 22: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Ateş duvarı mimarileri

İkili ateş duvarı

Page 23: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Iptables

Iptables IPv4 ve IPv6 protokolleri üzerinde paket filtreleme yapabilen bir çekirdek seviyes ibir ateş duvarıdır.

Iptables, Linux çekirdeği seviyesinde paket filtreleme tabloları oluşturulmasını sağlar.

Birçok çeşitli zincir ve tablo bulunmaktadır.

Page 24: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Iptables

Kurallar içerisinde eylemleri belirleyebilirsiniz. Hedefler

ACCEPT – pakete izin ver DROP – paketi düşür REJECT – paketi reddet LOG – paketi kayıt altına al

Page 25: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Iptables

Tablolar filter

INPUT, FORWARD ve OUTPUT zincirleri nat – ağ adres değişimi

PREROUTING, OUTPUT ve POSTROUTING zincirleri

mangle – paket değiştirme – IP başlığı gibi PREROUTING, OUTPUT, INPUT, FORWARD ve

POSTROUTING zincirleri

Page 26: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Iptables Örnek bir iptables komutu. Bir adresten gelen

tüm trafiği engeller

iptables -I INPUT -i eth0 -s 192.168.0.2 -j DROP

Page 27: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Iptables

Bir adrese giden tüm trafiğin engellenmesi

iptables -I OUTPUT -o eth0 -p tcp -d www.msn.com –dport 80 -j REJECT

Page 28: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Iptables Bir ağ geçidi için örnek bir iptables zinciri

iptables -F

iptables -P INPUT ACCEPT

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -s ! 192.168.0.0/24 -i eth1 -j DROP

iptables -A INPUT -s ! 192.168.0.0/24 -i eth1 -j LOG

iptables -A FORWARD -o eth0 -m state –state \ NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -j LOG

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

Page 29: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Denetleme Araçları

Chkrootkit Ağ içerisindeki trojan, worm ve açıkları tarar. http://www.chkrootkit.org

Nessus Uzak güvenlik tarayıcısı Ağ güvenlik açıklarının taranmasında kullanılır. http://nessus.org

Page 30: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Nessus

Nessus %100 özelleştirilebilir, profesyonel seviye bir güvenlik tarayıcısıdır. Kendi güvenlik testlerinizi kod yazmaya gerek

kalmadan ekleyebilirsiniz. NASL diliyle kendi testlerinizi yazabilirsiniz. Güncel güvenlik zayıflıkları veritabanı Aynı anda sınırsız sayıda istemciyi test

edebilirsiniz. Akıllı servis tanıma

Page 31: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Nessus

Aynı istemci üzerinde aynı işi yapan birden fazla sunucuyu tarayabilirsiniz.

Raporlama SSL destekli protokoller üzerinde denetlmee

yapabilirsiniz. Ağınıza zarar vermeyecek güvenli taramalar

gerçekleştirebilirsiniz.

Page 32: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Nessus Nessus Plugins

Backdoors - CGI abuses - CISCO - Default Unix Accounts - Denial of Service - Finger abuses - Firewalls - FTP - Gain a shell remotely - Gain root remotely - Netware - NIS- Peer-To-Peer File Sharing - Port scanners - Remote file access - RPC- System Settings - SMTP problems - SNMP - Useless services - Windows - Windows : UserManagement

Kötü yanı artık şirket kullanımı ücretli hale geldi.

Page 33: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Denetleme Araçları

Ethereal Ağ trafiğinizi GUI veya uçbirim üzerinden canlı

dinleyebilirsiniz. Ağ üzerindeki veriyi yakalayıp saklayabilirsiniz.

Böylece ağınızdaki şüpheli aktiviteleri takip edebilirsiniz.

500’den fazla protokolü destekler Yakaladığınız ağ verisi üzerinde filtreleme

yapabilirsiniz.

Page 34: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Denetleme Araçları

NMap NMap, ağınızda bulunan bilgisayarları tarayarak

hangi portların açık olduğundan başlayarak protokol ve paket tipine göre taramalar yapabilir.

Periyodik NMap taramaları oldukça faydalıdır.

Page 35: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

NMap

Belirtilen IP bloklarında 143 numaralı portu açık olan bilgisayarları tespit eder. nmap -Up 143 166.66.0.0/16 166.67.0.0/16

Warez.com C sınıfı IP bloğu üzerinde belirtilen portları tarar. nmap -fsp 21,22,23,25,80,110 warez.com/24

Ele geçirilmiş bilgisayarların tespiti nmap 192.168.0.* -p 80,8080,8088 -sV -vv

Page 36: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Saldırı Tespit Sistemleri

Saldırı tespit sistemleri, bütün önemli ağların önemli bir parçasıdır. Internet sürekli gelişen yapısının içerisinde yeni açıkların ve zayıflıkların bulunmasına neden olur. İşte saldırı tespit sistemleri izinsiz girişlerin bulunmasını ve saldırganın hareketlerinden dolayı hesap verilebilirliği arttırmayı amaçlar.

Page 37: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Saldırı tespit sistemleri

Tripwire Dosya bütünlük kontrol yazılımı Tripwire temel olarak verilen dosyanın sindirim

değerini saklar Dosya değiştirildiği zaman Tripwire kullanıcıyı

uyararak yeni dosya sindirim değerini kaydeder.

Page 38: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Saldırı tespit sistemleri

Snort Örüntü eşleme yöntemi ile tampon bellek aşırı

yükleme, gizli port taramaları, CGI saldırıları, SMB aramaları, NetBIOS sorguları, NMAP ve diğer port tarayıcıları gibi bilinen önemli arka kapılar ve sistem zayıflıkları için tanımlamalar ile saldırıları tespit eder.

Syslog, SMB “WinPopUp” mesajları veya dosyalar ile sistem yöneticisini uyarır.

Zayıflık için imza üretmek kolaydır. Genelde ağ üzerinde pasif olarak yerleştirilir.

Page 39: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Snort Yerleştirimi

Hublar ve switchler Ateş duvarı

Page 40: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Snort

Snort kurallarını sürekli güncel tutabilmek için Oinkmaster’ı kullanabilirsiniz. Oinkmaster, BSD lisansı ile dağıtılan bir Perl betiğidir.

Oinkmaster’ın kötü tarafı ise sizin yazdığınız kuralları silmesidir.

Page 41: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

OpenSSH

OpenSSH, ağ seviyesi saldırılarını engellemek için ağ üzerinden şifreler dahil olmak üzere tüm verileri şifreli olarak gönderir.

OpenSSH sadece bir uzak uçbirim değildir. Kriptografik anahtarlar ile public anahar

yetkilendirmesi ssh-keygen ile private/public anahtar üretebilme Private anahtar izinlerinin kontrol edilmesi Public anahtarı $HOME/.ssh/authorized_keys dosyası

içerisinde saklanmalıdır.

Page 42: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

OpenSSH

OpenSSH ile port yönlendirme yapılabilir.

ssh -N -f -L 20110:mailserver:110 username@mailserver

-N – uçbirim açma

-f – arka plana git

-L - yerel porttan uzak porta yönlendir

Page 43: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

OpenSSH

Verinin, SSH üzerinden akıtılması da mümkündür. Yazdırma için

cat print.ps |ssh -l user remote.server lpr –Pprintername Herhangibir komut

Dosya yedekleme tar zc /home|ssh [email protected] tar zx

Page 44: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

OpenSSH

Esas problem ateş duvarınız üzerinde engellediğiniz portlar dışında, SSH tünelleme ile yerel portlar üzerinden işlem gerçekleştirilebilmesi

Page 45: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

İçerik Filtreleme

Fındık Project Modüler yapı ile yeni filtre ve protokol desteği

ekleyebilme Log4j tabanlı kayıt alma HTTP filtreleme Antivirüs, LDAP ve AD desteği SSL filtreleme desteği Web tabanlı yönetim Veritabanı destekli kural yönetimi

Page 46: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Bilgi Sızıntısı Engelleme

İstemci tabanlı OpenDLP

Ağ tabanlı MyDLP

Page 47: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Antivirus ve Antispam

Antivirus Kapalı kaynak olsa da Kaspersky ClamAV özellikle mail sunucularında ve

istemcilerde Antispam

Amavis ve SpamAssassin

Page 48: 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux

Teşekkürler

Sorularınız?

[email protected]