Ubuntu Server'ı mümkün olduğu kadar güvenli hale getirecek bir projem var. Sunucu bir web barındırma sunucusudur. Sunucu LAMP, Mail ve DNS kullanıyor olacak.
Ubuntu Server'ı mümkün olduğu kadar güvenli hale getirecek bir projem var. Sunucu bir web barındırma sunucusudur. Sunucu LAMP, Mail ve DNS kullanıyor olacak.
Yanıtlar:
Sunucumu korumak için yaptığım şeylerin bir listesi.
sudo ufw enable
) açın ve ardından yalnızca gerçekten kullanılan bağlantı noktalarına izin verin. ( sudo ufw allow 80
)sudo apt-get install denyhosts
)Dikkate alınması gereken birkaç şey daha var. Çoğu insan fiziksel erişimi unutur. Fiziksel olarak bir LiveCD'ye girip verilerinizi çalabilirsem dünyadaki tüm yazılım yapılandırmaları bir anlam ifade etmiyor. Sosyal mühendisliğe dikkat edin. Telefonda kimin olduğunu doğrulamak için sorular sorun ve yaptıkları talebi yapma yetkisine sahip olduklarından emin olun.
Hala 'yeni' bir kullanıcı olduğum için 2'den fazla bağlantı gönderemiyorum. Bu konuda daha fazla bilgiyi burada bulabilirsiniz: https://help.ubuntu.com/12.04/serverguide/index.html ve https://help.ubuntu.com/12.04/serverguide/security.html
iptables
kullanmayacağınız herhangi bir servise harici erişim izni vermemek için oldukça özel kurallarla kilitlemektir. Gerçi rouing ve benzeri şeyler gerektiren bilye düzeni.
/ dev / shm, httpd gibi çalışan bir hizmete karşı saldırıda kullanılabilir. Daha güvenli hale getirmek için / etc / fstab dosyasını değiştirin.
Bir Terminal Penceresi açın ve aşağıdakileri girin:
sudo vi /etc/fstab
Aşağıdaki satırı ekleyin ve kaydedin. Bu ayarın geçerli olması için yeniden başlatmanız gerekir:
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
/Etc/sysctl.conf dosyası tüm sysctl ayarlarını içerir. Gelen paketlerin kaynak yönlendirmesini engelle ve hatalı biçimlendirilmiş IP'leri günlüğe kaydet
sudo vi /etc/sysctl.conf
Düzenleme /etc/sysctl.conf dosyası ve un-yorum veya aşağıdaki satırları ekleyin:
# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1
Son değişikliklerle sysctl’yi yeniden yüklemek için, şunu girin:
sudo sysctl -p
Bir Terminal açın ve aşağıdakileri girin:
sudo vi /etc/host.conf
Aşağıdaki satırları ekleyin veya düzenleyin:
order bind,hosts
nospoof on
Php.ini dosyasını düzenleyin:
sudo vi /etc/php5/apache2/php.ini
Aşağıdaki satırları ekleyin veya düzenleyin:
disable_functions = exec,system,shell_exec,passthru
register_globals = Off
expose_php = Off
magic_quotes_gpc = On
DenyHosts, /etc/hosts.deny dosyasına girişler ekleyerek SSH saldırılarını otomatik olarak engelleyen bir python programıdır. DenyHosts, Linux yöneticilerini rahatsız eden ana bilgisayarlar, saldırgan kullanıcılar ve şüpheli girişler hakkında da bilgilendirecektir.
Bir Terminal açın ve aşağıdakileri girin:
sudo apt-get install denyhosts
Yüklemeden sonra /etc/denyhosts.conf yapılandırma dosyasını düzenleyin ve e-postayı ve diğer ayarları gerektiği gibi değiştirin.
Yönetici e-posta ayarlarını düzenlemek için bir terminal penceresi açıp şunu girin:
sudo vi /etc/denyhosts.conf
Sunucunuzda aşağıdaki değerleri gerektiği gibi değiştirin:
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts nobody@localhost
#SYSLOG_REPORT=YES
Fail2ban, günlük izlemesini SSH, Apache, Courier, FTP ve diğerleri dahil olmak üzere diğer hizmetlere genişlettiği için DenyHosts'tan daha ileri düzeydedir.
Fail2ban log dosyalarını tarar ve kötü niyetli işaretler gösteren IP'leri yasaklar - çok fazla şifre hatası, istismar arayışı vb.
Genelde Fail2Ban, IP adreslerini belirli bir süre boyunca reddetmek için güvenlik duvarı kurallarını güncellemek için kullanılır, ancak herhangi bir isteğe bağlı başka işlem de yapılandırılabilir. Kutudan çıkan Fail2Ban, çeşitli servisler (apache, kurye, ftp, ssh, vb.) İçin filtrelerle birlikte gelir.
Bir Terminal açın ve aşağıdakileri girin:
sudo apt-get install fail2ban
Yüklemeden sonra /etc/fail2ban/jail.local yapılandırma dosyasını düzenleyin ve gerektiği gibi filtre kurallarını oluşturun.
Ayarları düzenlemek için bir terminal penceresi açıp şunu girin:
sudo vi /etc/fail2ban/jail.conf
Fail2ban'ın izlemesini istediğiniz tüm hizmetleri etkinleştirerek active = false to * enable = true * olarak değiştirin
Örneğin, SSH'nin hapishaneyi izlemesini ve yasaklanmasını etkinleştirmek istiyorsanız, aşağıdaki satırı bulun ve yanlıştan doğruya doğru etkinleştirmeyi değiştirin . Bu kadar.
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Eğer ev sahiplerinin yasaklanması durumunda Fail2Ban'dan e-posta almak istiyorsanız , aşağıdaki satırı e-posta adresinize değiştirin.
destemail = root@localhost
ve aşağıdaki satırı şuradan değiştirin:
action = %(action_)s
için:
action = %(action_mwl)s
Ayrıca fail2ban'ın varsayılan olarak sağlanmadığını izlemesini istediğiniz çeşitli servisler için kural filtreleri oluşturabilirsiniz .
sudo vi /etc/fail2ban/jail.local
Fail2ban'ı nasıl yapılandıracağınız ve çeşitli filtreler yaratacağınıza dair iyi talimatlar HowtoForge'da bulunabilir - bir örnek için buraya tıklayın
Fail2Ban yapılandırması tamamlandığında servisi şu şekilde yeniden başlatın:
sudo /etc/init.d/fail2ban restart
İle durumunu da kontrol edebilirsiniz.
sudo fail2ban-client status
Hem RKHunter hem de CHKRootkit temelde aynı şeyi yapar - sisteminizi rootkits için kontrol edin. Her ikisini de kullanmanın zararı yok.
Bir Terminal açın ve aşağıdakileri girin:
sudo apt-get install rkhunter chkrootkit
Chkrootkit'i çalıştırmak için bir terminal penceresi açıp şunu girin:
sudo chkrootkit
RKHunter'ı güncellemek ve çalıştırmak için. Bir Terminal açın ve aşağıdakileri girin
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
Nmap ("Network Mapper"), ağ keşfi ve güvenlik denetimi için ücretsiz ve açık kaynaklı bir yardımcı programdır.
Bir Terminal açın ve aşağıdakileri girin:
sudo apt-get install nmap
Sisteminizi açık portlar için aşağıdakilerle tarayın:
nmap -v -sT localhost
SYN aşağıdakilerle tarama:
sudo nmap -v -sS localhost
Logwatch özelleştirilebilir bir log analiz sistemidir. Logwatch, sisteminizin günlüklerini ayrıştırır ve belirttiğiniz alanları analiz eden bir rapor oluşturur. Logwatch kullanımı kolaydır ve çoğu sistemde paketten çıkar çıkmaz çalışacaktır.
Bir Terminal açın ve aşağıdakileri girin:
sudo apt-get install logwatch libdate-manip-perl
Logwatch çıkışını görüntülemek için daha az kullanın:
sudo logwatch | less
Son 7 güne ait bir logwatch raporunu bir e-posta adresine e-posta ile göndermek için, aşağıdakini girin ve posta@etkialani.com adresini gerekli e-posta ile değiştirin. :
sudo logwatch --mailto mail@domain.com --output mail --format html --range 'between -7 days and today'
Tiger, hem güvenlik denetimi hem de izinsiz giriş tespit sistemi olarak kullanılabilecek bir güvenlik aracıdır.
Bir Terminal açın ve aşağıdakileri girin:
sudo apt-get install tiger
Kaplanı çalıştırmak için şunu girin:
sudo tiger
Tüm Tiger çıkışları / var / log / tiger içinde bulunabilir.
Kaplan güvenlik raporlarını görüntülemek için bir Terminal açın ve aşağıdakileri girin:
sudo less /var/log/tiger/security.report.*
magic_quotes_gpc = On
. Sihirli tırnaklar ilk önce kullanımdan kaldırılmış ve sonra kaldırılmıştır: php.net/manual/en/security.magicquotes.whynot.php
Bunun web-hosting-sunucu olduğunu söylediğinden beri ... 5 uzun yıldaki en iyi uygulamalarımı ve deneyimlerimi web-hosting hattında paylaşmak istiyorum .
Geçmiş deneyimlerime göre, hemen yapılandırmaya cehenneme girmek yerine, önce verilen makalede belirtildiği gibi düşük güvenlikli asma üzümlerini birleştirmelisiniz.
LAMP'a sahip olduğunuzdan, PHP ve php.ini ayarları konusunda çok dikkatli olmalısınız . Bu PHP'yi korumak için iyi bir bağlantıdır . PHP, uygun şekilde yapılandırılmadığında güvenlik döngüsü haline gelebilecek süper güçlere sahiptir.
Dosyalarınızın izniniz olmadan değiştirilip değiştirilmediğini kontrol etmek için bir cron işi kullanabilirsiniz ; Bu cron işini kullanarak . Cron sonuçlarını karşılaştırmak için Notepad ++ ' ı tercih ediyorum (cron emailini doğrudan web sunucunuzdan indirin ve Notepad ++' da açın).
Bazı SEM'leri yüklemek istiyorsanız, cPanel en çok tercih edilir (ancak ücretlidir). Webmin ve zpanel çok iyi ücretsiz alternatiflerdir. Webmin bunun için iyidir, en azından kendinden imzalı sertifikalar kullanır ve güvenlik ekler.
Kutudan çıkan bir şeyin çalışmasını istiyorsanız, Anahtar Teslim Linux'a gidebilirsiniz . Ubuntu'ya dayanmaktadır, uygulaması son derece kolay ve ihtiyaçlarınıza göre esnek. Çok az bir çaba ile kutudan güvenliği elde edersiniz. Bu onların LAMP yığını . Ben şahsen bunu sadece kullanıyorum ve tercih ediyorum.
Eğer çiziklerden başlıyorsanız, ISPconfig3'ü de kurabilirsiniz. Talimat Burada .
Back-Track-Linux kullanarak güvenliğinize nüfuz etmeye çalışarak güvenliğinizi test edebilirsiniz .
karmaşık uzun ve rastgele şifreler saklayın . PC'de saklamayın . onları yaz. Bu girişlere erişmek için canlı bir CD kullanın.
fail2ban gibi kaba bir kuvvet koruma yazılımı edinin .
İhtiyacın olmayan şeytanları çalıştırma.
Gereksiz tüm bağlantı noktalarını engelleyin . SSH portuyla (22) çok dikkatli olun.
Sunucuyu yöneteceğiniz sistem üzerinde statik bir IP ile kendinizi edinin. IP engellemesinin çoğunu yapın ve yalnızca belirli IP'nizin 22 numaralı bağlantı noktası gibi yapılandırma yerlerine erişmesine izin verin .
Günün sonunda ... mutlak bir zihinle çalışın , yükleme ile duygusallaşmayın ve sağduyunuzu uygulamak sizi çok ötesine götürür.
**My heartiest best wishes to you. good luck.**
brute force attacks
ve dictionary attacks
.. Bu tür saldırılardan kendinizi güvence altına almak için tek yol rastgele uzun şifre.
Bastille Linux projesinden yararlanın.
Tüm güvenliği artırmak ve Ubuntu sisteminiz için ( Bastille Linux'tan ) ödün verme hassasiyetini azaltmak için ek güvenlik sertleştirme önlemleri almak için etkileşimli bir araç sunar .
Bir değerlendirme ve raporlama işlevi sunar, böylece sistemin hangi kısımlarının kilitlenmediğini size söyleyebilir. Sistemi, salt okunur bir şekilde inceler ve her sertleştirme maddesinin durumunu bildirir. Örneğin, Bastille, DNS sunucusunun bir chroot hapishanesinde kilitli olup olmadığını, telnet'in kapalı olup olmadığını veya şifrelerin iyi bir uzunlukta olması gerekip gerekmediğini kontrol edebilir. Bu bağlantı üzerinden yalnızca Web'deki bir demoya bakabilirsiniz (daha fazla bilgi ).
Burada Web (yalnızca) demosunun önizlemesini görebilirsiniz .
nmap
Makinedeki tüm arayüzleri kullanın , böylece makinenizde hangi servisleri çalıştırdığınızı bilirsiniz. Bu güvenlik için önemli bir araçtır.
Harici arayüzlerde ihtiyacınız olmayan tüm hizmetleri kaldırın. MySQL'i yalnızca localhost gibi belirli arayüzleri dinleyecek şekilde yapılandırabilirsiniz.
SSH servisinizi (ve diğerlerini mümkün olduğunca) korumak için ufw tuşunu kullanın, böylece aynı makineden dakika başına çok fazla (başarısız) bağlantı yapılmasına izin vermez. Bu kaba kuvvet saldırılarını zorlaştıracak. Bağlantı noktası numarasını değiştirmek yararlı değil, sadece belirsizlik, güvenlik yok.
Makinenizdeki hesap sayısını kısıtlayın. Ayrıca gerçekte kullandığınızdan daha fazla paket / program yüklemeyin. Yalnızca X11 istemcileri yükleyin, X11 sunucusu değil.
Sadece dijital sertifika ile makineye ssh-login yapınız, şifre yok . Bu da kaba kuvvet saldırılarını zor / imkansız hale getirecek.
Ayrıca CIS Debian Benchmarks belgesine de danışacağım ve Debian'ın bir türevi olduğundan Ubuntu'ya uygulanacak işletim sistemini sertleştirmek için önemli sayıda prosedür ve süreç var. Ayrıca danışırdım:
Güvenlik her zaman bir bedelle gelir. Bazı gerçekçi sınırlar koymak, hedeflerinize ulaşmada size yardımcı olacaktır. Aşağıdaki hususları dikkate alacağım:
Burada yayınlanan tüm bağlantıları kontrol ederek, bunun eklenmesi gerektiğini düşünüyorum. Yalnızca yazılımınızı nasıl kuracağınızla ilgili değil, aynı zamanda güvenlik planını da düşünmekle ilgili detaylara girer. Artı olarak, çalıştırılacak her komut kendisine bir kaynakla açıklanmaktadır.
Bu konuda ubuntu 16.04-18.04’ün nasıl güvence altına alınacağı konusunda uzun zaman önce bir yazı yazdım. Bu adımlar şunları içerir:
Şifre Girişini Yetkili Tuşlarla Değiştirin Linux Sunucunuza Güvenlik Duvarı Yükleyin
ve biraz daha. https://hostup.org/blog/how-to-secure-a-ubuntu-linux-server-in-3-simple-steps/