:::: MENU ::::
Browsing posts in: Web Sunucusu

Nginx’e Letsencrypt ile SSL Kurmak

Web sitenizin güvenliğini , ziyaretçilerinizin sitenize olan güvenini  artırabilir. Web sunucunuzda şifrelemenin(https) ayarlanması, genellikle çoğu kişiye karmaşık ve pahalı gelmiştir. Letsencrypt,  bu karmaşıklığı sadeleştirerek bunu değiştirmeyi hedefliyor. Basit, otomatikleştirilmiş komutlarla sertifikaların alınmasına ve yüklenmesine izin veren açık ve ücretsiz bir projedir.

Letsencrypt, IdentTrust tarafından çapraz imzalanan ve son sertifikalarının tüm önemli tarayıcılar tarafından kabul edilmesine izin veren sertifikaları verebilen yeni bir Sertifika Yetkilisidir. Bu kılavuz, certbot istemcisi sürüm 0.11.1’i yükleme adımlarını ve nginx çalıştıran CentOS 7 sunucunuzdaki sertifikaları yönetmek için Nginx’e Letsencrypt ile SSL Kurmak için gerekli adımları  özetlemektedir  .

certbot kurulumu

nginx kurulumu

güvenlik duvarı yapılandırması

centos üzerinde güvenlik duvarı varsa :

certbot  oluştur

nginx yapılandırmasını güncelle

nginx  servisini başlatma

SSL için otomatik yenileme oluştur

letsencryst’i oluşturduğumuz sertifikanın bir süresi var , otomatik yenilemek için yenileme komut dosyası oluştur

yenileme script’in içeriği

günde 2 kez güncellemeyi başlat

Manuel yenileme


Glassfish V2 Başlamaz İse

Halen Glassfish v2 kullanılıyorsanız 🙂 ve  asadmin start-domain demenize rağmen Glassfish V2 başlamaz ise ve sorun devam ederse, muhtemelen gömülü JMS broker ile ilgili bir sorun var. Benim log dosyamda aşağıdaki ipucu bulundu:

Glassfish V2 Başlamaz İse çözüm basit 🙂

dosyasını silin ve servisi tekrar başlatın.


Fastcgi-buffers Değerini Belirleme

 fastcgi_buffers boyutunu ayarlamada aşağıdaki komutları kullanabilirsiniz.

Maksimum Tepki Boyutu(Maximum Response Size)

Sadece HTTP  200 OK yanıtını dikkate almayı unutmayın.

Ortalama Tepki Boyutu(Average Response Size)

Yukarıdaki sonuçlara dayanarak, omeroner.com için, bulunan değerler aşağıdaki gibi :

Bu yüzden kullandığınız:

 


Linux Komutları ile Access Log Analiz Etme

Web sunucusu olarak  çoğunlukla tercih edilen sunucular apache veya ngnix’dir. Access log’ların formatları isteğe göre düzenlebilir fakat;

Access.log format olarak nginx’de  varsayılan  “combined” adlı  aşağıda belirtilen  biçimi kullanıyorsanız:

$remote_addr : İstek yapılan IP

$remote_user: HTTP doğrulanmış kullanıcı. Bu çoğu uygulamalar için boş olacaktır.

[$time_local] : Sunucu zaman dilimi damgası

“$request”: HTTP istek tipi GET, POST, vb + args olmadan istenen yol + HTTP protokol sürümü

$status : Sunucudan dönen HTTP yanıt kodu

$body_bytes_sent: bayt sunucu yanıt boyutu

“$http_referer” : HTTP protokolünde yönlendirmeyi yapan sayfanın bilgisini iletir  (varsa)

“$http_user_agent”: Sunucu tarafından görülen kullanıcı aracısı

Sayfa Kodları

200 – OK
206 – Partial Content
301 – Moved Permanently
302 – Found
304 – Not Modified
401 – Unauthorised (password required)
403 – Forbidden
404 – Not Found

Sunucudan dönen HTTP yanıt kodu’na göre sıralama

aynı işlemi awk kullanarak yapabiliriz:

404 ile sonuçlanan istekleri, URL ve sayısına göre sıralamak için:

Benzer şekilde 502(bad-gateway) için:

İstenmeyen erişimleri  tespit etmek için:

PHP dosyaları için 404’leri tespit etmek için:

En çok istek yapılan URL’ler:

En çok istek yapılan içeriğinde “xyz” olan  URL’ler:

 


SSL Key Dosyasında Parolayı Kaldırma

Bir web sunucusunda eğer parolal korumalı bir ssl key dosyası kullanıyorsak web sunucusunu yeniden başlatma (restart) işleminde her defasında bize parola sorcaktır. SSL Key dosyasında parola kaldırma işlemi için openssl komutunu kullanabiliriz.

artık web sunucunuzu restart ettiğinizde size parola sormayacak.


Apache ile Klasör İçeriğinin Web Tarayıcısında Listelenmesi

Apache web sunucusuna ulaşan  bir istek, dosya yerine bir klasöre işaret ediyorsa aşağidaki 3 işlemden birisi yapılır;

  • Klasörün içindeki öngörülen dosyayı (index.php index.html,index.htm vb.) istemciye göster
  • Klasörün içeriği ile ilgili otomatik bir sayfa oluştur
  • ‘Permission Denied’  hata mesajı oluştur

İlk iki seçenek tamamen mod_autoindex module tarafindan yönetilir. Bu module apache ile öngörülen olarak derlenir ve aktif  hale getirilir.

Continue Reading



Apache ve PHP’nin versiyon bilgilerini gizleme

Apache Bilgilerini Gizleme

Bütün Apache kurulumları varsayılan olarak, tüm dünyaya  hangi Apache sürümünü, işletim sistemini çalıştırdığınızı ve hatta hangi Apache modüllerinin sunucuda kurulu olduğunu söyleyecektir. Saldırganlar bu bilgileri kullanırlar.

Ayrıca varsayılan ayarları ellemediğimizi belirten bir mesaj da vermiş oluruz.

httpd.conf dosyasında aşağıdaki iki parametreyi eklememiz  gerekiyor eğer var ise aşağıaki şekilde düzenlemek gerekiyor.

Continue Reading


Apache Performans Testi (Apache Benchmark ab)

Apache Benchmark  ab – Apache Web server’ın benchmarking tool’udur.

Bu tool   apache’yi en iyi performans için kurulum ayarlarını test etmek amaçlı tasarlanmıştır.

Bu araçla Apache sunucumuza  istediğimiz  kadar istek ( request ) gönderebiliriz . Böylelikle Apache sunucunuzun kaç kullanıcaya kadar problemsiz hizmet verdiğini rahatlıkla test edebiliriz. Normal şartlarda Apache sunucu donanımsal yeterlilik  olduğu sürece sıkıntısız bir şekilde çalışır.

Continue Reading


Htaccess ile Dizin veya Dosya Koruması

Web sunucusu yöneticilerinin bazı durumlarda dizin ve sayfaların korumaya alınması sıklıkla karşılaşılabilecek durumlardan biridir.

Kullanıcı adı ve şifre ile sitenizdeki sayfaları ve dizinleri korumak için Apache’nin . htaccess dosyası nasıl kullanacağımızı basitçe ifade etmek gerekirse.

Şifre korumalı sayfa veya siteye kullanıcı adı ve şifre girmeden erişelemez . Şifre koruması bazı durumlarda kullanışlı olabiliyor.

örneğin; Yeni bir site inşa ediyoruz, ancak belli kişiler tarafından erişilmesi ve gelişimin görülmesini istiyorsunuz.

Eğer halkın erişmesini asla istemediğiniz sitenizin bir alanı olabilir.

örneğin, web istatistikleri,admin ekranları veya özel sayfalar.

Sadece abonelere erişebilir olması gereken sitenizdeki bazı ücretli (abonelik) içeriğe sahip alanlar.

Apache oldukça kolay tek tek dosyaları, klasörleri veya tüm siteyi korumaya olanak sağlar.

Nasıl yapıldığına geçelim.

Nasıl çalışıyor

Sayfalarınıza şifre koruması eklemek için, aşağıdaki iki şey yapmanız gerekir:

  • Kullanıcı adınızı ve şifrenizi saklayacak sunucunuzda bir metin dosyası oluşturun.
  • Korumak istediğiniz klasörde .htaccess adında bir dosya oluşturun.

Bu kadar değil!  Şimdi bunları nasıl yaparız adım adım onlara geçelim.

Şifre dosyası oluşturma

İlk adım iki nokta üst üste (:) ile ayrılmış kullanıcı adınızı ve şifrenizi saklamak için basit bir metin dosyası oluşturmaktır. Neyse ki bu işi yapabileceğimiz birçok ücretsiz web tabanlı uygulama var.

Bunlardan birini deneyin:

4webhelp.net
Alterlinks
htmlite

Sadece bu sayfaların birinde , adınızı ve şifrenizi girin ve formu gönderin.

Aşağıdakine benzer bir satır geri alırsınız:

Şimdi, en sevdiğiniz metin editörü (örneğin vim) ile .htpasswd adında bir dosya oluşturup içine, satırı (omeroner.com:80JmNXJckje6g) yapıştırıp kaydedelim.

Daha sonra, Web sitenize yükleyin. Sadece herkes tarafından dosyanın görüntülenmesi gerekir, mümkünse Web kök dizinin dışında olduğuna emin olun!

( Apache genellikle. Ht ile başlayan dosyalara web tabanlı erişimi engellemek için varsayılan olarak ayarlanır)

Eğer Web kök dizin dışında dosyayı bir yere koyamıyorsanız, kolayca tahmin edilemiyecek bir isim – örneğin, htxusymwp. Böylece insanların kolayca bulması mümkün olmayacaktır.

( Ayrıca, ht ile dosya başlatmakda güvenlik için yardımcı olur; Daha önce belirtiğim gibi, Apache genellikle ht ile başlayan dosyalara erişimi engeller.)

Alternatif: htpasswd kullanarak şifre dosyası oluşturma

Eğer web sunucusu ya da yerel bir makinede Apache çalıştırıyorsanız. SSH erişiminiz varsa, Apache ile gelen htpasswd yardımcı programını kullanarak tek seferde şifrenizi dosyasına ekleyebilirsiniz. Sunucu veya şifrenizi dosyası oluşturmak istediğiniz klasörü için yerel makine, bir terminal penceresi açın.( SSH)

(omeroner kullanmak istediğiniz kullanıcı adı . htpasswd ise dosya adı olsun). şifrenizi girin ve yeniden yazın istenir, Dosyada sizin için bulunduğunuz dizinde dosya oluşturulmuş olur.

.htaccess dosyası oluşturma

Şimdi oluşturulan şifre dosyası ile hangi sayfanızın (ler) veya sitenin koruması grektiğini Apache söylemek gerekir. Bunun . Htaccess dosyası yapacağım.

Tekrar metin editörü açın, yeni bir dosya oluşturun ve adını . htaccess olarak kaydedin.

Bir klasör koruma

Sitenizdeki bir klasörü parola ile korumak için, htaccess dosyasında aşağıdaki kodu koymak gerekir:

Yukarıdaki . htaccess dosyasını korumak istediğimiz klasör altına atarak klasörü ve alt klasörlerdeki tüm dosyaları koruyamaya alırız.

Eğer tüm site parola ile korumak isteniyorsa web kök klasörüne yerleştirilir. Bu sayede tüm site parola ile korunacaktır.

Bir dosya koruma

Bir klasörde sadece tek bir dosya şifre ile korumak için , aşağıdaki .htaccess dosya kullanımı uygundur.

Bu . htaccess dosyasını koymak klasöründeki sadece omeroner.html dosyasını parola ile koruyacaktır.

not: .htaccess kullanımı için gerekli apache ayarlarının yapıldığını farzedilerek yukardaki açıklamalar yapılmıştır.