Şunun için etiket arşivi: squid

Linux Eğitimi

Linux eğitimleri ile ilgili tüm çalışmalar Eğitim Atolyesi websitesine taşındı.

Yeni dersler,eğitim programları ve daha pek çok ayrıntıyı alltaki logoya tıklayarak erişebilirsiniz.

 

 

linuxegitimi2

48K BİLİŞİM VE INTERNET TEKNOLOJİLERİ

LINUX SİSTEM YÖNETİCİSİ EĞİTİMİ

LINUX WEB HOSTING VE SİSTEM YÖNETİMİ EĞİTİMİ

 

Eğitimin Amacı;

Bu eğitim Linux tabanlı işletim sistemleri ve kullanımı hakkında temel bilgileri ,ayrıca yine Linux tabanlı web sunucularının kurulumu,yönetimi,bakımı ve güncellenmesi konularında uzmanlık bilgilerini vermeyi amaçlamaktadır.

Detaylı bilgi için :48k Bilişim ve Internet Teknolojileri İzmir / Telefon: 0 850 333 13 64

Katılımcıda aranan gereksinimler;

  • İşletim sistemini (Microsoft Windows,Linux,Apple MacOS gibi) kullanabilen,

  • Temel olarak network bilgisine sahip olan.Örneğin bir bilgisayara ip adresi atayabilmek veya bir modem ile PCyi internete bağlayabilmek vb.

  • Linux tabanlı işletim sistemlerine karşı meraklı olmak veya temel bilgiye sahip fakat kendini geliştirmek isteyen

  • Internet ve network,network servisleri,hosting,sistem yönetimi,ağ yönetimi konularında kendini geliştirmek isteyen herkes eğitimimize katılabilir.

Eğitim sonunda katılımcı;

Çalıştığı kurumda veya işletmede mevcut Linux sunucu sistemlerini yönetebilir hale gelecektir.IT planlarına Linux tabanlı sunucu işletim sistemlerini de dahil ederek kurumundaki ağ sistemleri üzerinde kontrolünü arttıracaktır.Linux ile bilişim altyapı çözümleri oluştururken BT maliyetlerini de düşürebilecektir.

Bunun yanısıra katılımcının görev yapmakta olduğu kurumun verimerkezlerinde bulunan web,eposta,dns,veritabanı gibi servisleri sağlayan kiralık sunucuların yönetimini yapabilecektir.

Herhangi bir kurumda çalışmayan,BT dünyasına yeni adım atan kursiyerlerimizin iş başvuru alanı genişleyecektir.

Kursiyerler eğitim sonunda dünyanın heryerinde geçerliliği olan bazı sertifikasyon (örnek: LPI) eğitimlerinde verilen bilginin büyük kısmını bu eğitimde almış olacaklardır.

Kimler katılabilir?

Bilişim dünyasına bir adım atmak isteyen,kendini geliştirmek isteyen kişiler veya IT personeli olarak çalışmakta olduğu işyerindeki sistemlere hakimiyet sağlamak isteyenler bu eğitime katılabilir.

 

E-Mail : egitim@linux-destek.com , egitim@48k.com.tr

Telefon : 0 850 333 13 64

Başlangıç Eğitim Programı

Başlangıç eğitim programı ile uzman eğitim programı genel olarak aynı içeriği kapsar.Uzman eğitim programı uygulama ağırlıklıdır.Aşağıda ve linkteki eğitim notlarında belirtilen uygulamalar esastır.

Bunun yanısıra öğrencilerin de içeriğe katkıda bulunabileceği  veya karar vereceği gerçek dünya senaryolarına yer verilecektir.Sonuç olarak Uzman eğitimi ağırlıklı bir serbest atolye programıdır.

Başlangıç eğitimi 20 saat, Uzman eğitim programı 120 saat olarak tasarlanmıştır.

Linux sistem yönetimi egitimi notları

 

Uzman Eğitim Programı

A.GİRİŞ

Internet,arama motorları,websitesi,forum,blog,eticaret,domain,http,ftp,hosting,websitesi,e-mail,sunucu,network,dns,router,tcp/ip kavramlarının tanımları ve örneklerle açıklanması.

Internet nasıl çalışır?

Sunucu,istemci ilişkisi nedir?

Tcp/IP nedir?

Gerçek IP,Lokal Ip Nedir,Nasıl kullanılır?Kullanım Şartları Nelerdir?

Alanadı nedir?

Hangi alanadlarını kullanabiliriz.Eski ve yeni nesil alanadları.

Alanadı Nedir? Nasıl alınır?Kullanım şartları nedir?

B.LİNUX VE LİNUX TABANLI İŞLETİM SİSTEMLERİ

Linux ve Linux tabanlı işletim sistemleri tanıtımı

Redhat ve Debian gibi yaygın kullanılan işletim sistemleri

Linux tabanlı işletim sistemlerinde;

Kurulum,

Shell (komut satırı) kullanımı,komutları

Dosya sistemleri,izinler ve hakların oluşturma,değiştirme

Genel konfigurasyonları,

Dosya ve klasör yapılandırmaları,

Temel Network Ayarları,

Yazılım kurulumları,Debian ve Redhat türevlerinde paket depolarının kullanımı,

Iptables Firewall kullanımı

Linux tabanlı sistemlerde en çok kullanılan network servislerinin tanıtımı,

Aşağıdaki başlıklarda yer alan network servislerin kurulum ve yapılandırılması örnek senaryolar ile uygulamalar ile birlikte yapılacaktır ;

  • Dosya paylaşım sunucuları,Samba ve NFS sunucuların yapılandırması
  • Rsync ile yedekleme
  • SSH servisi
  • Linux ağ geçidi hizmetleri,iptables güvenlik duvarı ve maskeleme
  • Squid Proxy web vekil sunucusu
  • DHCP
  • OpenVPN

C.WEBSİTELERİ VE WEB SUNUCU SİSTEMLERİ NASIL ÇALIŞIR?

Bir web server kuralım.

1.Alanadı ve DNS

Bir websitesi kurmak için nelere ihtiyacımız vardır?Neden barındırma?

Alanadı seçimi:Örnek bir alanadı satın alımı.

DNS Server nedir?

DNS’in hiyerarşik yapısı,root dns sunucular.

DNS Sunucular

DNS Kayıt Türleri

DNS Çözümleyiciler (resolver dns),DNS Önbellekleme (DNS Caching)

Örnek uygulama: BIND DNS Sunucusunun kurulumu ve yapılandırılması,alınan alanadı kayıtlarının ve nameserver bilgilerinin konfigurasyonu,DNS Test Araçları,Raporlama Araçları ve test,raporlama uygulaması

2.FTP Sunucu

FTP Nedir,FTP protokolu nasıl çalışır?

Pasif ftp,ascii,binary dosya transferleri nasıl?

Anonim FTP,FTPS

Örnek Uygulama:FTP Sunucu kurulumu,alanadı kurulan websunucuya dosya transferi.

2.Web Sunucu

Http Nedir?

Tarayıcı (istemci) – Sunucu ilişkisi

Virtual Hosting Nedir?

Web sunucu yazılımlarına genel bakış,artıları,eksileri

Örnek Uygulama: Linux işletim sistemine Apache web sunucusu kurulumu ve yapılandırması,örnek alanadının hosting yapılandırılması ve yayınlanması

2.1.Programlama Dilleri,Hazır Yazılımlar ve Veritabanı Sunucuları

Linux tabanlı web sunucularında kullanılan programlama dilleri genel tanıtımı.

Apache Web sunucuya PHP programla dili desteğinin yapılandırılması.

Sistem yönetimi açısından dinamik websiteleri

MySQL Veritabanı Sunucusu ve Apache-PHP ile ilişkisi ve entegrasyonu

PHP ile yazılmış en sık kullanılan hazır yazılımlar ile ilgili sık rastlanılan hatalar,çözüm yolları.

Sistem yönetimi için MySQL Araçları ve kullanımı

3.E-Posta Sunucuları

Nasıl Çalışır? DNS ve E-Posta ilişkisi.

E-Posta sunucuları hakkında genel bilgi ve türlerine göre ayırımı,

Kurumsal iş birliği yazılımları Microsoft Exchange rakipleri

E-Posta iletişiminde kullanılan protokoller (SMTP,POP,IMAP)

Antispam ve antivirus Sistemleri

E-posta istemciler ve konfigurasyonu,açık kaynak kodlu yazılımlar hakkında bilgi

İleri düzey e-posta sunucu ayarları

Bölüm sonu Genel Örnek Uygulama:

Tüm bileşenleri ve hosting kontrol paneli ile bir web sunucusu kurulumu

D.UYGULAMALAR

Web sunucularında Hosting Kontrol Yazılımlarının (hosting paneller) kurulumları

Zimbra E-posta ve ortak çalışma sunucusunun kurulumu

 

Dansguardian + Squid problemi.Nam-ı diğer follow_x_forwarded_for

Açıklama

Tıpkı diğer yazdığım belgeler gibi bu belge de kirlidir.Ama siz buna aldırmayabilirsiniz.Çünkü işe yaramaz şeyler yazmamaya gayret ediyorum.Bozuk türkçem için tekrar özür.Birgün düzelecek:)

Neden Dansguardian? Squid bize yetmez mi?

Eğer konu içerik filtreleme ise yetmez.Çünkü squid çok başarılı bir http proxydir,access control list yapısı bence benzersizdir ancak konu içerik filtreleme (dikkat adres satırı değil,içerik!) olunca ne yazıkki yetersiz kalıyor.

Dansguardian işte burda devreye giriyor,squidin yapamadığı içerik filtrelemeyi başarıyla gerçekleştiriyor.

Peki neden sadece dansguardian kullanamıyoruz?

Öööle yapmış adamlar napalım yani:)Dansguardian mutlaka bir http proxy ile beraber çalışmak zorunda.Cachei,Acl,Delay Pools,Httpd Accel gibi özellikleri yok.Tek yaptığı iş web sayfalarının içeriğine bakmak.Bunu da gayet iyi yapıyor.

Sorun ne peki?

Dansguardian ile squidi aynı makinaya kurdunuz.dansguardian da ve squidde standart ayarlarları yaptınız.Herşey çalışır durumdayken squid’in access.log una bir bakın.Tüm web isteklerinin kaynak ip’lerinin değişmiş olduğunu göreceksiniz.Artık tüm isteklerin kaynağı proxy sunucunuz gibi görünmektedir.Bu durumda squid’in access control listeleri kullanılamaz hale gelir.

Çözüm ne?

Bildiğim kadarıyla ilk çözüm squid 2.4 versiyonuna bir yamayla başladı.Ama ben bununla ilgilenmedim.Burada yapacağımız squid kurulumu kaynaktan derleme olacaktır.(squid-2.6.STABLE6.tar.gz)

Dansguardian için debian stable depolarından normal kurulum yeterli olacaktır.Dansguardian tarafında sadece dansguardian.conf ta yapacağımız iki satır değişiklik,hepsi bu.

Squid Kurulumu

Yukarda bahsettiğim tar.gz dosyasını www.squid-cache.org dan indirin.Sisteminizde istediğiniz bir yere açın.Şu parametrelerle derleyin.

./configure –enable-follow-x-forwarded-for –enable-linux-netfilter –enable-delay-pools –enable-arp-acl

make all

ve son olarak make install

Aşağıda verdiğim derleme seçeneklerini kısaca açıklamaya çalışacağım

ilk parametre olan enable-follow-x-forwarded-for bizim sorunumuzu çözen parametre.Başka proxy üzerinden istek yapan hostların kendi ip sini bulmamıza yardımcı olur.Buradaki başka proxy dansguardian oluyor.

–enable-linux-netfilter bize transparan proxy yapmamıza imkan tanıyan derleme seçeneğidir.

–enable-delay-pools : Delay Pools Squid’de bandwidth management yapmanıza imkan tanır.

–enable-arp-acl : Ip değiştirmeyi bilen akıllı kullanıcılarınıza,bunun yeterli olmayacağını göstermenize imkan tanıyan parametre.Onlar ethernet kartı veya mac adreslerini değiştirmeyi öğreninceye kadar ,size kurallarınızı uygulayabilme imkanı tanır.

Herhangi bir hata yoksa,squid sisteminize başarıyla kurulmuştur.Eğer farklı bir yol belirlemediyseniz squid /usr/local altındadır.

Aşağıdakileri adım adım yapın.
Proxy adında bir grup ve bu gruba üye aynı isimde bir kullanıcı yaratın.

/usr/local/squid/var/log ve /usr/local/var/cache dizinlerinin haklarını bu kullanıcı ve grupla değiştirin.

/usr/local/squid/etc/squid.conf un bir yedeğini alın.Aşağıdaki satırları dosyanıza ekleyin.

İlk sayfada;

# Squid normally listens to port 3128
http_port sunucu_ip_no:3128 transparent

Acl ile ilgili bölümde koyu olan bölümleri ilave edin.
acl all src 192.168.0.0/255.255.255.0 (siz bunu kendi networkünüze göre ayarlayın)
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
follow_x_forwarded_for allow all

acl_uses_indirect_client on
# delay_pool_uses_indirect_client on (band genişliği sınırlaması yapmıyorsanız buna ihtiyacınız olmaycaktır.
log_uses_indirect_client on

Daha sonra http_access ile başlayan bölüme geçin, kendi politikanıza göre izinleri ve yasakları ayarlayın.

Dosyayı kaydederek çıkın.Squid başlatılmadan önce cache dizin yapısı oluşturulmalıdır.

/usr/local/squid/sbin/squid -z ile cache yapısını oluşturun.Burada bir hata alırsanız dosya izinlerini kontrol edin.

Hata yoksa;

/usr/local/squid/sbin/squid

komutu ile squid çalışacaktır.

Dansguardianın Ayarlanması

Daha önce de belirttiğim gibi dansguardianın standart kurulumu yeterli.Debian veya türevi bi OS kullanıyorsanız apt-get install dansguardian komutu ile sisteminize kurabilirsiniz.

Not:Eğer bunu da kaynaktan derlemek isterseniz dansguardian’ın virüs tarama yeteklerini incelemenizi tavsiye ederim.Ben çok başarılı bulamadım.Özellikle flash web sitelerinde yükleme esnasında çok bekletiyor.Zaten virüs dediğimiz şey sadece web sayfalarında gelse bu kadar başımız ağrımazdı.Anti-virus koruma istiyorsanız size snort_inline+clamav ı tavsiye ederim.Onun dökümanı da bu blogda mevcuttur.Reklam!

/etc/dansguardian altında dansguardian.conf dosyasını açın.

İlk satırlarda UNCONFIGURED yazısı başına bir # ilave edin.

# DansGuardian config file for version 2.8.0

# **NOTE** as of version 2.7.5 most of the list files are now in dansguardianf1.conf

# Comment this line out once you have modified this file to suit your needs
#UNCONFIGURED

Daha sonra şu bölümleri ayarlayın

# Network Settings
#
# the IP that DansGuardian listens on. If left blank DansGuardian will
# listen on all IPs. That would include all NICs, loopback, modem, etc.
# Normally you would have your firewall protecting this, but if you want
# you can limit it to only 1 IP. Yes only one.
filterip = sunucu_ip_no

# the port that DansGuardian listens to.
filterport = 8080

# the ip of the proxy (default is the loopback – i.e. this server)
proxyip = sunucu_ip_no

# the port DansGuardian connects to proxy on
proxyport = 3128

Sonra biraz daha ilerleyerek şu satırları bulun değerleri on yapın.

# Misc settings

# if on it adds an X-Forwarded-For: to the HTTP request
# header. This may help solve some problem sites that need to know the
# source ip. on | off
forwardedfor = on

# if on it uses the X-Forwarded-For: to determine the client
# IP. This is for when you have squid between the clients and DansGuardian.
# Warning – headers are easily spoofed. on | off
usexforwardedfor = on

Dosyayı kaydederek çıkın.Dansguardian’ı start edin.Squidin çalıştığına emin olun.En son bir client başına geçerek birkaç web sayfasına girin.Daha sonra

tail -f /usr/local/squid/var/logs/access.log yazarak istekleri izleyin.Artık squid’de gerçek client ip lerini görebilecek ve buna göre kendi acl lerinizi yazabileceksiniz.

Şunun için etiket arşivi: squid

Linux Eğitimi

Linux eğitimleri ile ilgili tüm çalışmalar Eğitim Atolyesi websitesine taşındı.

Yeni dersler,eğitim programları ve daha pek çok ayrıntıyı alltaki logoya tıklayarak erişebilirsiniz.

 

 

linuxegitimi2

48K BİLİŞİM VE INTERNET TEKNOLOJİLERİ

LINUX SİSTEM YÖNETİCİSİ EĞİTİMİ

LINUX WEB HOSTING VE SİSTEM YÖNETİMİ EĞİTİMİ

 

Eğitimin Amacı;

Bu eğitim Linux tabanlı işletim sistemleri ve kullanımı hakkında temel bilgileri ,ayrıca yine Linux tabanlı web sunucularının kurulumu,yönetimi,bakımı ve güncellenmesi konularında uzmanlık bilgilerini vermeyi amaçlamaktadır.

Detaylı bilgi için :48k Bilişim ve Internet Teknolojileri İzmir / Telefon: 0 850 333 13 64

Katılımcıda aranan gereksinimler;

  • İşletim sistemini (Microsoft Windows,Linux,Apple MacOS gibi) kullanabilen,

  • Temel olarak network bilgisine sahip olan.Örneğin bir bilgisayara ip adresi atayabilmek veya bir modem ile PCyi internete bağlayabilmek vb.

  • Linux tabanlı işletim sistemlerine karşı meraklı olmak veya temel bilgiye sahip fakat kendini geliştirmek isteyen

  • Internet ve network,network servisleri,hosting,sistem yönetimi,ağ yönetimi konularında kendini geliştirmek isteyen herkes eğitimimize katılabilir.

Eğitim sonunda katılımcı;

Çalıştığı kurumda veya işletmede mevcut Linux sunucu sistemlerini yönetebilir hale gelecektir.IT planlarına Linux tabanlı sunucu işletim sistemlerini de dahil ederek kurumundaki ağ sistemleri üzerinde kontrolünü arttıracaktır.Linux ile bilişim altyapı çözümleri oluştururken BT maliyetlerini de düşürebilecektir.

Bunun yanısıra katılımcının görev yapmakta olduğu kurumun verimerkezlerinde bulunan web,eposta,dns,veritabanı gibi servisleri sağlayan kiralık sunucuların yönetimini yapabilecektir.

Herhangi bir kurumda çalışmayan,BT dünyasına yeni adım atan kursiyerlerimizin iş başvuru alanı genişleyecektir.

Kursiyerler eğitim sonunda dünyanın heryerinde geçerliliği olan bazı sertifikasyon (örnek: LPI) eğitimlerinde verilen bilginin büyük kısmını bu eğitimde almış olacaklardır.

Kimler katılabilir?

Bilişim dünyasına bir adım atmak isteyen,kendini geliştirmek isteyen kişiler veya IT personeli olarak çalışmakta olduğu işyerindeki sistemlere hakimiyet sağlamak isteyenler bu eğitime katılabilir.

 

E-Mail : egitim@linux-destek.com , egitim@48k.com.tr

Telefon : 0 850 333 13 64

Başlangıç Eğitim Programı

Başlangıç eğitim programı ile uzman eğitim programı genel olarak aynı içeriği kapsar.Uzman eğitim programı uygulama ağırlıklıdır.Aşağıda ve linkteki eğitim notlarında belirtilen uygulamalar esastır.

Bunun yanısıra öğrencilerin de içeriğe katkıda bulunabileceği  veya karar vereceği gerçek dünya senaryolarına yer verilecektir.Sonuç olarak Uzman eğitimi ağırlıklı bir serbest atolye programıdır.

Başlangıç eğitimi 20 saat, Uzman eğitim programı 120 saat olarak tasarlanmıştır.

Linux sistem yönetimi egitimi notları

 

Uzman Eğitim Programı

A.GİRİŞ

Internet,arama motorları,websitesi,forum,blog,eticaret,domain,http,ftp,hosting,websitesi,e-mail,sunucu,network,dns,router,tcp/ip kavramlarının tanımları ve örneklerle açıklanması.

Internet nasıl çalışır?

Sunucu,istemci ilişkisi nedir?

Tcp/IP nedir?

Gerçek IP,Lokal Ip Nedir,Nasıl kullanılır?Kullanım Şartları Nelerdir?

Alanadı nedir?

Hangi alanadlarını kullanabiliriz.Eski ve yeni nesil alanadları.

Alanadı Nedir? Nasıl alınır?Kullanım şartları nedir?

B.LİNUX VE LİNUX TABANLI İŞLETİM SİSTEMLERİ

Linux ve Linux tabanlı işletim sistemleri tanıtımı

Redhat ve Debian gibi yaygın kullanılan işletim sistemleri

Linux tabanlı işletim sistemlerinde;

Kurulum,

Shell (komut satırı) kullanımı,komutları

Dosya sistemleri,izinler ve hakların oluşturma,değiştirme

Genel konfigurasyonları,

Dosya ve klasör yapılandırmaları,

Temel Network Ayarları,

Yazılım kurulumları,Debian ve Redhat türevlerinde paket depolarının kullanımı,

Iptables Firewall kullanımı

Linux tabanlı sistemlerde en çok kullanılan network servislerinin tanıtımı,

Aşağıdaki başlıklarda yer alan network servislerin kurulum ve yapılandırılması örnek senaryolar ile uygulamalar ile birlikte yapılacaktır ;

  • Dosya paylaşım sunucuları,Samba ve NFS sunucuların yapılandırması
  • Rsync ile yedekleme
  • SSH servisi
  • Linux ağ geçidi hizmetleri,iptables güvenlik duvarı ve maskeleme
  • Squid Proxy web vekil sunucusu
  • DHCP
  • OpenVPN

C.WEBSİTELERİ VE WEB SUNUCU SİSTEMLERİ NASIL ÇALIŞIR?

Bir web server kuralım.

1.Alanadı ve DNS

Bir websitesi kurmak için nelere ihtiyacımız vardır?Neden barındırma?

Alanadı seçimi:Örnek bir alanadı satın alımı.

DNS Server nedir?

DNS’in hiyerarşik yapısı,root dns sunucular.

DNS Sunucular

DNS Kayıt Türleri

DNS Çözümleyiciler (resolver dns),DNS Önbellekleme (DNS Caching)

Örnek uygulama: BIND DNS Sunucusunun kurulumu ve yapılandırılması,alınan alanadı kayıtlarının ve nameserver bilgilerinin konfigurasyonu,DNS Test Araçları,Raporlama Araçları ve test,raporlama uygulaması

2.FTP Sunucu

FTP Nedir,FTP protokolu nasıl çalışır?

Pasif ftp,ascii,binary dosya transferleri nasıl?

Anonim FTP,FTPS

Örnek Uygulama:FTP Sunucu kurulumu,alanadı kurulan websunucuya dosya transferi.

2.Web Sunucu

Http Nedir?

Tarayıcı (istemci) – Sunucu ilişkisi

Virtual Hosting Nedir?

Web sunucu yazılımlarına genel bakış,artıları,eksileri

Örnek Uygulama: Linux işletim sistemine Apache web sunucusu kurulumu ve yapılandırması,örnek alanadının hosting yapılandırılması ve yayınlanması

2.1.Programlama Dilleri,Hazır Yazılımlar ve Veritabanı Sunucuları

Linux tabanlı web sunucularında kullanılan programlama dilleri genel tanıtımı.

Apache Web sunucuya PHP programla dili desteğinin yapılandırılması.

Sistem yönetimi açısından dinamik websiteleri

MySQL Veritabanı Sunucusu ve Apache-PHP ile ilişkisi ve entegrasyonu

PHP ile yazılmış en sık kullanılan hazır yazılımlar ile ilgili sık rastlanılan hatalar,çözüm yolları.

Sistem yönetimi için MySQL Araçları ve kullanımı

3.E-Posta Sunucuları

Nasıl Çalışır? DNS ve E-Posta ilişkisi.

E-Posta sunucuları hakkında genel bilgi ve türlerine göre ayırımı,

Kurumsal iş birliği yazılımları Microsoft Exchange rakipleri

E-Posta iletişiminde kullanılan protokoller (SMTP,POP,IMAP)

Antispam ve antivirus Sistemleri

E-posta istemciler ve konfigurasyonu,açık kaynak kodlu yazılımlar hakkında bilgi

İleri düzey e-posta sunucu ayarları

Bölüm sonu Genel Örnek Uygulama:

Tüm bileşenleri ve hosting kontrol paneli ile bir web sunucusu kurulumu

D.UYGULAMALAR

Web sunucularında Hosting Kontrol Yazılımlarının (hosting paneller) kurulumları

Zimbra E-posta ve ortak çalışma sunucusunun kurulumu

 

Dansguardian + Squid problemi.Nam-ı diğer follow_x_forwarded_for

Açıklama

Tıpkı diğer yazdığım belgeler gibi bu belge de kirlidir.Ama siz buna aldırmayabilirsiniz.Çünkü işe yaramaz şeyler yazmamaya gayret ediyorum.Bozuk türkçem için tekrar özür.Birgün düzelecek:)

Neden Dansguardian? Squid bize yetmez mi?

Eğer konu içerik filtreleme ise yetmez.Çünkü squid çok başarılı bir http proxydir,access control list yapısı bence benzersizdir ancak konu içerik filtreleme (dikkat adres satırı değil,içerik!) olunca ne yazıkki yetersiz kalıyor.

Dansguardian işte burda devreye giriyor,squidin yapamadığı içerik filtrelemeyi başarıyla gerçekleştiriyor.

Peki neden sadece dansguardian kullanamıyoruz?

Öööle yapmış adamlar napalım yani:)Dansguardian mutlaka bir http proxy ile beraber çalışmak zorunda.Cachei,Acl,Delay Pools,Httpd Accel gibi özellikleri yok.Tek yaptığı iş web sayfalarının içeriğine bakmak.Bunu da gayet iyi yapıyor.

Sorun ne peki?

Dansguardian ile squidi aynı makinaya kurdunuz.dansguardian da ve squidde standart ayarlarları yaptınız.Herşey çalışır durumdayken squid’in access.log una bir bakın.Tüm web isteklerinin kaynak ip’lerinin değişmiş olduğunu göreceksiniz.Artık tüm isteklerin kaynağı proxy sunucunuz gibi görünmektedir.Bu durumda squid’in access control listeleri kullanılamaz hale gelir.

Çözüm ne?

Bildiğim kadarıyla ilk çözüm squid 2.4 versiyonuna bir yamayla başladı.Ama ben bununla ilgilenmedim.Burada yapacağımız squid kurulumu kaynaktan derleme olacaktır.(squid-2.6.STABLE6.tar.gz)

Dansguardian için debian stable depolarından normal kurulum yeterli olacaktır.Dansguardian tarafında sadece dansguardian.conf ta yapacağımız iki satır değişiklik,hepsi bu.

Squid Kurulumu

Yukarda bahsettiğim tar.gz dosyasını www.squid-cache.org dan indirin.Sisteminizde istediğiniz bir yere açın.Şu parametrelerle derleyin.

./configure –enable-follow-x-forwarded-for –enable-linux-netfilter –enable-delay-pools –enable-arp-acl

make all

ve son olarak make install

Aşağıda verdiğim derleme seçeneklerini kısaca açıklamaya çalışacağım

ilk parametre olan enable-follow-x-forwarded-for bizim sorunumuzu çözen parametre.Başka proxy üzerinden istek yapan hostların kendi ip sini bulmamıza yardımcı olur.Buradaki başka proxy dansguardian oluyor.

–enable-linux-netfilter bize transparan proxy yapmamıza imkan tanıyan derleme seçeneğidir.

–enable-delay-pools : Delay Pools Squid’de bandwidth management yapmanıza imkan tanır.

–enable-arp-acl : Ip değiştirmeyi bilen akıllı kullanıcılarınıza,bunun yeterli olmayacağını göstermenize imkan tanıyan parametre.Onlar ethernet kartı veya mac adreslerini değiştirmeyi öğreninceye kadar ,size kurallarınızı uygulayabilme imkanı tanır.

Herhangi bir hata yoksa,squid sisteminize başarıyla kurulmuştur.Eğer farklı bir yol belirlemediyseniz squid /usr/local altındadır.

Aşağıdakileri adım adım yapın.
Proxy adında bir grup ve bu gruba üye aynı isimde bir kullanıcı yaratın.

/usr/local/squid/var/log ve /usr/local/var/cache dizinlerinin haklarını bu kullanıcı ve grupla değiştirin.

/usr/local/squid/etc/squid.conf un bir yedeğini alın.Aşağıdaki satırları dosyanıza ekleyin.

İlk sayfada;

# Squid normally listens to port 3128
http_port sunucu_ip_no:3128 transparent

Acl ile ilgili bölümde koyu olan bölümleri ilave edin.
acl all src 192.168.0.0/255.255.255.0 (siz bunu kendi networkünüze göre ayarlayın)
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
follow_x_forwarded_for allow all

acl_uses_indirect_client on
# delay_pool_uses_indirect_client on (band genişliği sınırlaması yapmıyorsanız buna ihtiyacınız olmaycaktır.
log_uses_indirect_client on

Daha sonra http_access ile başlayan bölüme geçin, kendi politikanıza göre izinleri ve yasakları ayarlayın.

Dosyayı kaydederek çıkın.Squid başlatılmadan önce cache dizin yapısı oluşturulmalıdır.

/usr/local/squid/sbin/squid -z ile cache yapısını oluşturun.Burada bir hata alırsanız dosya izinlerini kontrol edin.

Hata yoksa;

/usr/local/squid/sbin/squid

komutu ile squid çalışacaktır.

Dansguardianın Ayarlanması

Daha önce de belirttiğim gibi dansguardianın standart kurulumu yeterli.Debian veya türevi bi OS kullanıyorsanız apt-get install dansguardian komutu ile sisteminize kurabilirsiniz.

Not:Eğer bunu da kaynaktan derlemek isterseniz dansguardian’ın virüs tarama yeteklerini incelemenizi tavsiye ederim.Ben çok başarılı bulamadım.Özellikle flash web sitelerinde yükleme esnasında çok bekletiyor.Zaten virüs dediğimiz şey sadece web sayfalarında gelse bu kadar başımız ağrımazdı.Anti-virus koruma istiyorsanız size snort_inline+clamav ı tavsiye ederim.Onun dökümanı da bu blogda mevcuttur.Reklam!

/etc/dansguardian altında dansguardian.conf dosyasını açın.

İlk satırlarda UNCONFIGURED yazısı başına bir # ilave edin.

# DansGuardian config file for version 2.8.0

# **NOTE** as of version 2.7.5 most of the list files are now in dansguardianf1.conf

# Comment this line out once you have modified this file to suit your needs
#UNCONFIGURED

Daha sonra şu bölümleri ayarlayın

# Network Settings
#
# the IP that DansGuardian listens on. If left blank DansGuardian will
# listen on all IPs. That would include all NICs, loopback, modem, etc.
# Normally you would have your firewall protecting this, but if you want
# you can limit it to only 1 IP. Yes only one.
filterip = sunucu_ip_no

# the port that DansGuardian listens to.
filterport = 8080

# the ip of the proxy (default is the loopback – i.e. this server)
proxyip = sunucu_ip_no

# the port DansGuardian connects to proxy on
proxyport = 3128

Sonra biraz daha ilerleyerek şu satırları bulun değerleri on yapın.

# Misc settings

# if on it adds an X-Forwarded-For: to the HTTP request
# header. This may help solve some problem sites that need to know the
# source ip. on | off
forwardedfor = on

# if on it uses the X-Forwarded-For: to determine the client
# IP. This is for when you have squid between the clients and DansGuardian.
# Warning – headers are easily spoofed. on | off
usexforwardedfor = on

Dosyayı kaydederek çıkın.Dansguardian’ı start edin.Squidin çalıştığına emin olun.En son bir client başına geçerek birkaç web sayfasına girin.Daha sonra

tail -f /usr/local/squid/var/logs/access.log yazarak istekleri izleyin.Artık squid’de gerçek client ip lerini görebilecek ve buna göre kendi acl lerinizi yazabileceksiniz.