Ubuntu ve Debian’da Bağlantı Noktasını Çalma yoluyla SSH’nin güvenliğini sağlama
Bağlantı Noktası Knocking aslında 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 . belirli bir bağlantı noktası verir. Bu yazıda Ubuntu ve Debian’da Port Knocking aracılığıyla SSH güvenliği oluşturma yöntemi anlatılmaktadır.
Peki neden güvenli olduğunu belirttik? 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 veya küresel İnternet ağı üzerinden güvenli değildir. Bu durumda güvenli bir protokolün boş alanı görünür.
SSH kurarak güvenli protokolün boşluğunu dolduruyoruz. Linux sanal sunucusu satın aldıktan sonra ona bağlanmak için en iyi protokol SSH’dir. Şimdi SSH’yi daha güvenli hale getirmek için ne yapmalıyız? SSH güvenliği oluşturmanın farklı yolları vardır, 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?
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. Port Knocking yönteminde genellikle tüm portlar kullanılamaz durumdadır ve belirli bir portu bağlantı için açmaya yönelik bir yöntem düşünülür. Diyelim ki elimizde üç düğme var, bunlara doğru sırayla basıldığında giriş portu açılıyor ve bunlardan birine bile basma sırası doğru değilse port kapalı kalıyor.
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 durumdadır 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 Brute-Force gibi saldırıların işgalinin önemli ölçüde azalmasıdır.
Portun 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, knockd’ı 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 gerekiyor. [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. Sistem önyüklemesi sırasında 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.
son söz
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ı takip ederek aslında güvenlik duvarına sunucuya erişebilmemiz için özel bir port açması için sinyal gönderdiğimizi gördük.