IIS Application Pool, Event Id 5059

IIS 7 kullandığım bir sistemde DefaultAppPool servisi çalışır çalışmaz duruyordu. Event Viewer’de görüntülenen açıklama şu şekildeydi;

EventId 5059:
“Application pool DefaultAppPool has been disabled. Windows Process Activation Service (WAS) encountered a failure when it started a worker process to serve the application pool.”

Bu hatanın nedenlerini inceledikten sonra, sorunun AppPool’a tanımladığım kullanıcı hesabının değişen şifresinden kaynaklandığını tespit ettim. Parola değişim süresi dolduğunda şifremi değiştirmiştim fakat problemin  bir ay sonra ilk yeniden başlatmada yaşanması neden-sonuç ilişkisi kurmamı zorlaştırdı.

AppPool için tanımlanan kullanıcı adı ve parolayı güncelleyip servisi yeniden başlattığınızda sorun çözülecektir.

Doğru bir yapılandırmada SQL ve AppPool için farklı bir kullanıcı tanımlanması ve bu kullanıcıların parolalarının zaman aşımına uğramaması gerekiyor. Tabi bunu yapmadıysanız ve bu satırları okuyorsanız umarım yardımcı olmuştur.

Yaşadığım hatada işleri zorlaştıran IIS’in kullanıcı düşmanı LOG sistemine de dikkat çekmek istiyorum. Problemin nedenini bir satırda yazmak çok zor olmasa gerek. Bir LOG sistemi NE, NEDEN, NE ZAMAN sorularına yanıt vermiyorsa kullanıcı dostu olmaktan uzak olacaktır.


DNS kuvvetlendirmeli DDOS saldırıları (DNS Amplification Attacks)

DDoS

DNS kuvvetlendirmeli DDOS saldırıları haberlere konu oluyor, ve eminim ki bu satırları okuyorsanız bunun bir parçası olup olmadığınızı merak ediyorsunuzdur. Öncelikle DNS kuvvetlendirmeli DDOS saldırılarının nasıl gerçekleştirildiğini inceleyelim. En basit haliyle bu saldırı türünde, kurbanın IP adresi (IP Spoofing) ile DNS sunuculara sorgular gönderilir. Kurban gönderilen bu DNS sorgularının yanıtlarını alır. İlk başta problem değilmiş gibi görünüyor olabilir, gün içerisinde pek çok istemci ve sunucu yoğun DNS sorgu trafiği oluşturuyor. Bu senaryoda yaşanabilecek problemler, DNS sunucularının yapılandırmalarının yetersiz olması, kuvvetlendirmenin yapılıyor olması ve ISP lerin RFC leri tam uygulamıyor olmasından kaynaklanıyor.

Genel amaçlı kamusal DNS sunucu yönetmiyorsanız, sadece kendi alan adlarınızın veya müşterilerinizin IP adreslerinden gelen DNS sorgularını kabul etmelisiniz. Eğer DNS sunucunuz İnternet’e açıksa, recursion tipi DNS sorgularına yanıt vermemeli, sadece otoritesi olduğu alan adlarına ait sorguları yanıtlamalı. Saldırıyı gerçekleştiren taraf recursive DNS sunuculara değiştirilmiş kaynak IP li sorgular gönderir. Recursive DNS sunucu bu sorguların yanıtlarını kurbanın IP adresine döner.

Saldırgan küçük DNS sorguları gönderir, çok fazla DNS kaydı olduğu bilinen bir alanadı için “ANY” paremetresi kullanılarak tüm kayıtlar istenir. Sorgu paketleri 60byte seviyelerindeyken dönülen cevap 3-4kb seviyesinde olabilir. Buda yaklaşık 50-70 katı bir kuvvetlendirme sağlar. Saldırgan küçük DNS sorgularını fazla sayıda recursive DNS sunucuya gönderebilir, ve tüm sunucular kurbana yanıtları döner. Bu yöntem ile kısa süre içerisinde kurbana ezici bir trafik yönlendirilmiş olur.

ISPler, DNS kuvvetlendirme saldırısında da kullanılan kaynak IP değişimiyle gerçekleştirilen saldırıları engelleyebilirler. Internet Engineering Task Force (IETF) – Best Current Practices (BCP) dokümanı olarak Request for Comments (RFC) hazırlamakta. RFC 2827 – BCP 38 “Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing”. Bu dokümanda temel olarak, kaynak IP adresinin istemcinin bulunduğu aralıkta olmaması durumunda paketlerin nasıl düşürüleceği anlatılmakta. Eğer ISP lerin çoğunluğu bu BCP 38 de tanımlanan kurallara uyarsa, pek çok kaynak IP değişikliğine dayanan saldırının önü kesilmiş olacak.

IPv4 adreslerinin azlığından, ev ve iş bağlantılarının pek çoğu Address Translation (NAT) kullanarak Internet üzerindeki IP lere verimli erişim sağlıyor. NAT kullanımı aynı zamanda kaynak IP değişikliği yapılmasına da engel oluyor, çünkü kaynak IP adresi NAT cihazı tarafından yazılıyor. IPv6 yaygınlaştıkça NAT kullanımına duyulan ihtiyaç azalacak. Günümüzde olduğu gibi, IPSler BCP leri IPv6da da takip etmediği taktirde, kaynak IP adresi değişimine dayanan saldırılar artacaktır.

Ayr.bkz. “Yansıma DDOS Atakları (Reflection DDoS Attacks)”

Hamdi ÖZCAN – ozcan.com


SSH açık-anahtar doğrulaması (SSH public key authentication)

Parola doğrulaması maalesef yeterince güvenli bir doğrulama aracı olamıyor günümüzde. Evcil hayvanınızın adından daha güçlü olduğunu düşünerek oluşturduğunuz “güçlü” parolanız dahi brute-force saldırılarına karşı tahmininizden daha çabuk teslim olabilir. Ağ trafiğinizin koklanması (sniff), İnternet üzerinden doğrudan veya köleleştirilmiş (zombie) bilgisayarların otomatik saldırıları sıklıkla yaşanıyor. SSH trafiğiniz yerel ağınızda dahi olsa sisteminize bulaşan bir solucan parola tabanlı güvenliğinizi kolayca delebilir.

Pek çok istemcinin aynı parolaya sahip hesabı kullanarak uzak sistemlerinize erişmesi, genel adıyla paylaşımlı parola kullanımı,  sizi daha çok risk altına atacaktır. Parolanın güvenliğinden endişe edilen durumlarda, aynı parolayı kullanan tüm istemcileri eksiksiz yeni parola ile güncellemeniz dahi pek eğlenceli olmayacaktır.

OpenSSH’a tümleşik gelen açık anahtar doğrulama sistemi (public key authentication) hem güvenliğinizi arttırıyor hem de kullanım kolaylığını beraberinde getiriyor.

Açık anahtar altyapısı nedir?

Açık anahtar doğrulaması (PKI – public key infrastructure) açık/gizli anahtar çiftine dayanan bir yöntemdir. Anahtar çiftinin açık olan anahtarı herkes tarafından kullanılabilir ve bu anahtarla veri kriptolanır. Sadece anahtar çiftinin gizli olan anahtarı bu kriptolu veriyi çözümleyebilir. Bu yöntemle açık anahtarınıza sahip herhangi biri size gizli bilgi gönderebilir ve veriyi gönderen kişi sizin gizli anahtara sahip olmanız durumunda bunu okuyabileceğinize emindir. Çalışma prensibini anladıktan sonra, doğrulamanın bu teknik üzerinden nasıl çalıştığını anlamak gayet kolaylaşacaktır.

(daha&helliip;)


Cisco cihazların yedeğini alacak betik hazırlayalım

Çalışma ağınızda çok fazla sayıda ağ cihazı varsa bunların üzerinde yapacağınız toplu işlemler uzun, hatalı ve can sıkıcı olabilir. Tüm cihazların üzerinde komutların tek seferde nasıl çalıştırılacağını inceleyelim;

Örnek senaryomuzda Cisco cihazların çalışan konfigürasyonlarının yedeğini bir FTP klasöründe toplayacağız. Bunun için PuTTy‘nin CLI (command line interface) sürümü Plink‘i kullanacağız.

Cihazlarınıza TELNET ile bağlanıyorsanız;

plink.exe -telnet -l admin 10.0.0.1 < lc.txt

cihazlarınıza SHH ile bağlanıyorsanız;

plink.exe -ssh -l admin -pw password 10.0.0.1 < lc.txt

lc.txt dosyasının içine, çalışan ayarları (running config) FTP’ye kopyalamak için;

ena
password
copy run ftp://anonymous@10.0.0.22

exit

burada FTP sunucunuzun anonymous bağlantıya izin verdiğini varsaydık.

Yukarıda bağlantı komutlarındaki IP adreslerini cihazların adresileri olarak dizi şeklinde oluşturup terminal ekranına yapıştırdığınızda yüzlerce cihazı tek seferde yedeklemiş olacaksınız.


BASH betiklerini WEB’den çalıştıralım

Yaptığınız rutin işlemler için her seferinde terminal bağlantısı kurmak yerine bunu web üzerinden yapmanız keyifli olabilir. Unix / Linux betiklerimizi web üzerinden nasıl çalıştırabileceğimizi inceleyelim;

Öncelikle, CGI destekli Apache / lighttpd web sunucunuzu hazırlayın. Çalıştıracağımız komutları cgi-bin klasörüne kopyalamamız gerekiyor. Dabian ve Ubuntu’da bu klasörün varsayılan konumu /usr/lib/cgi-bin dir. Red Hat ve Fedora’da varsayılan cgi-bin konumu /var/www/cgi-bin dir. Çalıştıracağımız betiği hazırlayalım;

cd /usr/lib/cgi-bin
nano shutdown.cgi

shutdown.cgi dosyasi içine yazacağımız kodlar;

#!/bin/bash
echo "Content-type: text/html"
echo "<html><head><title>Shutdown</title></head><body>"
echo "<h1>Sistem kapatildi...</h1>"
echo "</body></html>"
/sbin/shutdown -h now

(daha&helliip;)


Eski bir bilgisayara NAS sunucu kuruyoruz…

Günümüzde dijital verinin önemi oldukça arttı. Diskinizde sakladığınız fotoğraflarınızın muhtemel bir disk arızasından dolayı kaybolduğunu düşünün..! Şuana kadar hiç düşünmediyseniz halen çok geç değil demektir. Bu yazımda hem veri güvenliğinizi arttırabilmeniz, hem de verinize daha kolay erişebilmeniz için eski bir bilgisayarın nasıl NAS (networke bağlı depolama) ünitesi olarak kullanılabileceğini kendi yöntemlerimle açıklayacağım. NAS servisi genel olarak tanımlamak gerekirse, ağ üzerinden veri depolama hizmeti verilmesidir.

Neden NAS sunucu?
Bilgisayarlarımız sürekli taşınabilir olma yolunda ilerliyor. Bu süreçte depolama ihtiyaçlarımızda artmakta. Resim, ses, video, doküman dosyaları biz hayatın akışına bıraktıkça kapasite olarak artıyor. Yeni nesil dijital kameralarla üretilen yüksek çözünürlüklü fotoğraf ve HD videoların boyutları pek çoğumuza zor anlar yaşatmaya başladı. Tüm dosyalarımızı bilgisayarlarımızda barındırmamız mümkün fakat bu hem mobil olma yolunda ilerleyen cihazlar için büyük bir yük, hem de evlerimizdeki diğer kişi ve cihazlarla bu dosyaların  paylaşılması ve hatta yedeklenmesi güçleşmekte. Bu disk yükünü ayırıp, ahtapot gibi bilgisayarınıza sarılmış USB disklerden kurtulabilmek için diskleri farklı bir yerde konumlandırmak akılcı bir alternatif. Dosya arşivlerinize erişebilmek için USB diskleri takıp çıkartmak, birinden diğerine kopyalamak için bilgisayar başında süreci takip etmek, televizyonunuzdan ve diğer cihazlarınızdan içeriğe erişmek için USB diskler elinizde oradan oraya gidip gelmeniz ve verilerinize olan erişim süresinin uzaması gibi sorunların ve daha fazlasının çözümü için bir NAS sunucu kurmanız, hem verilerinizin güvenliğini, hem de erişiminizin kolay ve rahat olmasını sağlayacaktır.

(daha&helliip;)


Standart Olmayan Fontların Kullanımı

HTML ile çalışmaya başlayanların yaşadığı ilk sorunlardan birisi, standart olarak her makinede yüklü olmayan fontların görüntülenememesidir. Geliştirilen Web Open Font Format (WOFF) ile standart olmayan fontları html sayfalara eklememiz mümkün. Tabi günün gerisindeki web tarayıcıları bu fontu desteklemiyor.

WOFF fontları destekleyen tarayıcı sürümleri; Firefox 3.6 ve üstü, Google Chrome 6.0 ve üstü,  Opera 11.10 ve üstü, Internet Explorer 9.

Eski web tarayıcıları halen yaygın kullanımda olduğundan eski tarayıcıları da göz önünde bulundurmamız gerekiyor. Internet Explorer 9 öncesi versiyonlar Microsoft’un geliştirdiği OET font formatına destek veriyor,  Diğer tarayıcıların ise TTF, SVG fontlarına destekleri var.

Aşağıdaki satırları ve linkleri css alanına ekleyip, eot, woff, ttf ve svg formatlarındaki fontları yükledikten sonra, font-family olarak webfont seçerek standart dışı fontları pek çok platformda sorunsuz olarak kullanabileceksiniz;

@font-face {font-family: 'webfont';src: url('font.eot');}
@font-face {font-family: 'webfont';src: url('font.woff') format('woff'), url('font.ttf') format('truetype'), url('font.svg') format('svg');}