Squid proxy server en son sürümünü kurma ve çalıştırma (Centos 5 6 7)

Beğeninizi Paylaşın




1. SQUİD PROXY SERVER EN SON STABİL SÜRÜM KURULUMU

1.1 İlk olarak sisteminizde nano text editör kurulu değilse kuruyoruz. Şifre oluşturabilmek için htpasswd komutunu ekliyoruz.

yum -y install nano

yum -y install httpd-tools

yum -y install wget

1.2 Yum u temizliyoruz

yum clean all

1.3 Sonradan sorun çıkmaması için tüm sistem paketlerini güncelliyoruz

yum -y update

1.4 Güncellemelerin geçerli olması için sistemimizi reboot ediyoruz

reboot

1.5 Squid proxy server’ın en son stabil sürümünü kurabilmek için sistemimize squid repository eklememiz gerekiyor. En son stabil sürümü kurduğumuzda hatalardan, güvenlik açıklarından ari bir proxy server ‘ımız oluyor.Bu aşamada /etc/yum.repos.d/squid.repo dosyasını oluşturuyoruz

nano /etc/yum.repos.d/squid.repo

1.6 Oluşturduğumuz dosyanın içine aşağıdaki satırları kopyala yapıştır yapıyoruz. Kaydetmek için CTRL O ya bastıktan sonra ENTER tuşuna basıyoruz. CTRL X tuşlarına basarak editörden çıkıyoruz.

[squid]

name=Squid repo for CentOS Linux – $basearch
baseurl=http://www1.ngtech.co.il/repo/centos/$releasever/$basearch/
failovermethod=priority
enabled=1
gpgcheck=0

1.7 Buraya kadar herşeyi doğru yaptıysak Squid proxy server’ın stabil en son versiyonunun kurulumuna geçebiliriz.Aşağıdaki komut satırını terminal ekranına yazarak kurulumu yapıyoruz.

yum -y install squid

Kurulum aşamasını bitirdik. Sıra geldi squid proxy server ‘ımızın ayarlarını yapıp çalıştırmaya. Ayarları yapmadan squid i çalıştırmayı denemeyin, çalıştırsanızda bağlantı kuramazsınız.

2. SQUİD PROXY SERVER AYARLARINI YAPMA VE ÇALIŞIR HALE GETİRME

Squid proxy server’ınızın çalışması için aşağıda anlatılan ayar aşamaları önemlidir. Herhangi bir eksiklik ya da yanlışlık yaparsanız proxy server’ a bağlantı kuramazsınız. Bu sebeple aşamaları dikkatlice yapmanız gerekiyor.

Şimdi geldik en önemli aşamalardan birine. Squid proxy server’ımızın yol geçen hanı olmaması için şifre korumalı yapacağız. Sadece kullanıcı adı ve şifreyi bilenler bağlanabilecek.Dilediğiniz kadar kullanıcı adı ve şifre oluşturabileceksiniz.

2.1 Bu aşama şifre korumalı squid proxy server için çok önemlidir. Bu aşamadaki anlatılanları yapmazsanız şifre koruması çalışmayacak, sürekli hata verecek, google da saatlerce hatta günlerce arama yapsanız dahi zor bulabileceğiniz,size saç baş yolduracak hale gelecek ve belkide ” başlarım squidine de proxy sine de ” dedirtip kurulumdan vazgeçmenize sebep olacaktır.

Şifre doğrulama için ncsa_auth yöntemini kullanacağız. Bunun için gerekli kütüphaneler sisteminizde % 99.9 olasılıkla kurulu değildir. Bu dosyaları sistemimize eklemeden şifre doğrulamalı bir squid proxy server’ı çalıştırmanız imkansızdır.Aşağıdaki işlemleri her seferinde tek tek terminal ekranına yazarak şifre doğrulama kütüphanelerini sistemimize ekliyoruz. Bu işlemden sonra açtığımız zip dosya /usr/lib klasörü altında squid klasörünü otomatik olarak açarak gerekli dosyaları ekleyecektir.

cd /usr/lib
wget http://e7d.github.io/resources/squid-lib.tar.gz
tar zxvf squid-lib.tar.gz
rm -f squid-lib.tar.gz

2.2 Sıra geldi squid konfigürasyon dosyasında gerekli tanımlamaları yapmaya. Ayarlar için  gerekli satırları gerekli yerlere sırasıyla eklemezseniz proxy serverınız çalışmaz. Bütün satırları baş tarafa ekleyeyim, son tarafa ekleyeyim derseniz, sürekli hata alırsınız. Bu sebeple ben size hazır çalışan bir squid.conf dosyasının örneğini veriyorum. Değişiklik yapmanız gereken satırları kırmızı ile işaretliyorum. Bu satırları kendi sisteminize göre değiştirerek, ayarları kolayca yapabilirsiniz. İşleme başlamadan önce mutlaka squid.conf dosyanızın yedeğini alın. /etc/squid/squid.conf dosyasının içeriğine aşağıdakileri kopyalayıp yapıştırın, kırmızı ile belirtilenleri sisteminize göre değiştirin ve kaydedin.

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

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 ip1 myip 169.169.169.172
#acl ip2 myip 169.169.169.173

tcp_outgoing_address 169.169.169.172 ip1
#tcp_outgoing_address 169.169.169.173 ip2

acl CONNECT method CONNECT
acl ncsa_users proxy_auth REQUIRED

http_access deny !Safe_ports

http_access allow CONNECT !SSL_ports

http_access allow localhost manager
http_access deny manager

http_access allow localnet
http_access allow localhost

http_access allow ncsa_users

http_port 3128

coredump_dir /var/spool/squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

Tek ip numaranız varsa;

acl ip1 myip 169.169.169.172

tcp_outgoing_address 169.169.169.172 ip1

satırlarındaki ip numarasını siteminizdeki ip numarası ile değiştirmeniz yeterlidir. Bir den fazla ip kullanacaksanız;

acl ip1 myip 169.169.169.172
#acl ip2 myip 169.169.169.173


tcp_outgoing_address 169.169.169.172 ip1
#tcp_outgoing_address 169.169.169.173 ip2

başlarındaki # işaretini kaldırarak ve formata uyarak 3 4 5 diye devam ederek dilediğiniz kadar ip numarası ekleyebilirsiniz.

http_port 3128

Buradaki 3128 bağlantı kullanacağınız port numarasıdır. Bunu dilediğiniz gibi değiştirebilirsiniz. Unutmamanız gereken şey,sisteminizde firewall varsa bu port numarasını TCP_IN ve TCP_OUT a açmanız ve firewall ‘ u yeniden başlatmanızdır. Değilse kesinlikle bağlantı kuramazsınız.

Standart Centos kurulumunda , aşağıdaki komutları girerek yukarıda tanımladığınız portu açabilirsiniz.

CENTOS 7 için komutlar :

firewall-cmd --permanent --zone=public --add-port=3128/tcp

 

firewall-cmd --reload

 

CENTOS 6 için komutlar :

iptables -I INPUT -p tcp -m tcp --dport 3128 -j ACCEPT

 

service iptables save

2.3 Sırada kullanıcılarımızı ve şifrelerimizi tanımlama var. Alttaki komutu girerek şifrelerimizi saklayacağımız dosyayı oluşturuyoruz. Bu işlemi yapmazsak htpasswd komutu belirtilen dosya yok hatası verir.

touch /etc/squid/squid_passwd

2.4 Aşağıdaki komutta , kullanıcı adını değiştirerek terminal ekranına yazıp enter layın. Sizden iki sefer aynı şifreyi girmenizi isteyecektir.Şifrenizi girip enter a basın, tekrar aynı şifreyi girerek doğrulayın ve enter a basın. Squid proxy server kullanıcı adı ve şifremizi de tanımlamış olduk. htpasswd komutuna -d parametresini eklememiz önemlidir. -d parametresi şifrelerimizi sistem kriptosu ile gizleyecektir. Bu da squid ‘ in şifreleri okuma yöntemidir. -d parametresi eklenmezse, htpasswd komutu şifreleri MD5 olarak gizleyecek, squid de bunu anlamayacak ve sürekli şifre hatası verecektir.

htpasswd -d /etc/squid/squid_passwd kullanici_adi

2.5 Squid Proxy Server ‘ımız artık kullanıma hazır. Centos versiyonunuza göre aşağıdaki komutları kullanarak squid server ‘ı başlatıp durdurabilirsiniz.

CENTOS 5 ve 6

# Başlatmak için
service squid start

# Durdurmak için
service squid stop

# Yeniden başlatmak
service squid restart

CENTOS 7

# Başlatmak için
systemctl start squid.service

# Durdurmak için
systemctl stop squid.service

# Yeniden başlatmak
systemctl restart squid.service

Squid proxy server ‘ı yeniden başlattıktan sonra artık kullanmaya başlayabilirsiniz. Şifre korumalı girişe izin veren bir programla squid proxy server’ ınızı test edebilirsiniz.

2.6 Squid Proxy server’ınızın her reboot sonrası otomatik olarak başlamasını isterseniz aşağıdaki komutu terminal ekranından girebilirsiniz.

chkconfig  squid on

2.7 Squid proxy server ‘ınıza daha fazla güvenlik ve gizlilik eklemek isterseniz, aşağıdaki satırları /etc/squid/squid.conf dosyasını açıp en son satıra ekleyip kaydedebilirsiniz. Bu işlemi yaptıktan sonra squid i restart etmeyi unutmayın.

# Hide client ip #
forwarded_for delete
# – – – – – – – – – –
via off
follow_x_forwarded_for deny all

request_header_access X-Forwarded-For deny all
# add this to /etc/squid/squid.conf
visible_hostname AT&T U-verse
# and while we are at it stop squid blabbing about it’s version aswell
httpd_suppress_version_string on

request_header_access From deny all
request_header_access Referer deny all
request_header_access Server deny all
request_header_access WWW-Authenticate deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Link deny all

request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access Cookie allow all
request_header_access All deny all
reply_header_access From deny all
reply_header_access Referer deny all
reply_header_access Server deny all
reply_header_access User-Agent deny all
reply_header_access Link deny all
reply_header_access Via deny all
header_replace User-Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:20.0) Gecko/20100101 Firefox/20.0

Squid proxy server ‘ınız kullanıma hazırdır, gülegüle kullanın.



Beğeninizi Paylaşın

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*


*