1. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
1
HTTP Kullanıcı Asıllama ve
Yetkilendirme
Ozan Eren BİLGEN
İTÜ Bilişim Enstitüsü
Bilgisayar Bilimleri Yüksek Lisansı
Ağ Güvenliği Dersi Sunumu
2. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
2
Giriş
Web’deki bazı kaynaklar herkese açık
değildir.
HTTP istekleriyle bu asıllama ve
yetkilendirme işleri nasıl gerçeklenir?
Apache web sunucusu örneklemesiyle bu
ayarlar nasıl yapılır?
3. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
3
Gündem
Giriş
HTTP Temel (Basic) Yetkilendirme
HTTP Özet (Digest) Yetkilendirme
Proxy Sorunları
Sertifika Temelli Yetkilendirme
Apache: Yetki ve Erişim
Sonuç
4. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
4
Genel Bakış
HTTP protokolü kullanıcının tanımlanması
için bir takım yapılar barındırır.
Sunumda bu yapıları ve evrimlerini
gerektiren süreçleri inceleyeceğiz.
5. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
5
Sorunun Konumu
Web sunucuları genellikle anonim istekleri
cevaplarlar ama bazen işler değişir.
Şirketler bazı verilerini sadece çalışanlara
açabilirler, bazı verileriyse parasını ödemiş
müşterilerle paylaşabilirler.
HTTP yetkilendirme, mevcut protokol
üzerinden bunu sağlamak için
tasarlanmıştır.
6. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
6
Seçenekler
Gizli URL
IP/DNS sınırlaması
Kullanıcı Adı/Şifre eşleştirmesi
7. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
7
Gizli URL
www.oebilgen.com/super_gizli.html
Kullanıcılar tarafından paylaşılır.
Arama motoru örümcekleri indeksler.
Gizlilik güvenlik değildir!
8. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
8
IP/DNS sınırlaması
www.oebilgen.com/butun_siteyi_sil.cgi
DNS Spoofing
IP Address Takeover
9. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
9
Kullanıcı Adı/Şifre eşleştirmesi
Kişiye özgü sınırlama imkanı.
– Adım 1: Asıllama (Bilgilerinin alınması)
– Adım 2: Yetkilendirme (Kaynağa erişim)
Şifreler de şifrelenmiş halde tutulmalıdır.
– htpasswd uygulaması
Nasıl yapılacak?
– Temel yetkilendirme.
– Özet yetkilendirme.
10. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
10
HTTP Temel Yetkilendirme
İstek: GET /super_gizli.html HTTP/1.0
Cevap:
HTTP/1.0 401 Unauthorized
...
WWW-Authenticate: Basic realm=“Pek gizli şifren ne yabancı?”
Yeni istek:
GET /super_gizli.html HTTP/1.0
...
Authorization: Basic Yabanci:GizliSifre Base64
HTTP stateless, her seferinde tekrarlanmalı.
Çok rahat izlenir, FTP ve Telnet gibi kötü.
11. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
11
HTTP Özet Yetkilendirme
HTTP 1.1 yeniliği.
Kullanıcı adı, şifre, rastgele sayı, HTTP
metodu ve URL’nin özeti, genelde MD5.
Rastegele sayı = Özet(IPC,“:”, TS,“:”, KS)
Ek alanlar: Opaque, Algorithm, Domain ve
Stale.
Özetin içine istenen URL eklenir, böylece
en fazla bir adrese erişim ele geçirilir.
13. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
13
Proxy Sorunları
WWW-Authenticate, Authentication-info ve
Authorization başlıkları aynen iletilmeli.
Dosyalar bellekte tutulmamalı.
Aykırı durumlar:
– must-revalidate: Yetkilendirmeyi proxy yapar.
– public: Proxy herkese dağıtabilir.
14. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
14
Açıklar ve Öneriler
Temel ve Özet, HTTP asıllama ekleri “Man
in the middle” saldırısına karşı
savunmasızdır.
Sunucu şifreleri iyi korumalıdır:
– Şifre dosyası şifrelerin özetini tutmalıdır.
– Dosya, veriler şifresizmişçesine korunmalıdır.
– Realm özgün olmalıdır sonuna alan eklenir.
– Rasgele sayı zaman damgası taşımalıdır.
15. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
15
Sertifika Temelli Yetkilendirme
Apache mod_digest’i ekledi ama tarayıcılar
HTTPS ile SSL/TLS tercih ettiler.
Açık anahtar ile azami güvenlilik: Sertifika
temelli yetkilendirme ile sunucuyu sınama
imkanı doğdu.
X.5009v3 sertifikalarıyla grup tabanlı
erişim kontrolü, kullanıcı ayrıntılarıyla
uğraşmadan yapıldı.
16. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
16
Apache: Yetki ve Erişim
Kullanıcı gruplarıyla kolay erişim denetimi
htpasswd –c /var/www/html/oebilgen oe
/var/www/html/oebilgen dosyasının içeriği:
oe:RcWasdqed18a3
mavi:DxFw1qr48qlth
İlgili klasörde .htaccess dosyasına veya
sunucunun access.conf’undaki
<Directory> bölümüne.
17. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
17
Apache: Yetki ve Erişim (2)
AuthName “Süper Gizli Bölge”
AuthType Basic
- AuthType Digest
AuthUserFile /var/www/kullanicilar
require valid-user
- require user oe
- yetkili: oe mavi
require group yetkili
18. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
18
Apache: Yetki ve Erişim (3)
<Limit>
- <Limit POST>
require ...
</Limit>
Çok I/O işlemi: DBM formatı (İndeksli)
– Apache mod_auth_dbm + dbmmanage
– kullanicilar.pag: anahtar
– kullanicilar.dir: değeri
19. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
19
Özet
Her bilgi herkese açık değildir ama
güvenlik gizlilikle sağlanamaz.
Web saldırıları popülerdir ama HTTP
Basic Authentication önlemi yetersizdir.
Digest Authentication tutulmamış,
SSL/TLS kullanılmıştır.
Apache’de grup ve kullanıcı temelli
sınırlamalar dosya ve klasörlere
uygulanabilir.
20. 21.01.2023
Ozan Eren BİLGEN (oe@oebilgen.com)
20
Dinlediğiniz İçin Teşekküler...
R. Oppliger, “Security Technologies for the
WWW”, Artech House, 1999.
“HTTP - Hypertext Transfer Protocol”,
http://www.w3.org/Protocols/
“Apache HTTP Server Project”,
http://httpd.apache.org/
“RFC #2069: HTTP Digest Authorization”,
http://www.ietf.org/rfc/rfc2069.txt
“GDBM – GNU DBM”,
http://www.gnu.org/software/gdbm/