Soru IPTable sadece localhost erişimine izin verir


İptables'ler hakkında sağlam bir anlayış elde etmek için yıllardır uğraştım. Adam sayfaları üzerinden okumaya çalıştığım her zaman gözlerim parlamaya başlıyor.

Sadece localhost'un erişmesine izin vermek istediğim bir hizmetim var.

Google'ın, belirli bir bağlantı noktasına erişebilmesi için yalnızca yerel ana makine barındırıcısına izin vermek için Google'ın hangi şartlar (veya yapılandırma, cömert davranıyorsa)?


49
2018-03-14 14:37


Menşei


Bu hizmet hangi bağlantıda çalışıyor? - Bart De Vos
44344, kendi bünyesinde yazılı bir hizmet - iptablessuck
Nickimi 'iptablesrules' için geçici olarak değiştirmek istiyorum ama yapamam - Art Shayderov
@Art, sadece emmek çünkü onları anlamıyorum çünkü :) - iptablessuck
@iptablessuck aslında yapabilirim gibi görünüyor. Ama yapmayacağım çünkü onu değiştirebileceğimden emin değilim :) - Art Shayderov


Cevaplar:


Hizmete göre belirli bir bağlantı noktası anlamına gelirse, aşağıdaki iki satır çalışmalıdır. Kısıtlamaya çalıştığınız portu "25" olarak değiştirin.

iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

58
2018-03-14 14:47



"Localhost'tan 25 no'lu limana gelen herhangi bir şey kabul et" ve ikinci kural "25 no'lu limana gelen herhangi bir şeyi düşür" diyor. İlk satır önce işlenir, localhost'a izin verilir ve diğer her şey ikinci satır tarafından düşürülür. Evet? - iptablessuck
Bu doğru! - Hyppy
@Hyppy, bunu nasıl "geri aldın?" - tester
@tester bu komutları tekrar yazın, ancak yerine -A ile -D - pepoluan
@Astronaut türü 'sudo service iptables' değişiklikleri kaydetmek için 'kaydedin. sonra yeniden başlat. 'sudo iptables -L' yazarak değişikliklerin kaydedilip kaydedilmediğini kontrol edebilirsiniz. - Vinayak


Tavsiye ederim:

iptables -A INPUT -i lo -p tcp --dport $APP_PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $APP_PORT -j DROP

Çünkü, kendinden adresli paketlerin kaynağı olarak 127.0.0.1 olması gerekmez, ancak hepsi lo arayüz.

Şimdi, eğer Gerçekten mi anlamak istiyorum iptables Yapmanız gereken ilk şey, ilişkilerini açıklayan iyi diyagramları indirmek ve yazdırmaktır. netfilter tablolar. İşte iki harika olan:

Son olarak, bir çok oku iptables NASIL. Pratik örnekler, hızlı gerçek hızlı olmanıza yardımcı olacaktır :)


26
2018-03-14 16:43



ty! lo Bu komutları bu bağlantıdan son komut ile kullandıktan sonra bana gösterir cyberciti.biz/faq/howto-display-linux-iptables-loaded-rules  iptables -L -v -n --line-numbers
@Gracchus Kullanmayı çok daha kolay buluyorum iptables-save , çıktıyı bir dosyaya kaydedin, ile düzenleyin vim veya emacsve düzenlenmiş dosyayı iptables-apply - pepoluan
Kullanım durumuna bağlı olarak, ikinci kuralın sessizce bırakma yerine açıkça REJECT olması gerektiğini düşünüyorum. En iyi uygulama olarak sessizce mi düştü? REJECT kullanımı güvenli midir? - Mr. Doomsbuster
@ tech-pro Evet, REJECT kullanımı güvenlidir. Neyi başarmaya çalıştığınıza ve limanı kullanmaya çalışan insanlar için saygılı olmak isteyip istemediğinize bağlı. REJECT, istemciye makinenin kapalı olduğunu ancak bağlantı noktasının kapalı olduğunu söyleyen bir TCP RST paketi gönderir. İnsanların meşru olarak kullanmayı beklediği bir bağlantı noktasını kapatıyorsanız, REJECT iyi. Sadece port tarayıcıları beklerseniz DROP daha iyidir. - Law29
Limanda çalışan bir web sunucusu vardı, sadece yerel ana bilgisayar üzerinden erişilebilir istiyorum. Diğer taraftan tarayıcıdan kullanan birine hemen inkar etmek için REJECT'in daha iyi olabileceğini düşündüm. Eğer bırakılırsa, zaman aşımı gerçekleşene kadar tarayıcı askıda kalıyor. Bu kullanım durumunda anlamsız mıdır? - Mr. Doomsbuster