Sunucum iyi yapılandırılmışsa neden güvenlik duvarına ihtiyacım olsun?


59

Çalıştığım şirket için bir avuç bulut tabanlı (VPS) sunucu yönetiyorum.

Sunucular, LAMP yığınlarının / gelen veri toplamanın (rsync) bitlerini çalıştıran minimum ubuntu kurulumlarıdır. Veriler büyük ama kişisel değil, finansal veya bunun gibi bir şey (yani ilginç değil)

Açıkçası burada insanlar sonsuza dek güvenlik duvarlarını ve benzerlerini yapılandırma hakkında soruyorlar .

Sunucuları korumak için bir sürü yaklaşım kullanıyorum, örneğin (ancak bunlarla sınırlı değil)

  • standart olmayan bağlantı noktalarında ssh; parola yazmadan, yalnızca giriş için bilinen ips'den bilinen ssh anahtarları vb.
  • https ve sınırlı kabukları (rssh) genellikle sadece bilinen anahtarlardan / ips
  • sunucular çok az, güncel ve düzenli olarak
  • izleme için rkhunter, cfengine, lynis denyhosts vb.

Unix sys admin konusunda geniş bir deneyime sahibim. Kurulumlarımda ne yaptığımı bildiğimden eminim. / Etc dosyalarını yapılandırıyorum. Güvenlik duvarları gibi şeyler yüklemeye zorlayıcı bir ihtiyaç duymadım: iptables vs.

VPS'nin fiziksel güvenlik konularını bir an için bir kenara koyun.

S? Naif olup olmadığımı veya bir fw'nin sağlayabileceği artımlı korumayı öğrenme / yükleme çabalarına ve sunuculardaki ek karmaşıklığa (paketler, yapılandırma dosyaları, muhtemel destek vb.) Değer olarak değerlendirebileceğime karar veremiyorum.

Bugüne kadar (dokunma ahşap) Hiç güvenlik sorunum olmadı ama bu konuda da endişeli değilim.




6
Bana IP adresini ver, neden bir güvenlik duvarına ihtiyaç duyduğunu göstereyim .
GregD

Yanıtlar:


87

Birkaç farklı serveti bağlamak için harika bir iş çıkardığınızı ve söylediklerinizden, zaten güvence altına aldığınız hizmetlerle sorun yaşamanızın muhtemel olmadığını düşünüyorum. Bu hala sizi "yasakladığım hariç her şeye izin verilir" durumunda bırakıyor ve bu durumdan daemondan sonra arka plandaki avı izleyerek ve onları tek tek güvenceye alarak bu durumdan çıkamazsınız.

HERHANGİ HERHANGİ BİR HERHANGİ HAYIR olarak yapılandırılmış bir güvenlik duvarı , sizi varsayılan olarak "izin verilenler dışında her şey yasaktır" çalışma moduna geçirir ve uzun yıllar boyunca daha iyi olduklarını keşfettim.

Şu anda, sisteminizde meşru bir kabuğa sahip meşru bir kullanıcı göz önüne alındığında, internet için web isteklerini protesto etmek için bazı yerel imtiyazlı arka plan programı çalıştırmaya karar verebilir, ya da 4662 numaralı bağlantı noktasında dosya paylaşımına başlayabilir veya yanlışlıkla bir dinleyiciyi -g kullanarak açabilir. ssh port tünelleme ile, ne yaptığını anlamadan; veya bir sendmail kurulumu sizi MTA sendail'i 25 no'lu limanda emniyet altına almak için yaptığınız tüm çalışmalara rağmen yanlış bir şekilde yapılandırılmış olan 587 portunda bir MUA kullanmanıza izin verebilir; veya dikkatli ve düşünceli güvenliğinizi atlayan, yüzlerce şey olabilir, çünkü ne yasaklayacağınız konusunda dikkatlice düşünürken etrafta bulunmazlardı.

benim puanımı görebiliyor musun? Şu anda, bildiğiniz tüm şeyleri güvenceye almak için çok çaba sarf ediyorsunuz ve sizi ısırmayacak gibi görünüyor. Sizi ısıtabilecek olan şey, bilmediğiniz veya şu anda orada olmayan şeylerdir.

HERHANGİ HERHANGİ BİR YANLIŞ için varsayılan olan bir güvenlik duvarı , yeni bir şey gelip bu sunucuda bir ağ dinleyicisini açarsa, açık bir izin verene kadar kimse onunla konuşamayacağını söylemenin sysadmin yöntemidir .


Bu çok anlayışlı bir cevap, özellikle de "her şeye izin veriliyor ..." dan "her şey yasaklandı" ya da "her şey yasak ..." a düşmekle ilgili metin. Sık sık olduğu gibi - katılacağınıza eminim - tehlike genellikle "içeride"
Aitch

12
(Aitch, eğer biraz tahmin edersem, profiliniz serverfault konusunda yeni olduğunuzu gösterir. Yerel görgü kuralları, cevapla mutlu olduğunuzda, onaylarsa, hafızanın hizmet vermesi durumunda onay satırına tıklayarak kabul edersiniz; Bu, itibar sistemini harekete geçirir. Tabii ki, zaten biliyorsanız veya başka, daha iyi, cevapların ortaya çıkıp çıkmadığını görmek için bekliyorsunuz, o zaman bu aynı zamanda çok doğru ve uygun, ve lütfen beni görmezden gelin. Sorunuzun cevabından tamamen memnunuz, kabul ediyorsunuz.)
MadHatter

+1 @MatHatter - güvenlik duvarlarının seçim yerine varsayılan olarak nasıl güvenlik sağlayabileceklerinin iyi bir açıklaması.
Coops,

Bu hesaplanmış bir risk. En azından OpenBSD'de pf'nin etkinleştirilmesi, çekirdeğe böcek olabilecek 35K kod satırı ekler. Öte yandan, varsayılan bir reddetme - ve uygun bir güvenlik duvarı güvenlik duvarı - paranın satın alabileceği en büyük IDS'dir. Snort'u kötü şeyler aramak için kullanmayı denemeyi bırakın: Makinelerinizden herhangi biri özel olarak izin vermediğiniz bir şey yaptığında, bildirim almanız gerekir.
Alex Holst

14

En Az Ayrıcalık İlkesi. Bir güvenlik duvarı oraya ulaşmanıza yardımcı olur. Derinlikteki Savunma Prensibi. Bir güvenlik duvarı da oraya gitmenize yardımcı olur. İyi tasarlanmış herhangi bir konfigürasyon açıkça bu ikisine bir şekilde veya başka bir şekilde dayanır.

Başka bir şey, sunucularınızın büyük olasılıkla bir meta donanım veya standart bir sunucu işletim sistemi (Unix, NT, Linux) üzerinde çalışan sunucu yazılımlarını işlemek için özel bir donanım olacağıdır. Yani, gelen trafiği verimli bir şekilde ele almak ve filtrelemek için özel bir donanıma sahip değiller. Sunucunuzun, mümkün olan her çok noktaya yayın, ICMP paketini veya bağlantı noktası taramasını gerçekleştirmesini ister misiniz?

İstediğiniz büyük olasılıkla sunucularınızın yalnızca bazı bağlantı noktalarına (80, 443, ssl bağlantı noktanıza, tipik oracle 1521 bağlantı noktanıza, rsync bağlantı noktanıza, vb.) Yönelik istekleri yerine getirmesi olasıdır. Evet, elbette sadece bu portları dinlemek için sunucular Ancak NIC'leriniz hala istenmeyen trafik sıkıntısını taşıyacak (kuruluşunuzda kötü ya da normal olabilir.) NIC'leriniz etkileniyorsa, sunucularınızdan geçen ağ yolları (ve muhtemelen sunucularınız ve dahili müşterileriniz ve diğer dahili sunucular ve hizmetler.)

NIC'leriniz sadece dövülmekle kalmaz, yazılım güvenlik duvarınız da her bir paketi veya aldığı datagramı incelemesi gerektiği için devreye girer.

Öte yandan, özellikle alt ağların kenarlarındaki (veya alt ağlarınızı dış dünyadan ayıran) güvenlik duvarları, bu tür bir hacmi idare etmek için özel olarak tasarlanmış özel donanım olma eğilimindedir.

N sayıdaki sunucuyu, M sayı güvenlik duvarı ile (N >> M ile) çevreleyebilirsiniz. Güvenlik duvarı donanımınızı, belirli bağlantı noktalarına yönlendirilmeyen herhangi bir şeyi dökecek şekilde ayarlarsınız. Liman taramaları, ICMP'ler ve diğer şeyler çıktı. Ardından, sunucularınızdaki yazılım güvenlik duvarını özel işlevlerine göre ince ayar yapın.

Şimdi toplam karartma olasılığını az önce düşürdünüz (ancak ortadan kaldırmadınız), onu ağın bir bölümüne veya kısmi bir başarısızlığa en aza indireceksiniz. Ve böylece, sisteminizin bir saldırı veya yanlış yapılandırmada hayatta kalma kabiliyetini arttırdınız.

Sunucularınızda güvenlik duvarı bulunmaması, sis nedeniyle sıfır görüş mesafesi altında 120 mil hızında sürerken emniyet kemerinizi takarken güvende hissetmek gibidir. Bu şekilde çalışmıyor.


4

Bir çeşit paket seviye incelemesi yapan bir güvenlik duvarınız yoksa, gerçekleştirebileceğiniz birçok saldırı vardır:

Örnek Noel Ağacı Paketi

http://en.wikipedia.org/wiki/Christmas_tree_packet

DDOS saldırıları sisteminize karşı çalıştırılabilir, bir güvenlik duvarı (harici, belki de sunucularınızdan önce) sunucularınızı kapatmadan önce trafiği durdurabilir / durdurabilir.

Sadece çünkü sen sunucularında mali veya kişisel verileri yok sen 'zarar' görmezsin anlamına gelmez. Bant genişliği veya CPU kullanımı için ödeme yaptığınızdan veya ölçülü bir oranınız olduğundan eminim. Bir gece boyunca (uyurken) birisinin sayacınızı çalıştırdığını hayal edin (bunun VOIP Switch sağlayıcıları ile gerçekleştiğini, gecenin MİLYONLARININ TÜM MESAJLARININ trafiği için isabet etmesini sağladığını gördüm).

Bu yüzden akıllı olun, varsa korumayı kullanın, MÜKEMMEL DEĞİLSİNİZ, yazılım da değil. Sadece bir sonraki istismar bulunana kadar güvenlidir. ;)


2

Bir güvenlik duvarı kullanarak en az ayrıcalık prensibini uygulayabilirseniz, muhtemelen buna ihtiyacınız yoktur. Benim açımdan güvenlik duvarı kullanmadan güvenli bir sistem kurmak daha fazla çaba gerektiriyor ve oldukça tembelim. Tek bir yapılandırma kullanarak taşıma düzeyinde ayrıcalıkları ayırabildiğimde, diğer araçları ve muhtemelen birçok yapılandırma dosyasını kullanarak TCP bağlantılarını kısıtlamayı neden rahatsız etmeliyim.


1
Tek yapılandırma hakkında iyi bir nokta, hata için daha az yer. Mümkün olan her yerde tembel olmaya katılıyorum! cfengine, benim için birçok yapılandırma dosyası sorununu kısmen hafiflettiğim için bu karmaşıklığın bir kısmını ortadan kaldırıyor .... ama ... sadece elbette yazılan kurallar kadar iyidir. Böylece, çoğu config dosyasını ikincil bir engel olarak "varsayılan" (veya en yakın) olarak bırakırsınız ve güvenlik duvarını (en azından katman anlamında) birincil sorun olarak görürsünüz.
Aitch

2
Önce PoLP'ye, ardından tembellik için düşürdüm. Güvenlik duvarları sahiplerinin özensiz davranmasına izin veren bir araç değildir. Saldırı yüzeyinizi sıkılaştırmanız zordur, çünkü saldırgan güvenlik duvarından geçerse (açık bir şey bulmanız gerekiyorsa), iptable'ları kapatabilirler. Tembelliğinizi ait olduğu yere uygulayın: sistemi mümkün olduğunca eğimsiz hale getirin, böylece uzun süre düzeltmek zorunda kalmazsınız.
Marcin

@Marcin: Birisi bir güvenlik duvarı kullanarak bir sistemi güvence altına almak isterse, önce kapsamlı bir tehdit modeli oluşturmak zorunda kalacak. Güvenlik duvarları bir tür tanınmış ve iyi tanımlanmış tehdit modelini ima eder, bu yüzden her konakçı için sıfırdan inşa etmek zorunda değilim. Elbette, askeri güvenlikten bahsedersek, başka seçenek yok, resmi bir tehdit modeli kurulmalı.
Alex,

1

Güvenlik duvarı ayrıca istenmeyen paketlerin sunucularınıza ulaşmasını engelleyebilir. Tek tek sunucu düzeyinde onlarla uğraşmak yerine, güvenlik duvarında onlarla ilgilenebilirsiniz. Tüm bu yapılandırma etkinliğini, birden çok sunucu yerine tek bir güvenlik duvarında tutabilirsiniz.

Örneğin, bir saldırgan harici bir IP’nin kontrolünü ele geçirdiyse ve sunucularınızı istenmeyen paketlerle karıştırıyorsa ve sunucularınız üzerindeki etkilerini azaltmak istiyorsanız, etkilenen sunucuları kötü niyetli paketleri bırakacak şekilde yapılandırabilirsiniz. veya değişiklikleri güvenlik duvarınızda yapın; tüm sunucularınız korunur. Güvenlik duvarının olması reaksiyon süresini kısalttı.


Ek olarak, bunu yapmak yine de bir güvenlik duvarı yapılandırıyor - her sunucuda oluyor.
mfinni

1

Siz veya bir başkası sunucu kurulumunuzda bir gün hata yapabilir, bir güvenlik duvarı size birisinin girmesini engelleme şansı verir. Mükemmel değiliz, hatalar yapıyoruz ve bu nedenle "gereksiz" bir sigortaya değebilir .

(Güvenlik duvarınızı sunucularınızla aynı işletim sistemi üzerinde çalıştırmamaya çalışın , aksi halde işletim sistemindeki tek bir hata ... Unix'in tüm sürümlerinin aynı işletim sistemi olduğunu düşünüyorum.


Mükemmel, karıştırma platformları (işletim sistemi ve donanım) çok önemlidir.
DutchUncle

1

Güvenlik duvarları trafik manipülasyonunda ölçeklendirilir. Çabuk yaparlar ve kaynakları vardır. Ve trafiği filtrelemek için sunucu kaynaklarını harcamazsınız (disk io / proc time / etc). Bazı güvenliği sunucu ortamında yapılandırmalısınız, ancak tüm trafik muayenesi ve virüs taraması vb. Özel sunucular yapmalıdır.


-2

Asla saldırıya uğrarsanız ve güvenlik duvarı yoksa, endişelenirim. Bilgisayar korsanları sunucularınızdaki diğer bağlantı noktalarını açabilir. Ayrıca, bir temizlik ve denetleme yapmak üzere bir danışman getirilirse, ilk söyleyecekleri şey "NEDİR?!?! Güvenlik duvarınız yok!" O zaman yanabilirdin.


-1 Biraz sansasyonalist cevap + gerçekten yapıcı değil.
Coops,

2
Sunucunun güvenliği tehlikeye girerse, o zaman bir güvenlik duvarı, bozulan bozo sadece onu devre dışı bıraktığında yardımcı olmayacaktır! * Sorumluluk reddi, soru iptables kullanarak değil, ayrı bir donanım güvenlik duvarı kullanmaktan bahsetti.
Bryan,
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.