UFW’de SSH bağlantılarında hız sınırı nasıl devre dışı bırakılır?


1

Kodumu rsync kullanarak sürekli senkronize ettiğim bir dev sunucum var. Dev sunucusunu biraz daha güvende tutmak için şimdi iyi çalışıyor gibi görünen UFW'yi etkinleştirdim. Sorun şu ki, biraz iyi çalışıyor, çünkü şimdi senkronize etmeye çalışırken çoğunlukla hata alıyorum:

rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]

Bu blog yayınına göre sorun, UFW'nin SSH bağlantılarında bir "oran limiti" koyması; Eğer bir SSH bağlantısı 30 saniyede X defadan fazla denerse, sizi bir süre kapatacaktır. İstenmeyen insanları engellemek elbette harika, ama istiyorum

  • ya belirli IP adresleri için bunu devre dışı bırak,
  • veya başarılı bağlantı denemeleri için bunu devre dışı bırakın (yani, yalnızca bu oranın başarısız denemeler için çalışmasına izin verin).

Yukarıya bağladığım blog yazısı UFW için bir çözüm getirmedi, ancak UFW'yi ip-tablolarla değiştirdi. Programlamam için zamanımı harcamam gerektiğinden, zamanımı ip-tabloları öğrenmekle geçirmek istemiyorum. Bu yüzden burada herhangi birinin UFW ile çalışmanın nasıl sağlanacağını bilip bilmediğini merak ediyordum. Tüm ipuçları bekliyoruz!

Yanıtlar:


2

UFW çözümü değil, ancak yaptığınız SSH bağlantılarının sayısını azaltmak için ssh multiplexing kullanabilirsiniz. SSH protokolü, aynı TCP bağlantısı üzerinden birden fazla bağımsız akışın çalışmasına sshizin verir ve OpenSSH programı, bir işlemin, başka bir işlem tarafından açılan bir bağlantıda geridönüşüm için çoklama kullanmasına izin verir.

Bunun genel avantajı, bağlantının yalnızca bir kez kimlik doğrulaması yapması gerektiğidir, böylece daha sonra akışlar bu adımı atlayabilir. Sizin durumunuzda, UFW oranı sınırlandırmak isteyebileceği birden fazla bağlantı yerine zaten zaten bağlı bir akış olarak görmelidir.

Bu sayfa , çoğullamanın nasıl kurulacağı ve bağlantıların nasıl yönetileceği hakkında iyi bir açıklama içermektedir. Temel olarak, ~/.ssh/configdosyanıza böyle bir şey eklersiniz :

Host name-of-rsync-server
    ControlPath ~/.ssh/controlmasters/%r@%h:%p
    ControlMaster auto
    ControlPersist 10m

Bir kopyasını ssh- veya sizin durumunuzda çalıştırdığınızda, sizin için rsyncçalışan koşu ssh- bağlantısı ControlPatholan mevcut bir sshörnekle ("kontrol ana") konuşmak için kullanabileceği bir soket arar. rsync sunucusuna açın. Bu işe yararsa, yeni ssh oturumunu varolan TCP bağlantısı üzerinden çalıştırmak için iki işlem birlikte çalışır. Aksi takdirde, ssh örneği rsync sunucusuna yeni bir TCP bağlantısı açar ve diğer ssh örnekleri için bir kontrol yöneticisi olur.

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.