- Ubuntu 24.04'te güvenli ve verimli bir web proxy'si nasıl kurulur?
- Web proxy'si neden kullanılır?
- Vekil sunucu türleri ve kullanımları
- Sunucu gereksinimleri ve hazırlığı
- Squid'in (HTTP/HTTPS ileri proxy) kurulumu ve yapılandırılması
- Günlük kaydı ve günlük yönetimi
- Dante ile SOCKS5 kurulumu
- Nginx'i ters proxy ve TLS sonlandırma olarak yapılandırma
- Güvenlik duvarı, güvenlik ve izleme
- Belirli uygulamalar için pratik ipuçları (ticaret, oyun, yapay zeka, görselleştirme)
- Operasyonel ve bakım işlemleri
- Birden fazla lokasyona sahip bulut altyapısını neden kullanmalısınız?
- Son güvenlik önerileri
- Çözüm
- Sıkça Sorulan Sorular
Ubuntu 24.04'te güvenli ve verimli bir web proxy'si nasıl kurulur?
Bu kullanım kılavuzunda, bir sunucuda web proxy'sinin kurulumu, yapılandırılması ve güvenliğinin sağlanması sürecini adım adım ele alacağız. Ubuntu 24.04 Açıklama. Örnekler şunlara dayanmaktadır: Kalamar (HTTP/HTTPS ileri proxy), Dante (ÇORAP5) ve Nginx (ters proxy ve TLS sonlandırması) ve güvenlik duvarı yapılandırması, kimlik doğrulama, günlük kaydı ve performans optimizasyonunu içerir.
Web proxy'si neden kullanılır?
Web proxy'lerinin avantajları şunlardır: Erişim kontrolü, İçerik önbellekleme Bant genişliğini azaltmak için, IP gizleme Müşteri ve Trafik dağıtımı Alım satım veya oyun gibi hassas uygulamalar için, proxy'yi hedef konuma daha yakın yerleştirmek faydalı olabilir. Gecikme (ping) Azaltmak.
Vekil sunucu türleri ve kullanımları
En yaygın proxy türleri şunlardır:
- İleri Yönlü Vekil Sunucu (ör. Squid)Müşterilerin internete erişimi için; kontrol, önbellekleme ve izleme amacıyla kullanıma uygundur.
- Ters Proxy (ör. Nginx)Web sunucularının önünde yer alarak TLS, yük dengeleme ve önbellekleme işlemlerini gerçekleştirir.
- SOCKS5 (Dante veya SSH -D)Alt katman, çeşitli uygulamalar ve TCP/UDP trafiği için uygundur.
- Şeffaf Vekil SunucuAğ trafiğini engellemek için (NAT/yönlendirme değişiklikleri gerektirir).
Sunucu gereksinimleri ve hazırlığı
Öncelikle sistemi güncelleyin ve temel paketleri kurun. Paketler gereksinime göre seçilmelidir; SOCKS5 için şunu kullanın: Dante Sunucusu Ve TLS için certbot Biz kullanıyoruz.
sudo apt update && sudo apt upgrade -y
sudo apt install squid apache2-utils dante-server nginx certbot nftables fail2ban -ySquid'in (HTTP/HTTPS ileri proxy) kurulumu ve yapılandırılması
Bu bölümde temel yapılandırma, HTTPS'yi etkinleştirme (CONNECT), kimlik doğrulama, ACL'ler ve önbellekleme açıklanmaktadır.
Temel yapılandırma
Squid'i yüklemek için:
sudo apt install squid -yYapılandırma dosyasını değiştirmeden önce yedekleme yapın:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bakÖrnek bir temel yapılandırma dosyası (/etc/squid/squid.conf):
http_port 3128
# limit logging size
access_log /var/log/squid/access.log squid
# ACLs
acl localhost src 127.0.0.1/32
acl localnet src 10.0.0.0/8 # internal network
acl allowed_ips src 203.0.113.0/24 # example allowed client range
# permissions
http_access allow localhost
http_access allow allowed_ips
http_access deny all
# caching
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/spool/squid 10000 16 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern . 0 20% 4320
# DNS
dns_v4_first onAyarları kaydettikten sonra:
sudo systemctl restart squid
sudo systemctl enable squidHTTPS (CONNECT) ve TLS'yi etkinleştirme
HTTPS tünellemesi için Squid, CONNECT işlevini kullanır. CONNECT'e izin vermek için örnek ACL:
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
http_access allow SSL_portsKimlik Doğrulama (Temel/LDAP)
htpasswd kullanarak Temel kimlik doğrulama için:
sudo apt install apache2-utils -y
sudo htpasswd -c /etc/squid/passwords usernameSquid.conf dosyasına şunu ekleyin:
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticatedACL ve erişim kısıtlamaları
Yaygın örnekler:
- IP adresine göre kısıtla: acl allowed_ips src xxxx/xx
- Alan adlarını kısıtlama: acl blocked_sites dstdomain .example.com
- Süre sınırı: acl ofis_saatleri zamanı MF 08:00-18:00
Reddedilen sitelere örnekler:
acl blocked_sites dstdomain .youtube.com .facebook.com
http_access deny blocked_sitesÖnbellekleme ve performans optimizasyonu
Önbellek için önemli ayarlar:
- önbellek_bellek: Küçük nesnelerin önbelleğe alınması için kullanılan RAM belleği.
- cache_dir: Büyük içerik önbelleğinin disk konumu.
- maksimum_nesne_boyutu: Saklanabilecek nesnenin maksimum boyutu.
- yenileme_deseniÖnbellek geçerlilik kontrolü.
Daha yüksek trafik için örnek:
cache_mem 512 MB
maximum_object_size 20 MB
cache_dir ufs /var/spool/squid 50000 16 256Yoğun trafik için NVMe ve yüksek IOPS değerine sahip diskler veya LVM kullanın.
Günlük kaydı ve günlük yönetimi
Kalamar kütükleri /var/log/squid/ Örnek logrotate yapılandırması:
sudo nano /etc/logrotate.d/squid
/var/log/squid/*.log {
weekly
rotate 4
compress
delaycompress
missingok
notifempty
create 640 proxy proxy
sharedscripts
postrotate
systemctl reload squid >/dev/null 2>&1 || true
endscript
}Günlük kayıtlarını analiz etmek için ELK veya Grafana+Prometheus gibi araçlar kullanın.
Dante ile SOCKS5 kurulumu
SOCKS gerektiren uygulamalar için, Dante Bu iyi bir seçenek.
Kurulum ve ayarlar:
sudo apt install dante-server -yÖrnek /etc/danted.conf:
logoutput: syslog
internal: 0.0.0.0 port = 1080
external: eth0
method: username none
user.privileged: proxy
user.notprivileged: nobody
client pass {
from: 203.0.113.0/24 to: 0.0.0.0/0
log: connect disconnect error
}
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
protocol: tcp udp
log: connect disconnect error
}sudo systemctl restart danted
sudo systemctl enable dantedCurl ile örnek test:
curl --socks5-hostname 127.0.0.1:1080 https://checkip.amazonaws.comNginx'i ters proxy ve TLS sonlandırma olarak yapılandırma
Nginx, proxy yönetim sayfasını barındırmak veya proxy'nin arkasındaki uygulamalar için TLS sonlandırması yapmak amacıyla kullanılabilir.
Örnek sunucu bloğu:
server {
listen 80;
server_name proxy.example.com;
location / {
proxy_pass http://127.0.0.1:3128;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}Certbot ile TLS sertifikası almak için:
sudo certbot --nginx -d proxy.example.comGüvenlik duvarı, güvenlik ve izleme
Güvenlik için nftables veya ufw, fail2ban ve günlük kaydı ve izleme araçlarını kullanın.
Nftables'ın temel kurallarına örnek:
sudo nft add table inet filter
sudo nft 'add chain inet filter input { type filter hook input priority 0 ; policy drop; }'
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter input iif lo accept
sudo nft add rule inet filter input tcp dport 22 accept
sudo nft add rule inet filter input tcp dport 3128 accept # squid
sudo nft add rule inet filter input tcp dport 1080 accept # dante
sudo nft add rule inet filter input icmp type echo-request acceptUygun araçlar kullanarak performans izleme ve saldırı tespiti sistemlerini uygulayın.
Belirli uygulamalar için pratik ipuçları (ticaret, oyun, yapay zeka, görselleştirme)
Tüccarlar için: Broker sunucusuna yakın bir konumda bulunan bir sunucu seçin; beyaz listeye alma için sabit bir giden IP adresi kullanın ve bağlantı kritik önem taşıyorsa DDoS saldırılarına karşı korumayı etkinleştirin.
Oyuncular için: Hızlı bir ağa ve oyun sunucusuna yakın bir konuma sahip bir VPS seçin ve BBR'yi etkinleştirin:
sudo sysctl -w net.core.default_qdisc=fq
sudo sysctl -w net.ipv4.tcp_congestion_control=bbrAyarları kalıcı hale getirmek için değerleri şu şekilde ayarlayın: /etc/sysctl.conf Eklemek.
Yapay zeka ve görselleştirme için: Veri kümelerini indirmek için daha büyük önbellek ve NVMe diskler kullanın ve dağıtılmış çıkarım için bulut GPU'larından yararlanın.
Operasyonel ve bakım işlemleri
Önemli bakım ipuçları:
- Düzenli paket güncellemeleri: sudo apt update && sudo apt upgrade -y
- Güvenlik yaması, günlük kayıtlarının incelenmesi ve yapılandırma yedeklemesi.
- Hızlı yapılandırma ve geri alma işlemleri için Ansible gibi otomasyon araçlarını kullanın.
- Servisi düzenli aralıklarla curl/wget ile test edin ve çalışma süresi izleme sistemini kurun.
Birden fazla lokasyona sahip bulut altyapısını neden kullanmalısınız?
Proxy sunucularını kullanıcılara veya hedef sunuculara daha yakın konumlandırmak ping süresini kısaltır ve daha iyi coğrafi kontrol sağlar. CDN, BGP ve DDoS önleme kullanımı performansı ve güvenliği artırabilir.
Son güvenlik önerileri
Önemli güvenlik ipuçları:
- Herkese açık bir proxy'yi asla kimlik doğrulaması olmadan açık bırakmayın.
- IP ve zamana dayalı kısıtlamalar uygulayın.
- İstismarı tespit etmek için izleme ve uyarı sistemleri şarttır.
- Hassas uygulamalar için DDoS saldırılarına karşı koruma ve özel ağ kullanın.
Çözüm
Bu kılavuzda kurulum ve yapılandırma anlatılmaktadır. Kalamar HTTP/HTTPS için kurulum yapın. Dante SOCKS5 ve kurulumu için Nginx Ters proxy ve TLS konularını ele aldı. Ayrıca güvenlik duvarları, günlükler ve alım satım, oyun ve yapay zeka için pratik ipuçlarına da yer verdi.









