Web Sunucusu Güvenlik Aşımı?


9

Bir linux web sunucusunun güvenliğini sağlamak için "kapsamlı" araştırmalar yapıyorum. "Temeller" (kullanılmayan hizmetleri kaldırma, ssh, iptables, vb. Sertleştirme) olarak kabul edilir. Bunlar sadece bir web sunucusu için aşırı mı yüklü? Bunun çok belirsiz bir soru olduğunu biliyorum, ama başkalarının görüşlerini merak ediyorum.

Gelecekteki ortamım: - Ubuntu 10.04 - fail2ban - nginx 0.8.x - php 5.3.x (suhosin, apc, memcached) - Mongodb 1.6.x

Olası uygulamalar: - web servisleri - kullanıcı yüklemeli web uygulamaları (resimler, pdf'ler vb.) - tipik web siteleri (formlar, vb.)

Başka ipuçlarınız varsa, lütfen eklemekten çekinmeyin!

Teşekkürler

Yanıtlar:


8

Halka açık bir sunucu için, tripwire gibi bir şey yüklemek overkill değil söyleyebilirim.

ClamAV farklı bir konudur. Ziyaretçilerinizin web sitenize yükleyip web sitenizden indirerek dosya paylaşacaklarını ayarlamayı düşünürüm. PDF'ler istismar içerebilir.

Ortak kullanıma açık sunucularda, SSH parola kimlik doğrulamasına izin vermiyor, yalnızca genel anahtar kimlik doğrulamasına izin veriyor. SSH yalnızca dahili bir LAN'dan mümkünse bunu gevşetebilirsiniz.

Mümkünse sunucuyu, dahili LAN'larınızdaki diğer bilgisayarlarla bağlantı oluşturamayacak şekilde bir DMZ'ye yerleştiririm.


2
LMD'yi (Linux Kötü Amaçlı Yazılım Algılama), rfxn.com/projects/linux-malware-detect unutmayın - bu , sitenizi kullanmak için web uygulamalarını (HTML, PHP, JavaScript dosya değişiklikleri) etkileyen kötü amaçlı yazılım türlerini tarar SEO spam, kimlik avı, ziyaretçi bilgisayarlarının enfeksiyonu vb.
RichVel

3

Hayır, yeterince ileri gitmedin.

1) mod_security gibi bir web uygulaması güvenlik duvarına ihtiyacınız vardır ve saldırıları engelleyecek şekilde yapılandırıldığından emin olun, sadece bunları günlüğe kaydetmeyin.

2) php'yi phpsecinfo ile kilitleyin .

3) Web uygulamanızın MySQL hesabını kilitleyin, uygulamanızın FILEayrıcalıklara sahip olmadığından emin olun, MySQL'deki en tehlikeli olanı.

4) Güvenlik duvarı tüm UDP ve ihtiyacınız olmayan tüm TCP kapalı. Ssh için port vuruşu kullanmayı düşünün . Yasaklama başarısızlığı neredeyse sıfır deneme yapmak kadar iyi değildir .


1) ModSecurity'nin yalnızca Apache (nginx kullanıyorum) ile paketlenebileceği izlenimi altındaydım. Ama görünüşe göre bağımsız çalışabilir? Bu teşekkürlere bakmam gerekecek! Birkaç özellik için calomel.org/nginx.html dosyasını takip ettim .
Aaron

4) Benim ssh port, https veya https (gelen, giden) olmadığı sürece tüm gelen ve giden trafiği engellemek için iptables kullanıyorum. Devam ederken daha fazla açacağım. Bağlantı noktası vurma ssh için ilginç bir ektir! Tekrar teşekkürler!.
Aaron

@Aaron neden nginx'i kullanacağından emin değilim. Apache + mod_security'yi, kullanmak istediğiniz garip ve özelliksiz httpd ile proxy olarak kullanabilirsiniz.
Kale

2

AIDE'yi muhtemelen bir web sunucusuna güvenle kurabilirsiniz - müşteri eklemek ve kaldırmak çok fazla yapılandırma dosyasını değiştirmez ve muhtemelen normal konuşmayı kolayca filtreleyebilirsiniz.

Ancak bir çok web sunucusu güvenlik kılavuzunun bahsetmediği bir şey / etc / fstab içindeki / tmp bölümünüzde noexec'i açmanızdır. Halka hosting hizmeti sunuyorsanız, pek çok kişi bilginiz olmadan güvensiz web uygulamaları yükleyecektir (ve uygulamalarını güncel tutacak bilgiye sahip değildir) ve temelde bu hataları sonsuza kadar takip ediyorsunuz. Bir saldırganın yazılımı kaydedebileceği tek yerin müşterinin giriş dizini ve / tmp dizini olduğundan emin olursanız, saldırgan / tmp dizinini kullanamıyorsa size nereden ayrıldıklarını gösterme riski taşır. Bunu yapmaktan hoşlanmıyorlar.

Bunu yapmak web barındırma sunucumuzdaki güvenlik sorunlarının büyük çoğunluğunu çözmüştür.


2

"Gemiye hoş geldiniz! Yeni uçağımızın üzerinde restoran, sinema, spor salonu, sauna ve yüzme havuzunun tadını çıkarabilirsiniz. Şimdi emniyet kemerlerinizi bağlayın, kaptanımız tüm bu havayı havaya uçurmaya çalışacak."

  1. mod_security hem sizin hem de sunucunuz için bir acıdır. Kaynaklara aç ve kurallarının ciddi şekilde korunması gerekiyor ve bu hiç bitmeyen bir görev olacak. Ve hayır, bağımsız veya Nginx ile çalışmaz. Gerçekten ihtiyacınız olduğunu düşünüyorsanız, ayrı bir proxy sunucusu (Apache, mod_proxy, mod_security) kurun. Ayrıca DMZ olarak çalışır, gerçek sunucularınız dış dünyaya tamamen kapatılabilir ve proxy ihlal edilirse, yine de hiçbir şey yoktur.

  2. ClamAV da bir daemon olarak çalıştırılırsa çok ağırdır. Cron'dan aktif olmayan saatlerde periyodik olarak clamscan çalıştırmak daha iyidir.

  3. Tripwire abartılı, IMHO. Ancak rootkit'leri avlayabilecek bir şey yararlı olacaktır, çok sayıda komut dosyası vardır (rkhunter, chkrootkit).

  4. Rootkit'lerin en az% 90'ının devs Windows makinelerinden yüklemelerle sunuculara ulaştığına inanıyorum. Bunu önlemenin gerçekten iyi bir yolu yoktur, belki geliştiricileri Windows'u asla kullanmaya zorlamaz. Truva atlarının çoğu FTP kimlik bilgilerini arar, bu yüzden asla FTP kullanmayın.


Bilmek güzel ... Apache rotasını izlemek gibi bir niyetim olmadığından, nginx için bulabileceğim güvenlik unsurlarına bağlı kalacağım. Muhtemelen clamscan / rkhunter rotasını da alacağım. İpuçları için teşekkürler!
Aaron

0

Popüler CMS motorunda (Wordpress, Jomlaa, Drupal) captcha form koruması kullanmak güvenlik uygulamaları olarak kabul ediliyor mu? Evet ise, bunları kullanabilirsiniz:


Anti-Spam koruması ? Evet. Ancak burada yazar, captcha'nın hiçbir ilgisi olmayan yetkisiz kullanıcılara karşı sunucusunu kilitlemek istiyor.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.