openbsd ile gelişmiş güvenlik hizmetleri

19
OpenBSD ile Gelişmiş OpenBSD ile Gelişmiş Güvenlik Hizmetleri Güvenlik Hizmetleri Huzeyfe ÖNAL Huzeyfe ÖNAL [email protected] [email protected] http://www.lifeoverip.net http://www.lifeoverip.net

Upload: diamond

Post on 11-Jan-2016

64 views

Category:

Documents


0 download

DESCRIPTION

OpenBSD ile Gelişmiş Güvenlik Hizmetleri. Huzeyfe ÖNAL [email protected] http://www.lifeoverip.net. Sunum Planı. OpenBSD Projesi Tanıtımı Güvenlik servislerinde OpenBSD seçimi Güvenlik servisleri Firewall Load Balancing Routing Ipsec. OpenBSD Projesi. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

OpenBSD ile Gelişmiş OpenBSD ile Gelişmiş Güvenlik HizmetleriGüvenlik Hizmetleri

Huzeyfe ÖNALHuzeyfe Ö[email protected]@lifeoverip.net

http://www.lifeoverip.nethttp://www.lifeoverip.net

Page 2: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Sunum PlanıSunum Planı OpenBSD Projesi TanıtımıOpenBSD Projesi Tanıtımı Güvenlik servislerinde OpenBSD Güvenlik servislerinde OpenBSD

seçimiseçimi Güvenlik servisleriGüvenlik servisleri

– FirewallFirewall– Load BalancingLoad Balancing– RoutingRouting– IpsecIpsec

Page 3: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

OpenBSD ProjesiOpenBSD Projesi ’’95 yılında Theo De Raadt başkanlığında 95 yılında Theo De Raadt başkanlığında

4.4 BSD Lite tabanlı “Özgür” bir UNIX 4.4 BSD Lite tabanlı “Özgür” bir UNIX çeşidi...çeşidi...

18 Kasım 2007 : 12 Yaşında18 Kasım 2007 : 12 Yaşında Güvenlik ve Kararlılık öncelikli bir projeGüvenlik ve Kararlılık öncelikli bir proje Ne yaptığını bilen bir ekip Ne yaptığını bilen bir ekip Çoğu popüler güvenlik ürünlerinde Çoğu popüler güvenlik ürünlerinde

bileşenleri varbileşenleri var– Dhcp, pf, ssh vsDhcp, pf, ssh vs

Page 4: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Neden OpenBSD?Neden OpenBSD? Ticari Kaygılardan uzak, hedefleri net, kararlı bir Ticari Kaygılardan uzak, hedefleri net, kararlı bir

ekip.ekip. Temelleri sağlam “özgür” lisans.Temelleri sağlam “özgür” lisans. Güvenlik konusunda kabul edilmiş saygınlıkGüvenlik konusunda kabul edilmiş saygınlık

– SSH=OpenSSHSSH=OpenSSH Temiz kod, açık dökümantasyon, minimal yapı.Temiz kod, açık dökümantasyon, minimal yapı.

– Dokumantasyon eksigi=bugDokumantasyon eksigi=bug OpenBSD ve diger özgür UNIX SistemlerOpenBSD ve diger özgür UNIX Sistemler Gereksinim duyulabilecek tüm sınır güvenliği Gereksinim duyulabilecek tüm sınır güvenliği

servisleri hazır olarak gelir.servisleri hazır olarak gelir.

Page 5: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Güvenlik HizmetleriGüvenlik Hizmetleri Sınır GüvenliğiSınır Güvenliği Güvenlik DuvarıGüvenlik Duvarı Saldırı Tespit ve Engelleme SistemiSaldırı Tespit ve Engelleme Sistemi Yük dengelemeYük dengeleme VPN HizmetleriVPN Hizmetleri Standart servislerin Kritik noktalarda Standart servislerin Kritik noktalarda

kullanılmasıkullanılması– Apache, Bind DNS, DHCP vs.Apache, Bind DNS, DHCP vs.– OpenBSD FarkıOpenBSD Farkı

Page 6: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

PF ile Güvenlik Duvarı PF ile Güvenlik Duvarı HizmetiHizmeti

Güvenlik duvarından beklentilerGüvenlik duvarından beklentiler– Sıradan bir şirket/kurumSıradan bir şirket/kurum– Gelişmiş özelliklere ihtiyaç duyan bir kurumGelişmiş özelliklere ihtiyaç duyan bir kurum

OpenBSD PF Specification Doc.OpenBSD PF Specification Doc.

Acrobat Document

Page 7: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Yüksek Bulunurluk(HA)Yüksek Bulunurluk(HA) Güvenlik duvarı ?= SPOF(Single Point Güvenlik duvarı ?= SPOF(Single Point

Of Failure) Of Failure) Tek bir hat, tek bir güvenlik duvarı Tek bir hat, tek bir güvenlik duvarı

yetmez.yetmez. CARP + Pfsync ile gerçek manada CARP + Pfsync ile gerçek manada

yüksek bulunurluk desteğiyüksek bulunurluk desteği Pfsync ile state durumu multicast Pfsync ile state durumu multicast

olarak diger üyelere dağıtılır.olarak diger üyelere dağıtılır. VRRP/HSRP Benzeri CARPVRRP/HSRP Benzeri CARP

– Virtual MAC/Virtual IPVirtual MAC/Virtual IP– IPV6 DesteğiIPV6 Desteği

Link Kontrolu – ifstated.Link Kontrolu – ifstated. TrunkTrunk

– ifconfig trunk0 ifconfig trunk0 trunkproto failovertrunkproto failover trunkport bge0 trunkport bge1 trunkport bge0 trunkport bge1 192.168.1.1 netmask 255.255.255.0192.168.1.1 netmask 255.255.255.0

Page 8: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Policy RoutingPolicy Routing Birden fazla hattın kaçınılmaz olduğu Birden fazla hattın kaçınılmaz olduğu

durumlardurumlar Klasik route komutu yeterli değil(OpenBSD Klasik route komutu yeterli değil(OpenBSD

için yeterli)için yeterli) Hatlar arası yük dengelemeHatlar arası yük dengeleme Hatlar arası önceliklendirmeHatlar arası önceliklendirme

– Müdürler X hattından, Çalışanlar Y hattındanMüdürler X hattından, Çalışanlar Y hattından Hatların link durumunu otomatik kontrolHatların link durumunu otomatik kontrol

– İfstatedİfstated

Page 9: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

PF ile birden fazla hat PF ile birden fazla hat kullanımıkullanımı

Route-to / reply-toRoute-to / reply-to

Page 10: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Tehlikeli Paketlerden Tehlikeli Paketlerden KorunmaKorunma ScrubScrub

– Fragment reassambleFragment reassamble– Min ttlMin ttl– scrub in on fxp0 all fragment reassemble min-ttl 15 max-scrub in on fxp0 all fragment reassemble min-ttl 15 max-

mss 1400 mss 1400 DOS Korumasi: synproxy state DOS Korumasi: synproxy state pass in on $ext_if proto tcp to $web_server \pass in on $ext_if proto tcp to $web_server \

    port www keep state \    port www keep state \    (max 200, source-track rule, max-src-nodes 100, max-src-    (max 200, source-track rule, max-src-nodes 100, max-src-states 3) states 3)

Kural basina Max state sayisi , kural basina state Kural basina Max state sayisi , kural basina state doldurabilecek ip sinirlamasi, tek bir ip den gelen state doldurabilecek ip sinirlamasi, tek bir ip den gelen state sinirlamasi vs..sinirlamasi vs..

Unicast Reverse Path ForwardingUnicast Reverse Path Forwarding– block in quick from urpf-failed label uRPF block in quick from urpf-failed label uRPF

Passive Operating System FingerprintingPassive Operating System Fingerprinting– block in on $ext_if from any os "Windows 2000" block in on $ext_if from any os "Windows 2000"

Page 11: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Kullanıcı adına özel kural Kullanıcı adına özel kural YazmaYazma

OpenBSD PF AuthpfOpenBSD PF Authpf Kullanıcının ip adresinin değişken Kullanıcının ip adresinin değişken

olduğu ortamlar olduğu ortamlar /etc/authpf/users/$USER/authpf.rules /etc/authpf/users/$USER/authpf.rules wifi_if = "wi0" pass in quick on wifi_if = "wi0" pass in quick on

$wifi_if proto tcp from $user_ip to $wifi_if proto tcp from $user_ip to port { ssh, http, \ https } flags S/SA port { ssh, http, \ https } flags S/SA keep state keep state

Page 12: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Kural Düzeni & EsnekliğiKural Düzeni & Esnekliği Linux IptablesLinux Iptables IPTABLES -N bad_tcp_packets $IPTABLES -A bad_tcp_packets -p tcp ! --syn -IPTABLES -N bad_tcp_packets $IPTABLES -A bad_tcp_packets -p tcp ! --syn -

m state --state NEW -j LOG \ --log-prefix "New not syn:" $IPTABLES -A m state --state NEW -j LOG \ --log-prefix "New not syn:" $IPTABLES -A

bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROPbad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP $IPTABLES -A FORWARD -p tcp --dport 21 -i $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -p tcp --dport 21 -i $LAN_IFACE -j ACCEPT

$IPTABLES -A FORWARD -p tcp --dport 80 -i $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -p tcp --dport 80 -i $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -p tcp --dport 110 -i $LAN_IFACE -j $IPTABLES -A FORWARD -p tcp --dport 110 -i $LAN_IFACE -j ACCEPT ACCEPT

$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT -j ACCEPT

$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

Page 13: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Kural Düzeni & EsnekliğiKural Düzeni & Esnekliği OpenBSD PFOpenBSD PF

tcpPubServices = "{ 22, 25, 80, 443, 993, 995, 3690 }" tcpPubServices = "{ 22, 25, 80, 443, 993, 995, 3690 }"

pass in on $extIF inet proto tcp from any to any port pass in on $extIF inet proto tcp from any to any port $tcpPubServices flags S/SA synproxy state $tcpPubServices flags S/SA synproxy state

antispoof for $extIF antispoof for $extIF

rdr on $extIF proto tcp from any to any port 22 -> $sshSvr rdr rdr on $extIF proto tcp from any to any port 22 -> $sshSvr rdr on $extIF proto tcp from any to any port 25 -> $mailSvr on $extIF proto tcp from any to any port 25 -> $mailSvr

Page 14: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

IDS/IPS Olarak OpenBSDIDS/IPS Olarak OpenBSD IDS!= IPSIDS!= IPS

– IDS :Saldırı Belirleme ve UyarıIDS :Saldırı Belirleme ve Uyarı Active Response=TCP RST, icmp Active Response=TCP RST, icmp

unreachable...unreachable...

– IPS/IDP: Saldırı Belirleme, uyarı ve IPS/IDP: Saldırı Belirleme, uyarı ve EngellemeEngelleme

OpenBSD PF+ bridge+PQ OpenBSD PF+ bridge+PQ patch+Snort.patch+Snort.

Page 15: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Yönlendirme(Routing) Yönlendirme(Routing) ProtokolleriProtokolleri

BGP, OSPF, RIP, MPLS?BGP, OSPF, RIP, MPLS? OpenBGPDOpenBGPD OpenOSPFOpenOSPF Ripd (RIPv2)Ripd (RIPv2) Birden fazla yönlendirme tablosuBirden fazla yönlendirme tablosu

– Virtual Router – VPN Musterileri icin idealVirtual Router – VPN Musterileri icin ideal

Page 16: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Yük DengelemeYük Dengeleme Yük Dengeleme ÇeşitleriYük Dengeleme Çeşitleri

– Ağ katmanı seviyesinde yük dengeleme (L3)Ağ katmanı seviyesinde yük dengeleme (L3)– Uygulama Seviyesi Yük Dengeleme(L7)Uygulama Seviyesi Yük Dengeleme(L7)

Klasik yük dengeleme sorunlarıKlasik yük dengeleme sorunları– Sistemlerin sağlık durumu kontrolüSistemlerin sağlık durumu kontrolü– Bağlanan kullanıcının ip adresi loglamasıBağlanan kullanıcının ip adresi loglaması– Kullanıcıyı oturumunu aynı sunucuya yönlendirmeKullanıcıyı oturumunu aynı sunucuya yönlendirme– Protokole özgü değişkenler(http)Protokole özgü değişkenler(http)

Page 17: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Hoststated ile Yük Hoststated ile Yük DengelemeDengeleme

public_addr=81.81.81.81 webhost1=10.1.1.100 public_addr=81.81.81.81 webhost1=10.1.1.100

webhost2=10.1.1.101 webhost2=10.1.1.101 table webhosts table webhosts

{ real port http { real port http check http "/" code 200 check http "/" code 200 host $webhost1 host $webhost1 host $webhost2 }host $webhost2 } service www { virtual host $public_addr port http interface trunk0 table service www { virtual host $public_addr port http interface trunk0 table

webhosts } webhosts }

# hoststatectl show summary# hoststatectl show summaryType Id Name Avlblty StatusType Id Name Avlblty Statusservice 0 www activeservice 0 www activetable 0 webhosts active (2 hosts up)table 0 webhosts active (2 hosts up)host 1 10.1.100.2 100.00% uphost 1 10.1.100.2 100.00% uphost 0 10.1.100.1 100.00% uphost 0 10.1.100.1 100.00% up

Page 18: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

SSL Yük DengelemeSSL Yük Dengeleme SSL Trafiğinde araya girme(MITM) SSL Trafiğinde araya girme(MITM)

yöntemi ile çalışır. yöntemi ile çalışır. SSL Hızlandırıcı ile yükü tek bir SSL Hızlandırıcı ile yükü tek bir

noktadan alıp paylaştırmak için noktadan alıp paylaştırmak için kullanılabilir.kullanılabilir.

Page 19: OpenBSD ile Gelişmiş Güvenlik Hizmetleri

Tesekkurler...Tesekkurler...