190 likes | 404 Views
OpenBSD ile Gelişmiş Güvenlik Hizmetleri. Huzeyfe ÖNAL huzeyfe@lifeoverip.net 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.
E N D
OpenBSD ile Gelişmiş Güvenlik Hizmetleri Huzeyfe ÖNAL huzeyfe@lifeoverip.net 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 • ’95 yılında Theo De Raadt başkanlığında 4.4 BSD Lite tabanlı “Özgür” bir UNIX çeşidi... • 18 Kasım 2007 : 12 Yaşında • Güvenlik ve Kararlılık öncelikli bir proje • Ne yaptığını bilen bir ekip • Çoğu popüler güvenlik ürünlerinde bileşenleri var • Dhcp, pf, ssh vs
Neden OpenBSD? • Ticari Kaygılardan uzak, hedefleri net, kararlı bir ekip. • Temelleri sağlam “özgür” lisans. • Güvenlik konusunda kabul edilmiş saygınlık • SSH=OpenSSH • Temiz kod, açık dökümantasyon, minimal yapı. • Dokumantasyon eksigi=bug • OpenBSD ve diger özgür UNIX Sistemler • Gereksinim duyulabilecek tüm sınır güvenliği servisleri hazır olarak gelir.
Güvenlik Hizmetleri • Sınır Güvenliği • Güvenlik Duvarı • Saldırı Tespit ve Engelleme Sistemi • Yük dengeleme • VPN Hizmetleri • Standart servislerin Kritik noktalarda kullanılması • Apache, Bind DNS, DHCP vs. • OpenBSD Farkı
PF ile Güvenlik Duvarı Hizmeti • Güvenlik duvarından beklentiler • Sıradan bir şirket/kurum • Gelişmiş özelliklere ihtiyaç duyan bir kurum • OpenBSD PF Specification Doc.
Yüksek Bulunurluk(HA) • Güvenlik duvarı ?= SPOF(Single Point Of Failure) • Tek bir hat, tek bir güvenlik duvarı yetmez. • CARP + Pfsync ile gerçek manada yüksek bulunurluk desteği • Pfsync ile state durumu multicast olarak diger üyelere dağıtılır. • VRRP/HSRP Benzeri CARP • Virtual MAC/Virtual IP • IPV6 Desteği • Link Kontrolu – ifstated. • Trunk • ifconfig trunk0 trunkproto failover trunkport bge0 trunkport bge1 192.168.1.1 netmask 255.255.255.0
Policy Routing • Birden fazla hattın kaçınılmaz olduğu durumlar • Klasik route komutu yeterli değil(OpenBSD için yeterli) • Hatlar arası yük dengeleme • Hatlar arası önceliklendirme • Müdürler X hattından, Çalışanlar Y hattından • Hatların link durumunu otomatik kontrol • İfstated
PF ile birden fazla hat kullanımı • Route-to / reply-to
Tehlikeli Paketlerden Korunma • Scrub • Fragment reassamble • Min ttl • scrub in on fxp0 all fragment reassemble min-ttl 15 max-mss 1400 • DOS Korumasi: synproxy state • pass in on $ext_if proto tcp to $web_server \ port www keep state \ (max 200, source-track rule, max-src-nodes 100, max-src-states 3) • Kural basina Max state sayisi , kural basina state doldurabilecek ip sinirlamasi, tek bir ip den gelen state sinirlamasi vs.. • Unicast Reverse Path Forwarding • block in quick from urpf-failed label uRPF • Passive Operating System Fingerprinting • block in on $ext_if from any os "Windows 2000"
Kullanıcı adına özel kural Yazma • OpenBSD PF Authpf • Kullanıcının ip adresinin değişken olduğu ortamlar • /etc/authpf/users/$USER/authpf.rules • wifi_if = "wi0" pass in quick on $wifi_if proto tcp from $user_ip to port { ssh, http, \ https } flags S/SA keep state
Kural Düzeni & Esnekliği • Linux Iptables • 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 bad_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 80 -i $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -p tcp --dport 110 -i $LAN_IFACE -j ACCEPT • $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT • $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
Kural Düzeni & Esnekliği • OpenBSD PF tcpPubServices = "{ 22, 25, 80, 443, 993, 995, 3690 }" pass in on $extIF inet proto tcp from any to any port $tcpPubServices flags S/SA synproxy state antispoof for $extIF rdr on $extIF proto tcp from any to any port 22 -> $sshSvr rdr on $extIF proto tcp from any to any port 25 -> $mailSvr
IDS/IPS Olarak OpenBSD • IDS!= IPS • IDS :Saldırı Belirleme ve Uyarı • Active Response=TCP RST, icmp unreachable... • IPS/IDP: Saldırı Belirleme, uyarı ve Engelleme • OpenBSD PF+ bridge+PQ patch+Snort.
Yönlendirme(Routing) Protokolleri • BGP, OSPF, RIP, MPLS? • OpenBGPD • OpenOSPF • Ripd (RIPv2) • Birden fazla yönlendirme tablosu • Virtual Router – VPN Musterileri icin ideal
Yük Dengeleme • Yük Dengeleme Çeşitleri • Ağ katmanı seviyesinde yük dengeleme (L3) • Uygulama Seviyesi Yük Dengeleme(L7) • Klasik yük dengeleme sorunları • Sistemlerin sağlık durumu kontrolü • Bağlanan kullanıcının ip adresi loglaması • Kullanıcıyı oturumunu aynı sunucuya yönlendirme • Protokole özgü değişkenler(http)
Hoststated ile Yük Dengeleme public_addr=81.81.81.81 webhost1=10.1.1.100 webhost2=10.1.1.101 table webhosts { real port http check http "/" code 200 host $webhost1 host $webhost2 } service www { virtual host $public_addr port http interface trunk0 table webhosts } # hoststatectl show summary Type Id Name Avlblty Status service 0 www active table 0 webhosts active (2 hosts up) host 1 10.1.100.2 100.00% up host 0 10.1.100.1 100.00% up
SSL Yük Dengeleme • SSL Trafiğinde araya girme(MITM) yöntemi ile çalışır. • SSL Hızlandırıcı ile yükü tek bir noktadan alıp paylaştırmak için kullanılabilir.