(/ etc / sysconfig / iptables) “Bu dosyanın manuel olarak özelleştirilmesi önerilmez.” Neden?


20

Bu dosyayı doğrudan düzenleme

/etc/sysconfig/iptables 

beni çok fazla baş ağrısından kurtarabilir çok zaman ve benzeri ...

ve yine de dosyanın en üstünde yazıyor ..

Manual customization of this file is not recommended.

İşte yeni bir centos 6.4 bulut sunucusu ile gelen '/ etc / sysconfig / iptables'.

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

80 numaralı portu açmak için sadece hattı klonlayabilirim ..

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

ve sonra "22" yi "80" olarak değiştirin ve sonra bu dosyayı kaydedin ve tüm sistemi yeniden başlatın.

bu benim için 80 numaralı limanı açacak.

bu oldukça basit bir işlem. ve dosyada manuel düzenlemenin önerilmediği belirtiliyor.

Neden tavsiyelere uymalıyım?

Yanıtlar:


18

Çünkü adlı dosya system-config-firewall(veya ncurses tabanlı ağabey system-config-firewall-tui) bu dosyayı yönetir. Yeni iptables kuralları oluşturmak için bu aracı her kullandığınızda, üzerine yazılır /etc/sysconfig/iptables.

İlgili Sayfa: 28.1.16. / etc / sysconfig / iptables yapılandırma

Bu yüzden tavsiye edilmez, ancak yasaklanmaz . CentOS veya başka bir EL sürüm 6 kullanarak kurallarınızı kaydetmenin en iyi yolu, bellekte bazı kurallar ekledikten sonra iptables hizmetini kullanmaktır:

# service iptables save

İlgili soru: Neden iptables / etc / sysconfig / iptables'dan centOs üzerindeki bilgileri getirmiyor?

Bu dosyayı ( /etc/sysconfig/iptables) doğrudan düzenlememe nedenleri :

  • Çünkü otomatik oluşturulan bir dosyadır. İçeriği script / daemon'dan geliyor /etc/init.d/iptables.
  • Iptables arka plan programının sıfırlanması veya durdurulması gibi bazı eylemler, dosyanın üzerine yazılacağı için veri kaybına neden olabilir. Bu konuda ilginç değişkenler: IPTABLES_SAVE_ON_STOP=""ve dosyanın IPTABLES_SAVE_ON_RESTART=""içinde /etc/sysconfig/iptables-config. Belki, bunları ayarlamak içerideki değişikliklerinizi /etc/init.d/iptableskalıcı hale getirecektir .
  • Çünkü belgeler böyle söyledi. Red Hat bunun güvenlik duvarı altyapısını kullanmanın en iyi yöntemi olduğunu tavsiye ediyor.

Bu "güvenlik duvarı kurallarımın üzerine yaz" seçeneğine alternatif bir çözüm, bu komut dosyalarını tamamen devre dışı bırakmak ve goldilocks tarafından maruz bırakılan güvenlik duvarını yönetmek için özelleştirilmiş bir yönteme güvenmektir .


Bu daha çok mix ve eşleme dosyasını doğrudan düzenlemeye ve system-config-firewallaracı kullanarak kural eklemeye karşı bir argüman gibi geliyor . Aracı kullanmak yerine dosyayı düzenlemenin neden kötü olduğunu açıklayabilir misiniz?
Michelle

Ek bilgi eklendi. Tavsiye için teşekkürler @Michelle

8

ve yine de dosyanın en üstünde yazıyor ..

Hmmm, bu garip. Üstümde şöyle diyor:

# Manual customization of this file is strongly encouraged.

Birisi onu değiştirmiş olmalı;) Ve hatta /etc/sysconfigpaket yöneticisinden veya başka bir şeyden "otomatik olarak kişiselleştirilmeyecek";);)

Bence burada genel olarak bu tür yapılandırma dosyalarıyla ilgili nokta, ne yaptığınızı bilmiyorsanız yapma. Bazen dosyanın sistem tarafından zaman zaman üzerine yazıldığına dair uyarı da vardır. Bu, yükseltmelerdeki paket yöneticisi tarafından olabilir - bazen PM bir dosyanın manuel olarak değiştirildiğini ve üzerine yazılmadığını veya bir kopyasını kaydetmediğini not eder - ve bu yapılandırmadan sorumlu başka bir araç olabilir ( nwildner'ın cevabına bakınız ).

"Ne yaptığınızı bilmenin" bir parçası, bu gibi açılardan haberdar olmaktır. Ayrıca iptables için yapılandırma dosyasını yapılandırma dosyası için farklı bir konum kullanacak şekilde özelleştirdim ve en önemlisi: Bu bilgisayarı kullanan tek kişi benim.

Kök erişime sahip başka insanlar olduğunu varsayarsak, "Bu şekilde tercih ederim" den daha iyi bir neden olmadıkça, sorumlu olduğum bir sunucuda yapmazdım, çünkü muhtemelen karışıklığa yol açacak ve bir başkasına baş ağrısı verecek bir noktada. Ancak tek kullanıcı sizseniz ve hiç kimse sisteme bağlı değilse, istediğiniz şeyi yapmakta özgürsünüz. Güvenlik duvarını yapılandırmak için "tercih ettiğim yöntem" şöyle:

#!/bin/bash

if [[ ! -n "$IPTSET_FILE" ]]; then
        IPTSET_FILE=/etc/iptables.current
fi

if [[ ! -e $IPTSET_FILE ]]; then
        echo "$IPTSET_FILE does not exist!"
        exit 1
fi

vim $IPTSET_FILE
iptables-restore < $IPTSET_FILE

/etc/iptables.currentönyükleme sırasında kopyalanarak oluşturulur /etc/iptables(iptables servisi başlangıçta yüklenecek şekilde yapılandırılır). Bu şekilde sistemin başladığı referans noktasını korurken işleri anında değiştirebilirim.

Bu tür bir uyarı içeren yapılandırmalarla dalga geçmeyi istiyorsanız, bizi önemli bir noktaya getirir: Her zaman önce orijinalin yedek bir kopyasını oluşturun.

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.