Bağlantı Noktası Kapatma: Bilgisayarınızda veya sunucunuzda sahip olabileceğiniz en iyi güvenlik (Dağıtım + Yapılandırma)

Çarpıcı bağlantı noktaları (İngilizce liman kapma) şüphesiz sunucuları yöneten hepimizin bilmesi gereken bir uygulamadır, burada bunun ne olduğunu ve bunun nasıl uygulanacağını ve yapılandırılacağını ayrıntılı olarak açıklıyorum 😉

Şu anda bir sunucuyu yönetenlerimizin o sunucuya SSH erişimi var, bazıları SSH'nin varsayılan bağlantı noktasını değiştiriyoruz ve artık 22 numaralı bağlantı noktasını kullanmıyor ve diğerleri bu şekilde bırakıyor (tavsiye edilmeyen bir şey), ancak sunucu bazı bağlantı noktaları üzerinden SSH erişimini etkinleştirdi ve bu zaten bir 'güvenlik açığı'dır.

ile Liman Kapatma aşağıdakileri başarabiliriz:

1. SSH erişimi herhangi bir bağlantı noktası tarafından etkinleştirilmez. 9191 numaralı bağlantı noktası için yapılandırılmış SSH'ye sahipsek (örneğin) bu bağlantı noktası (9191) herkes için kapatılacaktır.
2. Birisi sunucuya SSH ile erişmek isterse, tabii ki, bağlantı noktası 9191 kapalı olduğu için bunu yapamayacaktır ... ancak, bir 'sihirli' veya gizli kombinasyon kullanırsak, bu bağlantı noktası açılacaktır, örneğin:

1. Sunucunun 7000 numaralı bağlantı noktasına telnet
2. Sunucunun 8000 numaralı bağlantı noktasına başka bir telnet yapıyorum
3. Sunucunun 9000 numaralı bağlantı noktasına başka bir telnet yapıyorum
4. Sunucu, birisinin gizli kombinasyonu (bu sırayla 7000, 8000 ve 9000 bağlantı noktalarına dokunun) yaptığını algılar ve SSH tarafından oturum açma isteğinde bulunulması için 9191 numaralı bağlantı noktasını açar (yalnızca kombinasyonun yapıldığı IP için açacaktır. bağlantı noktası numarası tatmin edici).
5. Şimdi SSH'yi kapatmak için sadece 3500 numaralı bağlantı noktasına telnet
6. 4500 numaralı bağlantı noktasına başka bir telnet yapacağım
7. Ve son olarak 5500 numaralı bağlantı noktasına başka bir telnet
8. Sunucunun algıladığı bu diğer gizli kombinasyonun gerçekleştirilmesi, 9191 numaralı bağlantı noktasını yeniden kapatacaktır.

Yani bunu daha da basit bir şekilde açıklamak ...

ile Liman Kapatma sunucumuzda belirli bağlantı noktaları kapalı olabilir, ancak sunucu bunu algıladığında X IP doğru bağlantı noktası kombinasyonu yapıldı (yapılandırma dosyasında önceden tanımlanmış yapılandırma) belli bir komutu kendi başına çalıştıracağı belli ki (komuta ayrıca yapılandırma dosyasında tanımlanmıştır).

Anlaşılmadı mı? 🙂

Port Knocking için bir arka plan programı nasıl kurulur?

Bunu paketle yapıyorum Kockd, bu da bize çok, çok basit ve hızlı bir şekilde uygulama ve yapılandırma olanağı sağlayacaktır. Bağlantı Noktası Kapatma.

Paketi yükleyin: knockd

Knockd ile Port Knocking nasıl yapılandırılır?

Kurulduktan sonra yapılandırmaya devam ediyoruz, bunun için dosyayı (kök olarak) düzenliyoruz /etc/knockd.conf:

nano /etc/knockd.conf

Bu dosyada görebileceğiniz gibi, zaten varsayılan bir yapılandırma vardır:

 Varsayılan ayarları açıklamak gerçekten çok basit.

- İlk, KullanımSyslog aktiviteyi (log) kaydetmek için kullanacağımız anlamına gelir / Var / log / syslog.
- İkincisi, bölümde [openSSH] Açıkçası SSH'yi açma talimatlarının gideceği yer burasıdır, ilk önce varsayılan olarak yapılandırılan (bağlantı noktası 7000, bağlantı noktası 8000 ve son olarak bağlantı noktası 9000) bağlantı noktaları sırasına (gizli kombinasyon) sahibiz. Açıkçası portlar değiştirilebilir (aslında tavsiye ederim) zorunlu olarak 3 olmaları gerekmediğinden, aşağı yukarı olabilirler, size bağlıdır.
- Üçüncüsü, sıra_zaman aşımı = 5 gizli bağlantı noktası kombinasyonunun gerçekleşmesini bekleme süresi anlamına gelir. Varsayılan olarak 5 saniyeye ayarlanmıştır, bu, port çalma işlemini gerçekleştirmeye başladığımızda (yani, 7000 portuna telnet yaptığımızda), 5 saniye geçerse doğru sırayı bitirmek için maksimum 5 saniyemiz olduğu anlamına gelir ve Bağlantı noktası kapma işlemini tamamlamadık, o zaman basitçe sıra geçersizmiş gibi olacak.
- Dördüncü, komuta fazla açıklamaya gerek yok. Bu, basitçe, sunucunun önceden tanımlanmış kombinasyonu algıladığında yürüteceği komut olacaktır. Varsayılan olarak ayarlanan komut, 22 numaralı bağlantı noktasını (bu bağlantı noktasını SSH bağlantı noktanıza değiştirin) yalnızca doğru bağlantı noktası kombinasyonunu yapan IP'ye açmaktır.
- Beşinci, tcpflags = eş Bu satırla, sunucunun kapıyı çalmak için geçerli olarak tanıyacağı paket türlerini belirtiyoruz.

Daha sonra SSH'yi kapatmak için bir bölüm var, varsayılan konfigürasyon yukarıdaki aynı bağlantı noktası sırasından başka bir şey değil, ters sırada.

İşte bazı değişiklikler içeren bir yapılandırma:

 Knockd arka plan programı nasıl başlatılır?

Başlamak için önce dosyayı değiştirmeliyiz (kök olarak) / etc / default / knockd:

nano /etc/default/knockd

Orada şunu söyleyen 12 numaralı satırı değiştiririz: «START_KNOCKD = 0»Ve bunu 0'ı 1 olarak değiştirirsek:«START_KNOCKD = 1«

Bu yapıldıktan sonra şimdi başlatıyoruz:

service knockd start

Ve işte, yapılandırılmış ve çalışıyor.

Knockd up ve run ile Port Knocking!

Önceki yapılandırmada görebileceğiniz gibi, 1000 numaralı bağlantı noktasına, ardından 2000'e ve son olarak 3000'e bir bağlantı noktası vuruşu yapılırsa, 2222 numaralı bağlantı noktası (SSH'm) açılacaktır, burada başka bir bilgisayar bağlantı noktası vuruşu gerçekleştirir:

1 No'lu Knock No.2'de ve son olarak No.3'te [Enter] tuşuna bastığımda port açılacak, işte günlük:

Gördüğünüz gibi, 1000 numaralı bağlantı noktasını çaldığınızda, aşama 1 kaydedildi, sonra 2000'de aşama 2 olacak ve son olarak 3 ile 3000 olacak, bunu yaparken .conf'ta belirttiğim komut çalıştırılıyor ve işte bu.

O zaman bağlantı noktasını kapatmak için sadece 9000, 8000 ve son olarak 7000'i vurmak gerekir, işte günlük:

Ve işte burada kullanım açıklaması bitiyor 😀

Gördüğünüz gibi, Port Knocking gerçekten ilginç ve kullanışlıdır, çünkü belirli bir port kombinasyonundan sonra sadece bir port açmak istemesek de, sunucunun çalıştıracağı komut veya sıra değişebilir, yani ... bir bağlantı noktası açarak, bir işlemi sonlandırmak için ilan edebiliriz, apache veya mysql gibi bir hizmeti durdurabiliriz ... sınır sizin hayal gücünüzdür.

Bağlantı Noktası Kapatma, yalnızca fiziksel bir sunucunuz olduğunda veya sanal sunucu KVM teknolojisi olduğunda çalışır. VPS'niz (sanal sunucu) OpenVZ ise Port Knocking iptables'ı doğrudan değiştiremediğiniz için sizin için çalıştığını sanmıyorum

Şimdiye kadar makale… Bu konuda açık ara uzman değilim ama bu çok ilginç süreci sizlerle paylaşmak istedim.

Selamlar 😀


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   erunamoJAZZ dijo

    Mükemmel makale, oldukça ilginç ve var olduğunu bilmiyordum ... acemi sysadmin için makaleler yayınlamaya devam ederseniz harika olurdu ve bu 😀

    Selamlar ve teşekkürler ^ _ ^

    1.    KZKG ^ Gaara dijo

      Yorum için teşekkürler.
      Evet ... FICO'nun DNS'indeki makaleler ile LOL'un gerisinde kalmak istemiyorum !!!

      Ciddi bir şey yok. Birkaç ay önce Port Knocking hakkında bir şeyler duydum ve hemen dikkatimi çekti, ancak o anda çok karmaşık olacağını düşündüğüm için içeri girmeye karar vermedim, sadece dün depodaki bazı paketleri gözden geçirerek knockd'u keşfettim ve denemeye karar verdim ve işte eğitim.

      Her zaman teknik makaleler yazmayı sevmişimdir, bazıları yeterince ilginç olmayabilir ama ... Umarım diğerleri öyledir 😉

      selamlar

    2.    Mario dijo

      Merhaba, bu makalenin bir süredir ortalıkta olduğunu biliyorum ama birisinin benim için çözüp çözemeyeceğini görmek için sorgumu gönderiyorum.
      Gerçek şu ki, yerel ağın dışından bağlandığımda güvenliği artırmaya çalışmak için ahududuya bağlantı noktası çalmayı uyguladım. Bunun çalışması için makineye yönlendiren 7000-9990 yönlendirici üzerindeki bağlantı noktalarını açmam gerekiyordu. Yönlendiricideki bu bağlantı noktalarını açmak güvenli midir yoksa tam tersine, daha fazla güvenlik sağlamaya çalışırken, tam tersini mi yapıyorum?

      Bir tebrik ve teşekkürler.

  2.   hiç dijo

    Harika, yıllardır sistem yöneticisiyim ve onu tanımıyordum.
    Bir soru ... "kapıyı" nasıl yaparsınız?
    Bu bağlantı noktalarına karşı telnet yapıyor musunuz? Telnet size ne cevap veriyor? Yoksa bazı "vur" dalga komutu var mı?
    Harika havalı makale. Muhteşem. Çok teşekkürler

    1.    KZKG ^ Gaara dijo

      Testi telnet ile yaptım ve her şey harikalar yarattı ... ama ilginçtir ki bir 'vur' komutu var, adam kapmak böylece görebilirsin 😉

      Telnet bana gerçekten hiç yanıt vermiyor, DROP politikasına sahip iptables onu hiç yanıt vermiyor ve telnet orada bir yanıt bekliyor (asla gelmeyecek), ancak knockd arka plan programı vuruntuyu tanıyacak, hayır olsa bile bir cevap verir 😀

      Yorumunuz için çok teşekkür ederim, makalelerimin hala ^ _ ^ gibi olduğunu bilmek bir zevk.

  3.   st0rmt4il dijo

    Favoriler'e eklendi! : D!

    Teşekkürler!

    1.    KZKG ^ Gaara dijo

      Teşekkürler 😀

  4.   dhunter dijo

    Ahh güvenlik, bilgisayarı şakulana sabitlediğimizde ve daha sonra günler / haftalar sonra uzak bir yerden bağlanmaya çalışırken duyduğumuz o hoş duygu, çünkü güvenlik duvarı "kimse için kimse yok" modunda, buna kalma denir sistem yöneticileri açısından kalenin dışında. 😉

    Bu yüzden bu gönderi çok kullanışlı, knockd ile yerel ağınıza paket gönderebilecek her yerden erişebiliyorsunuz ve saldırganlar ssh portunun kapalı olduğunu görünce ilgisini kaybediyor, kapıyı çalacaklarını sanmıyorum limanı açmak için kaba kuvvet.

  5.   Manuel dijo

    Hey, makale harika.

    Bir şey: yerel ağın dışından bağlanmaya hizmet ediyor mu?

    Bunu söylüyorum çünkü bağlantı noktaları kapalı olan yönlendiricim eksi sunucuya yeniden yönlendirilen ssh'ye karşılık gelen yönlendiriciye sahibim.

    Lokal ağın dışından çalışabilmesi için yönlendiricinin Port Knocking'e karşılık gelen portlarını açıp sunucuya yönlendirmek gerekeceğini hayal ediyorum.

    Mmm ...

    Bunu yapmanın ne kadar güvenli olduğunu bilmiyorum.

    Sen ne düşünüyorsun

    1.    KZKG ^ Gaara dijo

      Çok emin değilim, testi yapmadım ama bence evet, yönlendirici üzerindeki portları açmalısınız aksi halde sunucuyu deviremezsiniz.

      Yönlendiricideki bağlantı noktalarını açmadan testi yapın, sizin için işe yaramazsa utanç verici, çünkü size katılıyorum, yönlendiricide bu bağlantı noktalarını açmanız tavsiye edilmez.

      1.    Manuel dijo

        Doğrusu, portları açmalı ve aradığımız bilgisayara yönlendirmeliyiz.

        Yazık.

  6.   rabbi08 dijo

    Harika, çok teşekkür ederim! Ağ kariyerini incelemeye yeni başladım ve bu eğitimler benim için harika! bilgiyi paylaşmak için zaman ayırdığınız için teşekkürler

    1.    KZKG ^ Gaara dijo

      Yıllar boyunca küresel Linux topluluğu ile çok şey öğrendim ... birkaç yıldır ben de katkıda bulunmak istedim, tam da bu yüzden yazıyorum 😀

  7.   Janus981 dijo

    Çok teşekkür ederim, bana nasıl yardımcı olacağını bilmiyorsun, bir sunucu kurmak üzereyim ve bu benim için harika gidiyor.

    selamlar

    1.    KZKG ^ Gaara dijo

      Yardım etmek için bunun için varız 😉

  8.   Jean ventura dijo

    Harika makale! Bunun hakkında hiçbir bilgim yoktu ve bana çok yardımcı oluyor (KVM kullanan RackSpace kullanıyorum, bu yüzden bana bir eldiven gibi uyuyor!). Sık kullanılanlara eklendi.

    1.    KZKG ^ Gaara dijo

      Yorum yaptığınız için teşekkürler 🙂

  9.   yosun dijo

    Her zamanki gibi DesdeLinux Bize eyleme dönüştürülmesi gerçekten yararlı olan öğreticiler içeren mükemmel gönderiler getiriyor, paylaştığınız için teşekkürler!! 🙂

    1.    KZKG ^ Gaara dijo

      Yorumunuz için teşekkürler 🙂
      Evet, okuyucularımızın sahip olduğu bilgi için her zaman bu susuzluğu gidermeye çalışıyoruz 😀

  10.   timbleck dijo

    İlginç, seçeneği bilmiyordum.
    Doğruca pirzola kütüphanemi beslemeye gidin.
    Teşekkürler!

    1.    KZKG ^ Gaara dijo

      Benim için bir zevk 😀
      selamlar

  11.   Frederick. A. Valdés Toujague dijo

    Selamlar KZKG ^ Gaara !!! Sıktın. Sunucuları güvenli hale getirmek için muazzam bir makale. Böyle bir şeyin var olduğuna dair @% * & ^ fikri yok. Deneyeceğim. teşekkür ederim

  12.   Beyaz ^ kolye dijo

    bu harika…. ^ - ^

  13.   LearnLinux dijo

    Merhaba, CentOS 5.x'e nasıl kurulacağını açıklar mısınız?

    Rpm'yi indirdim:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Kurulmuş:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Yapılandırma dosyasını 15 saniye süreli ve ssh ile vps'ime bağlanmak için kullandığım bağlantı noktasını yapılandırın

    İblis başlıyor:
    / usr / sbin / knockd &

    Ben telnet ve bağlantı noktası kapanmaz, varsayılan olarak bağlantı noktası açıktır, ancak kapanmaz.

    Yanlış bir şey mi yapıyorum?

  14.   merhaba dijo

    Mmmm, bu bağlantı noktalarına gelen telnet istekleri yerel ağımızın yöneticisi veya servis sağlayıcımız tarafından öğrenilebilir, hayır? Bu harici kişileri engeller ama onları engellemez, bu nedenle bağlantı noktamızı etkinleştirmek isterlerse bunu yapabilirler çünkü Bkz. Yaptığımız istekleri mmm koruyor diyelim ama% 100 değil

    1.    Roberto dijo

      Olabilir, ancak belirli bir telnet'in X eylemi yürüttüğünü hayal edeceklerini sanmıyorum. Aynı telnet modellerinin takip edildiğini görmedikçe.

  15.   Pablo Andres Diaz Arambüro dijo

    İlginç makale, bir sorum var. Yapılandırma dosyası görüntüsünde bir hata olduğunu düşünüyorum, çünkü iyi analiz ederseniz, komutun her iki satırında da Iptables'da ACCEPT kullanıyorsunuz. Bence biri KABUL, diğeri REDDETMELİDİR.

    Aksi takdirde, mükemmel bir girişim. Bilginizi başkalarına açıklamak için zaman ayırdığınız için çok teşekkür ederim.

    selamlar