blog posts

SSH Hizmetini Güvenli Hale Getirmek İçin Bağlantı Noktası Knocking Nasıl Kullanılır (Debian/Ubuntu)

Yazıyı okumaya başladığınızda aklınıza SSH nedir, kullanım alanları nelerdir diye bir soru gelebilir. Bu yüzden SSH kavramı ve protokolü hakkında kısa bir açıklama ile başlayacağız. SSH aslında bir bilgisayara veya sunucuya uzaktan bağlantı için güvenli bir protokoldür . Peki neden güvenli olduğunu belirtiyoruz?

Bağlantı Noktası Knocking, Linux’ta yetkili kullanıcıları tanımlayan ve kapalı bağlantı noktalarını ve doğru bağlantı noktası çalma sırasını kullanarak sunucuya erişmelerine olanak tanıyan bir kimlik doğrulama mekanizmasına sahip bir savunma katmanıdır. Bu yöntemde tüm sunucu portları (kullanımda olanlar dahil) kapatılır ve eğer port vuruşunun doğru sırası ile bağlantı isteği gönderilirse, güvenlik duvarı dinamik ve anlık olarak kurallarını değiştirir ve bir port açarak kullanıcıya erişime izin verir. özel bağlantı noktası. Verir. Bu makalede Ubuntu ve Debian’da Bağlantı Noktası Knocking yoluyla SSH güvenliği oluşturma yöntemi açıklanmaktadır.

TelNet adı verilen, bilgisayarların internete ihtiyaç duymadan ve yerel olarak kolaylıkla iletişim kurabildiği bir protokol bulunmaktadır ancak bu protokol üzerinden kurulan yerel bağlantı, uzun vadede ve küresel İnternet ağı üzerinden güvenli değildir. İşte bu durumda güvenli protokolün boş yeri görülüyor.

SSH kurarak güvenli protokolün boşluğunu dolduruyoruz. Bir Linux sanal sunucusu satın aldıktan sonra , ona bağlanmak için en iyi protokol SSH’dir. Peki SSH’yi daha güvenli hale getirmek için ne yapmalıyız? SSH güvenliği oluşturmanın farklı yolları mevcut, bu yazımızda Ubuntu ve Debian’da SSH Port Knocking yöntemini anlatacağız.

 

İçindekiler

  • Port Knocking ile SSH Nasıl Güvenli Hale Getirilir?
  • Ubuntu ve Debian’da SSH’yi Port Knocking yöntemiyle güvence altına almanın faydaları nelerdir?
  • Ubuntu ve Debian’da Bağlantı Noktası Knocking yoluyla SSH güvenliği oluşturma adımları

 

Port Knocking ile SSH Nasıl Güvenli Hale Getirilir?

Artık SSH protokolünü kurduktan sonra onu kullanırken daha fazla güvenlik oluşturmamız gerekiyor. Akıllı yollardan biri, Ubuntu’da Port Knocking aracılığıyla SSH güvenliği oluşturmaktır.

SSH protokolü bağlantısının ayarlandığı varsayılan bağlantı noktası bağlantı noktası 22’dir. Bağlantı Noktası Knocking yönteminde genellikle tüm bağlantı noktaları kullanılamaz ve bağlantı için belirli bir bağlantı noktasını açma yöntemi kabul edilir. Diyelim ki üç düğmemiz var; doğru sırayla basıldığında giriş portu açılır ve herhangi birine basma sırası doğru değilse bile port kapalı kalır.

Genel olarak Port Knocking yönteminde, portlara bağlanma sırasının (veya tuşlara doğru basılmasının) doğru olduğu bir sinyal tanımlarız, böylece güvenlik duvarı bu sinyali aldığında istenilen portu bağlantı için kullanılabilir hale getirir. Temel olarak, sunucuya bağlanılacak tüm bağlantı noktaları erişilemez ve görülemez ve oturum açma girişimi başarısız olur. Ancak güvenlik duvarına girme girişimini bir tür bağlantı noktası açma sinyali olarak tanımlıyoruz.

Ve bu sayede istenilen IP SSH üzerinden sunucuya erişebilecektir. Bir Linux sanal sunucusuna nasıl bağlanılacağına ilişkin eğitim serisinin bir parçası olan bu makalede, size Ubuntu’da SSH’yi Bağlantı Noktası Knocking aracılığıyla kendiniz güvence altına alma sürecinden geçmeyi ve SSH protokolü için bir Bağlantı Noktası Knocking sinyali oluşturmayı öğreteceğiz. sunucunuzun.

 

Ubuntu ve Debian’da SSH’yi Port Knocking yöntemiyle güvence altına almanın faydaları nelerdir?

Port Knocking, SSH’yi güvence altına almanın çok basit, ucuz ama akıllı bir yoludur. SSH Port Knocking’in en önemli avantajı, tüm portların port tarayıcılara karşı güvenli olması ve ‘ulaşılamaz’ olarak tanımlanmasıdır. İkinci avantaj, bant genişliği tüketiminin ve kaba kuvvet gibi saldırıların kullanımının önemli ölçüde azalmasıdır.

Bağlantı noktasının giriş için açılması ve kullanıcı çıktıktan sonra kapatılması görevleri Knockd gibi daemon programları tarafından otomatik olarak gerçekleştirilir. Ayrıca bu yöntem sunucuyu saldırganlardan gizler.

 

 

 

Ubuntu ve Debian’da Bağlantı Noktası Knocking yoluyla SSH güvenliği oluşturma adımları

Yazının devamında Ubuntu ve Debian Linux’ta SSH güvenliği için port knocking kurulumu işlemini adım adım anlatacağız. Sunucunun giriş bağlantı noktalarını gizlemek ve Bağlantı Noktası Knocking’i kullanmak için root erişimi olan bir kullanıcı aracılığıyla hareket etmeniz gerektiğini unutmayın.

Adım 1: Linux sunucusuna yükleme ve yapılandırma

Linux sunucunuzda oturum açtıktan sonra, knocked’ı yüklemek için terminal ortamında aşağıdaki komut satırını kullanın:

$ sudo apt install knockd

 

Kurulumdan sonra knockd.conf dosyasını nano editor gibi bir Text Editor yazılımı ile aşağıdaki komut aracılığıyla açın.

sudo nano /etc/knockd.conf

Şimdi bu dosyadaki 3 parametreyi değiştirmemiz gerekiyor.

1. Bu dosyada [openSSH] bölümünü bulun. Vuruş sırası 7000, 8000, 9000 numaralı bağlantı noktalarında ayarlandığından ve herkes tarafından bilindiğinden ve kullanılabilir olduğundan, bunu istediğiniz bağlantı noktalarına ayarlayın. Seçeceğiniz sıra, kullanıcının sunucuya erişimi için güvenlik duvarı için tanımladığımız sıra olacaktır. Daha fazla bağlantı noktası da belirleyebilirsiniz. Bu portları açmamıza gerek olmadığına dikkat edin.

2. iptables komutunda A- parametresini I- olarak değiştirin. Diğer tüm IP’ler sunucuya erişemezken, bu iptables’ı knockd ile çalıştırdıktan sonra, knocking işlemini doğru sırayla gerçekleştiren her IP sunucuya erişebilir.

3. Kullanıcı çıktıktan sonra portun açılmasını engellemek için bunu güvenlik duvarına tanımlamamız gerekir. [closeSSH] bölümünde varsayılan vuruş sırasını istediğiniz değere (10003, 10002, 10001 gibi) ayarlayın. Yeni sıra, kullanıcı çıktıktan sonra bağlantı noktasını kapatmak için kullanılacak sıra olacaktır.

Yukarıdaki üç eylemi başarıyla tamamladıktan sonra değişiklikleri kaydedin ve uygulamadan çıkın. Sunucudaki ağ arayüzünün ana adını görmek için terminalde aşağıdaki komutu çalıştırın:

ip addr

Ayrıca başka bir konfigürasyon dosyasını da düzenlememiz gerekiyor. Terminalde aşağıdaki komutu çalıştırın:

$ sudo nano /etc/default/knockd

START_KNOCKD=0 satırını arayın. Sistemi önyüklerken otomatik başlatmayı etkinleştirmek için parametreyi 0’dan 1’e (START_KNOCKD=1) değiştirin.
Varsayılan olarak knockd, sunucunuz için geçerli olmayabilecek eth0 arayüzü üzerinden geçiş sırasını kontrol eder. Bu arayüzü değiştirmek için aşağıdaki satırı bulun:

#KNOCKD_OPTS="-i eth1"

Şimdi, eth1 arayüzünü sunucunuzun varsayılan arayüzüne değiştirmek için # işaretini kaldırmanız yeterli.

KNOCKD_OPTS="-i ens18"

Değişiklikleri kaydedin ve dosyayı kapatın.
Şimdi devrilen arka plan programını çalıştırmanın ve etkinleştirmenin zamanı geldi. Aşağıdaki komutları çalıştırın:

$ sudo systemctl start knockd
$ sudo systemctl enable knockd

 

Devre dışı bırakılan arka plan programının etkinleştirildiğini kontrol etmek için aşağıdaki komutu çalıştırın:

$ sudo systemctl status knockd

İkinci adım: SSH’deki 22 numaralı bağlantı noktasını kapatın

Ubuntu’da Port Knocking üzerinden SSH güvenlik sürecinin ikinci adımında, artık knockd’ı aktif ettiğimize göre, portları açıp kapatmaktan ve sunucuya erişim vermekten knockd sorumludur. Daha fazla güvenlik için güvenlik duvarındaki 22 numaralı SSH bağlantı noktasını kapatmalıyız. Başlamak için UFW güvenlik duvarının kurallarını ve durumunu aşağıdaki kodla kontrol edin:

$ sudo ufw status numbered

 

Örneğin, 3. ve 9. hatlarda SSH bağlantı noktası 22’nin açık olduğunu görürseniz, bunları kapatmak için aşağıdaki satırları kullanın:

sudo ufw delete 9

sudo ufw delete 3

 

Önce büyük sayının olduğu satırı kapatmanız gerektiğine dikkat edin.

22 numaralı bağlantı noktası kapatıldıktan sonra, SSH sunucusuna uzaktan bağlanma girişimleri ‘bağlantı zaman aşımı’ hatasıyla karşılanacak ve SSH hizmeti isteğinize yanıt vermeyecektir.

3. Adım: Knock Client aracılığıyla SSH sunucusuna bağlanın

Ubuntu ve Debian’da ssh’yi korumak amacıyla bağlantı noktası engellemeyi ayarlama adımlarını tamamlamak için Knock istemcisini nasıl yapılandıracağınızı öğrenmeniz gerekir. Bunun için ayarladığınız sırayla Port Knocking işlemini gerçekleştirin ve sunucuya giriş yapın. Debian veya Ubuntu ortamında, aşağıdaki komutu çalıştırarak devre dışı bırakılan arka plan programını yükleyin:

$ sudo apt install knockd

Kurulumu tamamladıktan sonra aşağıdaki komutu çalıştırarak knock order’ı gönderin.

$ knock -v server_ip knock_sequence

Şimdi, TCP bağlantı noktası 22’de sunucu güvenlik duvarını etkinleştirmek için istemci bilgisayardan doğru vuruş sırasını gönderin .

knock -v 10.0.0.104 10001 10002 10003

 

Doğru sırayı girerek sunucunuza SSH üzerinden giriş yapabilirsiniz. Ayrıca aynı IP ile vurarak port kapatmayı tanımladığınız sırayla portu kapatabilirsiniz.

knock -v 10.0.0.104 10003 10002 10001

 

Knockd yalnızca ana ağ arayüzüne gönderilen knock isteklerine yanıt verdiğinden, sunucunun birden fazla IP’si varsa ve isteği ikincil bir IP’ye gönderirseniz oturum açamazsınız.

Artık Ubuntu’da Port Knocking aracılığıyla SSH güvenliği oluşturma sürecini başarıyla tamamladınız. Şu andan itibaren Knockd, port açma ve kapama işlemlerini otomatik olarak gerçekleştirecek ve port knockd isteklerine yanıt verecektir.

Sonuç

Bu makalede, Ubuntu ve Debian’da Bağlantı Noktası Knocking yoluyla SSH’nin güvenliğini nasıl sağlayacağınızı öğrendiniz. Bu güvenlik yöntemini sunucunuz için tek savunma stratejisi olarak düşünmemenizi ve diğer güvenlik yöntemleriyle birlikte kullanmanızı öneririz.

SSH’nin ne olduğunu ve Port Knocking’in nerelerde kullanıldığını kısaca öğrendik. Port Knocking’in nasıl çalıştığını da öğrendik ve portlara bağlantı isteklerini gönderirken doğru sırayı gözlemleyerek aslında sunucuya erişebilmemiz için güvenlik duvarına özel bir port açması için sinyal gönderdiğimizi gördük.