IPTable'lar: Giden MySQL bağlantılarına izin verir, ancak gelen bağlantılara izin vermez


10

Dış kaynaklardan mysql bağlantılarına izin vermeyen bir sunucum var - tüm veritabanlarım ve bağlantılar localhost'ta gerçekleşiyor. Iptables'ın varsayılan ilkesi, belirtmediğim herhangi bir bağlantı noktası için bağlantıları bırakmaktır (şu anda iptable kurallarında belirtilen 3306 numaralı bağlantı noktası yok, bu nedenle bu bağlantı noktasına tüm bağlantılar bırakıldı).

Bu iyi, ama şimdi Amazon RDS'de harici olarak bulunan bir mysql veritabanına bağlanmak istiyorum.

3306 Limanı aşağıdaki şekilde dış dünyaya açılabilir:

iptables -t filter -A INPUT -p tcp --sport 3306 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 3306 -j ACCEPT

Bu, Amazon RDS'deki veritabanına bağlanmama izin veriyor, ancak sunucumdaki veritabanlarına uzaktan bağlantı yapılmasına da izin veriyor.

Sunucumun Amazon'daki veritabanına bağlanmasına izin vermek, ancak sunucumdaki veritabanlarıyla harici bağlantıları kısıtlamak için ne yapmam gerekir?

Ayrıca Amazon RDS örneğimin IP adresinin periyodik olarak değişebileceğini de unutmayın.


2
Amazon'dan statik bir IP alın ve sonra yalnızca gelen / çıkış bağlantıları için bu IP'ye izin veren bir beyaz liste oluşturdunuz mu?
Peter

Yanıtlar:


17

Devlet motorundan yararlanın:

iptables -t filter -A OUTPUT -p tcp --dport 3306 -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT

veya iptables'ın sonraki sürümlerinde

iptables -t filter -A OUTPUT -p tcp --dport 3306 -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Bu durum motor yapmak için var tam olarak ne çeşitli kriterleri karşılayan trafiğe izin (örneğin, protokol, kaynak bağlantı noktası) değil, aynı zamanda mevcut bir bağlantı parçasıdır (tanımladığı olarak bağlantı ). Sonuç olarak TCP SYN, yerel bir geçici porttan, hedef port 3306 üzerindeki belirli bir harici IP adresine giden paket, söz konusu IP adresleri ve port numaralarının kombinasyonu için bir durum tablosu girişi oluşturacak ve sadece aynı adreslere ve bağlantı noktalarına yalnızca bu bağlantı süresince izin verilir.

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.