Upload
turktiger
View
34
Download
0
Embed Size (px)
DESCRIPTION
Linux işletim Sistemi Güvenliği , Korunma Yöntemleri , Hack saldırılarına engel olma
Citation preview
Linux Sistem Ynetimi ve GvenliiGvenlii
Huzeyfe NAL
Linux iletim sistemini tanmak
Backtrack Linux datm zerinden temel Linux sistem ynetimi ilerini gerekletirmek
Linux sistemlerde gvenlik amal kullanlabilecek dosya ve komutlarn renilmesidosya ve komutlarn renilmesi
Linux sistemlere ynelik hacking yntemlerini renme ve sistemleri gvenilir hale getirme
Linux letim Sistemine Giri
Linux dosya ve dizin yaps
Linux A Ayarlar
Sistem gvenlii ile ilgili komutlar
Iptables gvenlik duvar Iptables gvenlik duvar
Kullanc hesaplar ve gvenlii
Loglama altyaps
Btnlk dorulama sistemleri
Sysctl ile kernel seviyesi detay ayarlar
Linux=letim sisteminin ekirdei
Datm=Linux+programlar
Tek bana kernel bir ie yaramaz, sadece cihazlarn ynetimini salar
450den fazla Linux datm vardr. Sk Kullanlan Linux Datmlar
Red Hat Ticari
Debian Slackware Suse Suse
Ticari
Fedora Ubuntu OpenSuse
htiyaca ynelik datm seimi nemlidir! http://distrowatch.com/
Her ey dosyadr
Ses aygt, socketler, text dosyalar vs
Basit, ilevsel aralarla text dosylar zerinde ilem yaparak sistem ynetimi
Keep it stupid simple! Kural (KISS)
Linuxda uzantya gerek yoktur(.exe, .msi gibi)
Standartlama iin .rpm, .deb, .sh gibi uzantlar kullanlr
Dosya/dizin isimleri case sensitive dir
Text != text != texT
. le balarsa gizli dosya olur
/home - Kullanclarn ev dizinleri
/bin, /usr/bin sistem komutlar
/sbin, /usr/sbin sistem yneticileri tarafndan kullanlacak komutlar
/etc Yaplandrma dosyalar
/var log dosyalar, havuz dosyalar(mail queue).
/dev device(aygt) dosyalar
/proc zel dosyalar, anlk sistem deerlerini almak vs iin.
Linux sistemlerin gc komut satrndadr
Komut satrndan yaplamayacak i yok gibidir
Komut satyr aralar kullanlarak ileri dzey programlama
Bash, sh programlama
En basit kural. Komutu ve ardndan alaca parametreleri yaz. Sktn noktadan man komut ismi
ls -l /etc
Komut ismiseenekler
argman
kt eitleri:Std-Input, Std-Output, Std-error
ls -l >output
> kt dosyasn belirtir.
Linux komut satr parametre olarak dardan deer alabilir
wc
Bir komutun ktsn dier komuta girdi olarak vermek iin
ps aux | grep netscape | wc -l
Ps komutunun kts grepe gider
Grep gelen kty alr ierisinde netscape aratr ve sonucu wce aktarr
Wc gelen kty alr, hesaplar ve konsola basar
| Admlar/komutlar ayrmak iin
Ls
Mv, cp, rm
Ps, top
Kill, kill -9 Kill, kill -9
Tail, head, more, less, cat
Reboot,su , shutdown
Pwd, history
File
More/less
Cp
Mv
Mkdir/rmdir Mkdir/rmdir
Rm
Tail
Diff
grep
Ps
Top
w/who/whoami
Find Find
Last
Kill
Useradd/groupadd
passwd
Her dosyann
Bir sahibi vardr
Bir grubu vardr
Sahibi , grubu ve dierleri olmak zere eriim izni vardrvardr
Bir dosya oluturulurken default izinleri umask deeri ile belirtilir.
Her Kullancnn:
UID (login ismi), gid (login grubu) ve dier gruplara yelii vardr
UID kimliinizi gsterir(Kullanc ve ID numaras)
GID (Grup ad ve numarasn gsterir) GID (Grup ad ve numarasn gsterir)
Linux eit dosya izni kavramna sahiptir
Read Dosya/Dizinlerin okunabilmesi amal kullanlr. Dizinlerde listeleme zellii olarak kullanlr.
Write Yeni bir dosya ya da dizin oluturmak iin kullanlrkullanlr
Execute Dosya altrma ya da dizine giri hakk iin kullanlr.
Dosyz izinlerini detayl izleme: ls l komutu
-rwxrwxr-x 1 rapsodi rapsodi 5224 Dec 30 03:22 hello-rwxrwxr-x 1 rapsodi rapsodi 5224 Dec 30 03:22 hello-rw-rw-r-- 1 rapsodi rapsodi 221 Dec 30 03:59 hello.c-rw-rw-r-- 1 rapsodi rapsodi 1514 Dec 30 03:59 hello.sdrwxrwxr-x 7 rapsodi rapsodi 1024 Dec 31 14:52 posixuft
Permissions
Owner
Group
Dosya zinleri -V
-rwxrwxrwx
Other permissionsGroup permissionsOwner permissionsDirectory flag (d=directory; l=link)
Chmod komutu kullanlr
Genelde saysal deerlerle yaplr
4=okuma
2=yazma
1)altrma 1)altrma
chmod 755 file # Owner=rwx Group=r-x Other=r-xchmod 500 file2 # Owner=r-x Group=--- Other=---chmod 644 file3 # Owner=rw- Group=r-- Other=r--chmod +x file # Add execute permission to file for allchmod o-r file # Remove read permission for otherschmod a+w file # Add write permission for everyone
WW=World Writable
Sistemdeki en yetkisiz kullanc tarafndan okunabilir, yazlabilir dosyalardr
zellikle paylaml hosting firmalarnda tehlike arzeder(baka firmann WW izinlerine sahip olan arzeder(baka firmann WW izinlerine sahip olan dosyas ierisine web shell ekleme)
find / -perm 777 -print
Komutu kullanlarak bulunabilir
Baz dosyalar(programlar) altran kim olursa olsun sahibinin haklaryla altrlr
Passwd, ping
Bu programlarda kacak bir aklk sistemi root olarak tehlikeye sokacaktr
/etc/shadow, /etc/sudoers, /etc/group
/etc/profile,
IP adresi
Ag Maskesi
Varsaylan A geidi
Isim zmleme iin DNS sunucu kayd Isim zmleme iin DNS sunucu kayd
DHCP Ayarlar
Linux/UNIX sistemlerde a yaplandrmas ifconfig komutu ile yaplr
#ifconfig arabirim_ismi IP_Adresi netmask maske
ifconfig a komutu.
-a komutu verilmezse
UP olmayan arabirimler gzkmez.
DHCP Neler Salar?
IP Adresi
Ag maskesi
DNS Sunucu Adresi
Gateway adresi Gateway adresi
Dhclient eth0
Dhcpcd eth0
Ag ortamnda Sorun giderme
Netstat
Traceroute
Arp
Nslookup vs Nslookup vs
Log dosyalarnn kontrolu
Sistem gvenlii ile ilgili dosyalar
Hedef sistemin ayakta olup olmad, gidi geli srelerinden aradak hattn performans, younluu gibi bilgileri almay salar.
Traceroute IP balndaki TTL(Time To Live) alann kullanr. Ama Hedef sisteme giden yollar renmektir ve bunun iin TTL deerini 1 den balatarak her seferinde bir arttrr.
TTL deerini 1 olarak alan host paketi pe atarak TTL deerini 1 olarak alan host paketi pe atarak geriye TTL Expired cevab dner. Trace eken bilgisayarda bu ekilde nndeki yolun tarifini karr.
Sabit ARP tanm ile iletim sistemine o hedefe gidecek paketlerin sorgulanmadan belirtilen MAC adresine doru gnderilmesini salar.
192.168.1.111 ip adresine gnerilen paketler artk 00:11:22:33:44:55 adresli makineye gnderilecektir.
letim sisteminin kendi bulunduu a haricindeki alara eriim iin ynlendirme tablosunu kullanr. Bunu ehirleraras yolculuklardaki tabelalara benzetebiliriz.
Dz bir yolda giderken nnze Ankara, Istanbul, Dz bir yolda giderken nnze Ankara, Istanbul, Edirne gibi istikametleri belirten levhalar kar siz de hangi istikamete doru gitmek istiyorsanz ona gre aracnz ynlendirirsiniz.
/etc/sysctl.conf dosyasndaki
# Disables packet forwarding net.ipv4.ip_forward=0 satr
# Enables packet forwarding net.ipv4.ip_forward=1 olarak deitirilir.
#sysctl p aktif olmasi icin.
Linux sistemlerde isim zme ile ilgili olarak kullanlan iki temel dosya vardr. /etc/resolv.conf ve /etc/hosts dosyalar.
/etc/hosts dosyas herhangi bir dns kaydna gerek kalmadan isim ile ulamak istediimiz sistemlere kalmadan isim ile ulamak istediimiz sistemlere ait kaytlar tutar.
#cat /etc/hosts127.0.0.1 localhost
127.0.0.1 bt.example.net bt
192.168.1.1 egitim.lifeoverip.net
# cat /etc/resolv.conf# Generated by dhcpcd for interface eth0
nameserver 22.15.2.2
nameserver 192.168.1.1
Nslookup / dig komutlar
Cesitli internet sayfalar
Clez.net
Emektar DNS sorgulama arac
Linux sistemlerde yerini dig aracna brakmakta
Tcpdump: A zerinden aklan trafikte paket analizi yapmak iin kullanlr
Tcpdump tcp port 80 X
stenilen zellikle filtreler yazlabilir
Sadece X ip adresinin Y portundan Z subnetine gelen Sadece X ip adresinin Y portundan Z subnetine gelen UDP paketleri ... Gibi.
Iptraf ile IP ve port baznda detay istatistikler alnabilir.
Iptraf ile a arabirimi zerinden geen trafik miktar, paket kayb,
checksum hatalar gibi bilgiler alnabilir.
A zerinden bal sistemleri grntleme
Aa ak hizmet veren servisleri listeleme
alan Sreler
Sisteme bal kullanclar Sisteme bal kullanclar
Log dosyalarn izleme
UNIX Sistemde herey dosyalardan oluur.
Lsof komutu ile ak dosyalar izlenebilir
Dosya, soket, pipe vs
Hurafe= Linux gvenlidir?
Gvenlik = Bilgi+Uygulama
Bir sistemin gvenlii onu yneten kadardr
Linux datmlarnn gvenlii Linux kerneli ve Linux datmlarnn gvenlii Linux kerneli ve kurulu programlarn gvenliinden oluur.
Linux kernelinde son yllarda ciddi aklklar kmaya balad
Linux=Kernel
Linux datmlarnda bulunan yazlmlarn aklklar
Linux ekirdeinde bulunan aklklar
Remote aklklar
Local aklklar
Linux kernel srm numaras renme
#uname -a
Nedir ne ie yarar?
Kark bir yapya sahip
Neler yapabilir?
Ebtables, l7-filter Ebtables, l7-filter
Linux sistemler iin gvenlik duvar uygulamas
Olduka esnek bir altyapya sahiptir
zellikleri gnmz gvenlik duvarlarna edeerdir
L2den L7e kadar tm katmanlarda paketlere mdahele edebilir
MAC adresine gre filtreleme
P2P, MSN vs protokollerine gre filtreleme
Linux sistemin kendisine gelen paketler iin
INPUT, OUTPUT zincirleri
Linux sistemin koruduu sistemlere gelen paketler iin
FORWARD zinciri kullanlr FORWARD zinciri kullanlr
NAT/Port Ynlendirme ilemleri iin
POSTROUTING, PREROUTING tablolar kullanlr
Belirli bir portu herkese ama
iptables -A INPUT -p tcp --dport 99 -j ACCEPT
Belirli bir portu sadece belirli IPlere ama
iptables -A INPUT -p tcp --dport 99 -s 192.168.1.1 -j ACCEPTACCEPT
Port Yasaklama
iptables -A INPUT -p tcp --dport 443 -j DROP
iptables -A INPUT -p tcp --dport 443 -s 192.168.1.1 -j DROP
Iptables ile MAC adresine gre filtreleme yaplabilir(-mac mac-source )
#iptables -A FORWARD -m state --state NEW \-m mac --mac-source 00:DE:AD:BE:33:12 -j DROP
komutu ile 00:DE:AD:BE:33:12 mac adresine sahipkomutu ile 00:DE:AD:BE:33:12 mac adresine sahipbir kullancnn darya eriimini kstlam oluruz.
a iplerini tek bir gerek IP ile internete karma
Dardan gelen istekleri i ada belirli sunuculara ynlendirme
NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j SNAT --to-source 192.168.1.103
Port Ynlendirme
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.10.10.1
Iptables ile istenilen paketler bloklanabilir
iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH Girisleri
Adduser, useradd, addgroup, groupadd
Passwd, chgrp komutlar
En ilkel kullanc ynetimine sahiptir!
PAM=Pluggable Authentication Modules
Linux sistemlerdeki authentication ilemini esnek hale getirme amal kullanlan bileen
/etc/pam.conf, /etc/pam.d
/etc/passwd /etc/shadow dosyalar
Parolalar hash+salt bir halde tutulmaktadr
Ayn porola deiik salt deeri ile farkl olur
Parola gvenlii testleri iin John arac kullanlabilir
Kullanclarn haklarn snrlandrma, belirli yetkiler verme amal kullanlr
Su=normal kullancdan root yetkisine geite kullanlr
huzeyfe@bt:/$ su -huzeyfe@bt:/$ su -
Password:
root@bt:~#
Visudo (/etc/sudoers)
root ALL=(ALL) ALL
Root tm terminallerde tm kullanclar adna tm komutlar altrabilir
operator ALL= /sbin/poweroff
Operator kullancs tm terminallerde poweroff komutunu calistirabilir
operator@bt$sudo poweroff
Ulimit a
/etc/security/limits.conf
Fork bomb
Linux ve UNIX sistemlerde loglama syslog araclyla yaplr
Syslogd ve /etc/syslog.conf dosyas bilinmesi gereken iki bileendir.
Birden fazla Linux tek bir sysloga log gnderebilir, Birden fazla Linux tek bir sysloga log gnderebilir, uzaktan log alabilir
/var/log dizini log dosyalarnn tutulduu dizindir.
Kullanlan Linux datmna gre deise de tm Linux sistemlerdeki nemli loglar ayn addadr, yerleri syslog.confda belirtilir.
/var/log/auth.log
/var/log/lastlog /var/log/lastlog
/var/log/wtmp
/var/log/syslog
...
/var/log/auth.log dosyasnda saklanr
/var/log/auth.log dosyasnda saklanr(Linux datmna gre deiebilir)
Hani kullanc yetkileriyle ne komutu altrld bilgisi.
Auditd kullanlarak kernel seviyesinde yaplr
Linux audit altyaps SOX, PCI, HIPAA gibi standartlara uyumlu kt verir ve standartlarn isteklerini karlar
Sistemde alan, yazlan, silinen tm dosyalar Sistemde alan, yazlan, silinen tm dosyalar loglanabilir
Hangi kullancnn hangi tarihte ne komutunu altrd bilgisi alnabilir
stenirse merkezi log sunucuya ynlendirilebilir
Log dosyalarnn fazlal nemli log paralarnn adminlerin gznden kamasna sebep olur
Swatch ile loglar izleyip sadece belirli log tiplerinde uyar gelmesi salanabilir
http://blog.lifeoverip.net/2007/06/06/log-dosyalarina-aktif-izleme/
Linux sistemlerde herey dosyadr
Dosyalarn gvenlii en nemli konudur
Basit bir arka kap
IC=Integrity Checking(Btnlk Kontrol)
Adm 1:Belirtilen dosyalarn hash deerlerini al
Alnan deerleri sadece okunabilir(read-only) bir ortamda sakla
Adm 2:Belirli zaman sonra ayn dosyalarn tekrar Adm 2:Belirli zaman sonra ayn dosyalarn tekrar hash deerlerini al
Adm 3: lk alnan hash deerleriyle son alnanlar karlatr
Deiiklik varsa dosyalarda oynanm demektir.
Rootkit kavram
Neler yapar?
Linux iin rootkitler
RkHunter
Chkrootkit
Linux datm gvenlik listesine yelik
Gvenlik yamalarn zamannda geme
Gereksiz servisleri kapatma
Dosya/diziler zerinde gereksiz haklarn alnmas Dosya/diziler zerinde gereksiz haklarn alnmas
WR, suid bit vs
Loglama altyapsnn kurulmas
A servislerine ACL uygulamas
SSHa her yerden ulam vermeme gibi
Sysctl:iletim sisteminin almasn etkileyecek detay ayarlarn belirtildii komut(+dosya)
Sysctl ile yaplan ilemler reboot edene kadar geerli olur #sysctl w degistirilecek_ayar=degisken_degeri #sysctl w degistirilecek_ayar=degisken_degeri
/proc Sanal bir dizin olmakla birlikte iletim sistemi alrken
sysctl ile yaplabilecek ayarlar dorudan /proc dizininde yaplabilir
#echo 1 >/proc/sys/net/ipv4/ip_forward
#echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
ya da /etc/sysctl.conf dosyasina
net.ipv4.conf.all.rp_filter=1
Satr eklenerak aktif hale getirilir.
Bu ayar "source address verification" ozelliginisaglar, yani herhangi bir arabirime gelenpaketlerdeki ip adreslerinin gercekten uygunarabirimden gelip gelmedii kontrol edilir.
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.send_redirects=0
#ysctl w net.ipv4.icmp_echo_ignore_broadcasts = 1
Sysctl w net.ipv4.tcp_syncookies = 1