Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 7537|Yanıt: 4

Docker konteynerlerinin İnternet'e erişimini yasaklamak (extranet)

[Bağlantıyı kopyala]
2022-12-14 tarihinde yayınlandı 22:53:18 | | | |
Gereksinimler: Docker konteynerleri kullanılarak özel bir ev albümü sistemi oluşturuldu, bu da ev LAN üzerinden erişim ve görüntüleme ile sınırlıdır, çünkü Docker görüntüsü üçüncü taraf bir geliştirici tarafından geliştirilmiştir ve bunun bir güvenlik durumu olup olmayacağını bilmiyorumGizlilik ihlalleri oluşturunBu sorunu daha iyi çözmek için, Docker konteynerlerinin İnternet'e (dış ağ) erişmesini yasaklayarak gizlilik garantisi eklemek istiyoruz.

CentOS 7, bir IP'nin sunucuya erişmesini engeller
https://www.itsvse.com/thread-10264-1-1.html

iptables güvenlik duvarı sadece belirli IP'lerin belirli portlara ve belirli web sitelerine erişmesine izin verir
https://www.itsvse.com/thread-2535-1-1.html

CentOS7 Güvenlik Duvarını Görüntü ve kapatma
https://www.itsvse.com/thread-7771-1-1.html

Bu makale, CentOS7 sistemi, Docker sürümü: 20.10.20 kullanır ve testler için nginx görüntüleri kullanır.

İnternet erişimi (ekstranet) varsayılan olarak izin verilir

Erişilebilen web servisleri sağlayan yeni bir nginx konteyneri oluşturun18080 Port erişimi, konteyner varsayılan olarak İnternet'e (dış ağ) erişebilir, komut şu şekildedir:

Konteynere girin ve aşağıdaki şekilde gösterildiği gibi normalde elde edilebilen curl komutuyla bu sitenin kaynaklarını talep edin:



Docker konteynerlerinin internete erişimini engellemek (extranet)

İlk olarak, docker üzerinden özel bir ağ oluşturmamız ve aşağıdaki komutla sanal bir ağ kartı oluşturmamız gerekiyor:



Sanal NIC üzerinde iptables üzerinden aşağıdaki komutla internete erişimi yasaklamak için bir kural belirleyin:

iptables servisi mevcut olup olmadığına bakılmaksızın, güvenlik duvarı açık olup olmamasından bağımsız olarak,Komutla eklenen iptables kuralları hemen yürürlüğe girer!!!

Not: Bu plan uygundurFarklı konteynerler aynı ağa bağlanırsa, konteynerler birbirleriyle iletişim kuramaz!!!!

Aşağıda gösterildiği gibi DOCKER-KULLANICI kuralına bakın:



Tekrar yeni bir nginx konteyneri oluşturun, konteyner web servisini sağlar ve18081 Port dış dünyaya hizmet sağlar ve konteynerin İnternet'e (kamu ağına) erişmesi yasaklanmıştır, komut şu şekildedir:



Hedefimize ulaştık, ama,Sunucuyu yeniden başlattıktan sonra, iptables içinde oluşturduğumuz kurallar kaybolurSunucu yeniden başlatıldıktan sonra özel kurallarımızı otomatik olarak nasıl yükleyebiliriz?

iptables-save komutu, Linux çekirdeğindeki iptables tablosunu standart bir çıktı sağlayıcıya aktarmak için kullanılır; genellikle shell'deki I/O yönlendirme fonksiyonu kullanılarak çıktı belirli bir dosyaya kaydedilir.

Mevcut iptables kuralını kaydet

Boot boot'a restore iptables kuralı ekleyin, boot boot dosyası /etc/rc.d/rc.local olur, dosyayı düzenleyin ve sonuna aşağıdaki komutu ekleyin:

Son olarak, aşağıdaki komutla yürütme iznini ekleyin:

Ayarlar tamamlandıktan sonra, iptables kuralları sunucu yeniden başlatılmış olsa bile hâlâ geçerli olur.

Docker'daki tüm konteynerlerin İnternet'e (extranet) erişmesi yasaktır,Test edilmedi, komut şöyledir:

(Son)






Önceki:"project.assets.json" varlık dosyası bulunamıyor. NuGet paket geri yüklemesini çalıştır...
Önümüzdeki:BBR vs BBRplus vs BBR2 Genel ağ hız karşılaştırması
2022-12-16 tarihinde yayınlandı 21:14:15 |
Öğren
 Ev sahibi| 2023-1-2 tarihinde 17:43:19 tarihinde yayınlandı |
Durum şöyledir:

【Practical Combat】Soft routing ile bir Gitea özel Git deposu oluştur
https://www.itsvse.com/thread-10403-1-1.html


2023-4-7 18:55:08 tarihinde yayınlandı |
Bu özellik çok önemli, gel ve öğren
2023-4-21 tarihinde yayınlandı 12:00:24 |
Paylaştığın için teşekkürler, öğrendim.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com