SSH Sunucunuzu Korumanın En İyi Yolları

Oct 15, 2025
Gizlilik ve güvenlik
Eny Setiyowati / Shutterstock.com

Sisteminizi ve verilerinizi korumak için Linux sisteminizin SSH bağlantısını güvence altına alın. Sistem yöneticilerinin ve ev kullanıcılarının benzer şekilde internete bakan bilgisayarları sağlamlaştırması ve güvenliğini sağlaması gerekir, ancak SSH karmaşık olabilir. İşte SSH sunucunuzu korumanıza yardımcı olacak on kolay hızlı kazanç.

SSH Güvenliği Temelleri

SSH kısaltması Güvenli Kabuk . "SSH" adı, SSH protokolünün kendisi veya sistem yöneticilerinin ve kullanıcıların bu protokolü kullanarak uzak bilgisayarlara güvenli bağlantılar kurmasına olanak tanıyan yazılım araçları anlamında birbirinin yerine kullanılır.

SSH protokolü, internet gibi güvenli olmayan bir ağ üzerinden güvenli bir bağlantı sağlamak için tasarlanmış şifreli bir protokoldür. Linux'ta SSH, OpenSSH proje. Bir klasik istemci-sunucu modeli , SSH istemcilerinden gelen bağlantıları kabul eden bir SSH sunucusu ile. İstemci, sunucuya bağlanmak ve Görüntüle uzak kullanıcıya oturum. Sunucu bağlantıyı kabul eder ve yürütür oturum.

Varsayılan yapılandırmasında bir SSH sunucusu, İletim Kontrol Protokolü ( TCP ) bağlantı noktası 22. Çünkü bu standart bir tanınmış liman için bir hedef tehdit aktörleri ve kötü niyetli botlar .

Tehdit aktörleri, açık bağlantı noktaları arayan bir dizi IP adresini tarayan botları başlatır. Bağlantı noktaları daha sonra istismar edilebilecek güvenlik açıkları olup olmadığını görmek için incelenir. "Güvendeyim, kötü adamların hedef alması için benden daha büyük ve daha iyi hedefler var" diye düşünmek yanlış bir mantıktır. Botlar herhangi bir liyakate göre hedef seçmiyor; sistematik olarak ihlal edebilecekleri sistemleri arıyorlar.

Sisteminizin güvenliğini sağlamadıysanız, kendinizi kurban olarak aday gösterirsiniz.

Güvenlik Sürtünmesi

Güvenlik sürtüşmesi, güvenlik önlemlerini uyguladığınızda kullanıcıların ve diğerlerinin yaşayacağı rahatsızlıktır. Uzun anılarımız var ve yeni kullanıcıları bir bilgisayar sistemine tanıttığımızı ve onların dehşet bir sesle sorup sormadıklarını hatırlayabiliyoruz. Gerçekten mi bir şifre girmek zorunda kaldı her zaman ana bilgisayara giriş yaptılar. Onlara göre bu güvenlik sürtüşmesiydi.

(Bu arada, parolanın icadı, Fernando J. Corbató , bilgisayar bilimcileri panteonundaki bir başka figür, birleşik çalışmaları, Unix .)

Güvenlik önlemlerinin alınması genellikle birileri için bir tür sürtüşme içerir. İşletme sahipleri bunun bedelini ödemek zorundadır. Bilgisayar kullanıcılarının aşina oldukları uygulamaları değiştirmeleri veya başka bir kimlik doğrulama ayrıntıları kümesini hatırlamaları veya başarılı bir şekilde bağlanmak için fazladan adımlar eklemeleri gerekebilir. Sistem yöneticilerinin yeni güvenlik önlemlerini uygulamak ve sürdürmek için yapacak ek işleri olacaktır.

Linux veya Unix benzeri bir işletim sistemini sertleştirmek ve kilitlemek çok hızlı bir şekilde işin içine girebilir. Burada sunduğumuz şey, üçüncü taraf uygulamalara ihtiyaç duymadan ve güvenlik duvarınızı kazmadan bilgisayarınızın güvenliğini artıracak bir dizi uygulaması kolay adımdır.

Bu adımlar, SSH güvenliğinde son söz değildir, ancak sizi varsayılan ayarlardan çok fazla sürtünme olmadan çok ileriye taşıyacaklardır.

SSH Protokolü Sürüm 2'yi kullanın

2006 yılında, SSH protokolü sürüm 1'den versiyon 2 . Bu önemli bir yükseltmeydi. Versiyon 2'nin versiyon 1 ile geriye dönük olarak uyumlu olmadığı, özellikle şifreleme ve güvenlikle ilgili o kadar çok değişiklik ve gelişme oldu. Versiyon 1 istemcilerinden gelen bağlantıları önlemek için, bilgisayarınızın sadece versiyon 2 istemcilerinden gelen bağlantıları kabul edeceğini şart koşabilirsiniz.

Bunu yapmak için düzenleyin / etc / ssh / sshd_config dosya. Bunu bu makale boyunca çokça yapacağız. Bu dosyayı düzenlemeniz gerektiğinde, kullanacağınız komut budur:

sudo gedit / etc / ssh / sshd_config

Satırı ekleyin:

Protokol 2

Ve dosyayı kaydedin. SSH arka plan programı sürecini yeniden başlatacağız. Yine, bunu bu makale boyunca sık sık yapacağız. Bu, her durumda kullanılacak komuttur:

sudo systemctl sshd'yi yeniden başlat

Yeni ayarımızın yürürlükte olup olmadığını kontrol edelim. Farklı bir makineye atlayacağız ve test makinemize SSH yapmaya çalışacağız. Ve biz kullanacağız -1 (protokol 1) seçeneği ssh protokol sürüm 1'i kullanma komutu.

ssh -1 [email protected]

Harika, bağlantı talebimiz reddedildi. Yine de protokol 2 ile bağlantı kurabildiğimizden emin olalım. -2 (protokol 2) gerçeği kanıtlama seçeneği.

ssh -2 [email protected]

SSH sunucusunun şifremizi istemesi, bağlantının yapıldığının ve sunucuyla etkileşimde bulunduğunuzun olumlu bir göstergesidir. Aslında, modern SSH istemcileri varsayılan olarak protokol 2'yi kullanacaklarından, istemcimiz güncel olduğu sürece protokol 2'yi belirtmemize gerek yoktur.

ssh [email protected]

Ve bağlantımız kabul edildi. Dolayısıyla reddedilenler yalnızca daha zayıf ve daha az güvenli olan 1. protokol bağlantılarıdır.

Bağlantı Noktası 22'den Kaçının

Bağlantı noktası 22, SSH bağlantıları için standart bağlantı noktasıdır. Farklı bir bağlantı noktası kullanırsanız, sisteminize belirsizlik yoluyla biraz güvenlik ekler. Belirsizlik yoluyla güvenlik hiçbir zaman gerçek bir güvenlik önlemi olarak görülmez ve ben başka makalelerde buna karşı çıktım. Aslında, daha akıllı saldırı botlarından bazıları, basit bir bağlantı noktası listesine güvenmek ve normal hizmetleri sağladıklarını varsaymak yerine, tüm açık bağlantı noktalarını araştırır ve hangi hizmeti taşıdıklarını belirler. Ancak standart olmayan bir bağlantı noktası kullanmak, 22 numaralı bağlantı noktasındaki gürültüyü ve kötü trafiği azaltmaya yardımcı olabilir.

Standart olmayan bir bağlantı noktasını yapılandırmak için SSH yapılandırma dosyanızı düzenleyin:

sudo gedit / etc / ssh / sshd_config

"Bağlantı Noktası" satırının başındaki karma numarayı kaldırın ve "22" yi seçtiğiniz bağlantı noktası numarasıyla değiştirin. Yapılandırma dosyanızı kaydedin ve SSH arka plan programını yeniden başlatın:

sudo systemctl sshd'yi yeniden başlat

Bunun nasıl bir etkisi olduğunu görelim. Diğer bilgisayarımızda kullanacağız ssh sunucumuza bağlanmak için komut. ssh komut varsayılan olarak 22 numaralı bağlantı noktasını kullanır:

ssh [email protected]

Bağlantımız reddedildi. Tekrar deneyelim ve -p (bağlantı noktası) seçeneğini kullanarak 470 numaralı bağlantı noktasını belirleyelim:

ssh -p 479 [email protected]

Bağlantımız kabul edildi.

TCP Wrappers Kullanarak Bağlantıları Filtreleme

TCP Wrappers, anlaşılması kolaydır erişim kontrol Listesi . IP adresi veya ana bilgisayar adı gibi bağlantı isteğinin özelliklerine göre bağlantıları dışlamanıza ve izin vermenize olanak tanır. TCP sarmalayıcıları, uygun şekilde yapılandırılmış bir güvenlik duvarı yerine değil, bununla birlikte kullanılmalıdır. Bizim özel senaryomuzda, TCP sarmalayıcıları kullanarak işleri önemli ölçüde sıkıştırabiliriz.

Bu makaleyi araştırmak için kullanılan Ubuntu 18.04 LTS makinesine TCP sarmalayıcılar zaten yüklenmişti. Manjaro 18.10 ve Fedora 30'a yüklenmesi gerekiyordu.

Fedora'ya yüklemek için şu komutu kullanın:

sudo yum install tcp_wrappers

Manjaro'ya yüklemek için şu komutu kullanın:

sudo pacman -Syu tcp-sarmalayıcılar

İlgili iki dosya var. Biri izin verilenler listesini, diğeri ise reddedilenler listesini tutar. Reddetme listesini aşağıdakileri kullanarak düzenleyin:

sudo gedit /etc/hosts.deny

Bu açacak gedit Reddet dosyasının yüklü olduğu düzenleyici.

Şu satırı eklemeniz gerekiyor:

TÜM: TÜM

Ve dosyayı kaydedin. Bu, yetkilendirilmemiş tüm erişimi engeller. Şimdi kabul etmek istediğiniz bağlantılara yetki vermemiz gerekiyor. Bunu yapmak için, izin dosyasını düzenlemeniz gerekir:

sudo gedit /etc/hosts.allow

Bu açacak gedit izin dosyası yüklü olan düzenleyici.

SSH arka plan programı adını ekledik, SSHD Ve bağlantı kurmasına izin vereceğimiz bilgisayarın IP adresi. Dosyayı kaydedin ve kısıtlamaların ve izinlerin yürürlükte olup olmadığını görelim.

İlk olarak, içinde olmayan bir bilgisayardan bağlanmaya çalışacağız. hosts.allow dosya:

Bağlantı reddedildi. Şimdi makineden 192.168.4.23 IP adresine bağlanmayı deneyeceğiz:

Bağlantımız kabul edildi.

Buradaki örneğimiz biraz acımasızdır - yalnızca tek bir bilgisayar bağlanabilir. TCP sarmalayıcıları oldukça çok yönlüdür ve bundan daha esnektir. Destekler ana bilgisayar adları, joker karakterler ve alt ağ maskeleri IP adresi aralıklarından gelen bağlantıları kabul etmek için. Teşvik edilirsin man sayfasına bakın .

Şifresiz Bağlantı Taleplerini Reddet

Kötü bir uygulama olmasına rağmen, bir Linux sistem yöneticisi parolasız bir kullanıcı hesabı oluşturabilir. Bu, o hesaptan gelen uzaktan bağlantı isteklerinin kontrol edilecek parolası olmayacağı anlamına gelir. Bu bağlantılar kabul edilecek ancak doğrulanmayacaktır.

SSH için varsayılan ayarlar, şifresiz bağlantı isteklerini kabul eder. Bunu çok kolay bir şekilde değiştirebilir ve tüm bağlantıların doğrulanmasını sağlayabiliriz.

SSH yapılandırma dosyanızı düzenlememiz gerekiyor:

sudo gedit / etc / ssh / sshd_config

Dosyada "#PermitEmptyPasswords no" yazan satırı görene kadar ilerleyin. Hash'i kaldırın # satırın başından itibaren dosyayı kaydedin. SSH arka planını yeniden başlatın:

sudo systemctl sshd'yi yeniden başlat

Parola Yerine SSH Anahtarlarını Kullanın

SSH anahtarları, bir SSH sunucusunda oturum açmak için güvenli bir yol sağlar. Parolalar tahmin edilebilir, kırılabilir veya kaba kuvvetli . SSH anahtarları bu tür saldırılara açık değildir.

SSH anahtarları oluşturduğunuzda, bir anahtar çifti oluşturursunuz. Biri genel anahtar, diğeri ise özel anahtardır. Ortak anahtar, bağlanmak istediğiniz sunuculara yüklenir. Özel anahtar, adından da anlaşılacağı gibi, kendi bilgisayarınızda güvende tutulur.

SSH anahtarları, parola olmadan — sezgiye aykırı olarak — parola doğrulaması kullanan bağlantılardan daha güvenli bağlantılar kurmanıza olanak tanır.

Bir bağlantı isteğinde bulunduğunuzda, uzak bilgisayar, bilgisayarınıza geri gönderilen şifreli bir mesaj oluşturmak için kendi genel anahtarınızın kopyasını kullanır. Genel anahtarınızla şifrelendiğinden, bilgisayarınız özel anahtarınızla şifresini çözebilir.

Bilgisayarınız daha sonra mesajdan bazı bilgileri, özellikle de oturum kimliğini çıkarır, şifreler ve sunucuya geri gönderir. Sunucu, sizin genel anahtarınızın kopyasıyla şifresini çözebilirse ve mesajın içindeki bilgiler sunucunun size gönderdiği bilgilerle eşleşirse, bağlantınızın sizden geldiği onaylanır.

Burada 192.168.4.11'de SSH anahtarlı bir kullanıcı tarafından sunucuya bağlantı yapılmaktadır. Parola istenmediğini unutmayın.

ssh [email protected]

SSH anahtarları bir makaleyi tamamen hak eder. Elbette, sizin için bir tane var. İşte SSH anahtarları nasıl oluşturulur ve yüklenir .

İLİŞKİLİ: Linux Kabuğundan SSH Anahtarları Nasıl Oluşturulur ve Kurulur

Parola Kimlik Doğrulamasını Tamamen Devre Dışı Bırak

Elbette, SSH anahtarlarını kullanmanın mantıksal uzantısı, tüm uzak kullanıcılar bunları benimsemeye zorlanırsa, parola kimlik doğrulamasını tamamen kapatabilmenizdir.

SSH yapılandırma dosyanızı düzenlememiz gerekiyor:

sudo gedit / etc / ssh / sshd_config

"#PasswordAuthentication yes" ile başlayan satırı görene kadar dosyada ilerleyin. Hash'i kaldırın # satırın başından itibaren "evet" i "hayır" olarak değiştirin ve dosyayı kaydedin. SSH arka planını yeniden başlatın:

sudo systemctl sshd'yi yeniden başlat

X11 Yönlendirmeyi Devre Dışı Bırak

X11 yönlendirme, uzak kullanıcıların bir SSH oturumu üzerinden sunucunuzdan grafik uygulamaları çalıştırmasına olanak tanır. Bir tehdit aktörünün veya kötü niyetli kullanıcının elinde, bir GUI arayüzü kötü niyetli amaçlarını kolaylaştırabilir.

Siber güvenlikte standart bir mantra, eğer onu açmak için iyi bir nedeniniz yoksa kapatın. Bunu SSH yapılandırma dosyanızı düzenleyerek yapacağız:

sudo gedit / etc / ssh / sshd_config

"# X11 Yönlendirme no" ile başlayan satırı görene kadar dosyada ilerleyin. Hash'i kaldırın # satırın başından itibaren dosyayı kaydedin. SSH arka planını yeniden başlatın:

sudo systemctl sshd'yi yeniden başlat

Boşta Kalma Zaman Aşımı Değeri Ayarlayın

Bilgisayarınıza kurulmuş bir SSH bağlantısı varsa ve üzerinde belirli bir süre herhangi bir etkinlik yoksa, bir güvenlik riski oluşturabilir. Kullanıcının masasından ayrılma ve başka bir yerde meşgul olma ihtimali vardır. Masasının önünden geçen herkes oturup bilgisayarını ve SSH aracılığıyla bilgisayarınızı kullanmaya başlayabilir.

Bir zaman aşımı sınırı belirlemek çok daha güvenlidir. Etkin olmayan süre zaman sınırına uyarsa SSH bağlantısı kesilecektir. Bir kez daha SSH yapılandırma dosyanızı düzenleyeceğiz:

sudo gedit / etc / ssh / sshd_config

"#ClientAliveInterval 0" ile başlayan satırı görene kadar dosyada ilerleyin. Karmayı kaldırın # Satırın başından itibaren 0 rakamını istediğiniz değere değiştirin. 5 dakika olan 300 saniye kullandık. Dosyayı kaydedin ve SSH arka plan programını yeniden başlatın:

sudo systemctl sshd'yi yeniden başlat

Parola Girişimleri İçin Bir Sınır Belirleyin

Kimlik doğrulama girişimlerinin sayısında bir sınır belirlemek, parola tahminini ve kaba kuvvet saldırılarını engellemeye yardımcı olabilir. Belirlenen kimlik doğrulama isteği sayısından sonra, kullanıcının SSH sunucusuyla bağlantısı kesilecektir. Varsayılan olarak, sınır yoktur. Ancak bu hızla giderildi.

Yine, SSH yapılandırma dosyanızı düzenlememiz gerekiyor:

sudo gedit / etc / ssh / sshd_config

"#MaxAuthTries 0" ile başlayan satırı görene kadar dosyada ilerleyin. Hash'i kaldırın # Satırın başından itibaren 0 rakamını istediğiniz değere değiştirin. Burada 3 kullandık. Değişikliklerinizi yaptığınızda dosyayı kaydedin ve SSH arka plan programını yeniden başlatın:

sudo systemctl sshd'yi yeniden başlat

Bunu, bağlanmaya çalışarak ve kasıtlı olarak yanlış bir şifre girerek test edebiliriz.

MaxAuthTries sayısının, kullanıcıya izin verilen deneme sayısından bir fazla göründüğünü unutmayın. İki kötü denemeden sonra test kullanıcımızın bağlantısı kesilir. Bu, MaxAuthTries'in üçe ayarlanmasıyla yapıldı.

Kök Oturum Açmayı Devre Dışı Bırak

Linux bilgisayarınızda kök olarak oturum açmak kötü bir uygulamadır. Normal bir kullanıcı olarak giriş yapmalı ve sudo kök ayrıcalıkları gerektiren eylemler gerçekleştirmek için. Dahası, root'un SSH sunucunuzda oturum açmasına izin vermemelisiniz. Yalnızca normal kullanıcıların bağlanmasına izin verilmelidir. Bir idari görevi yerine getirmeleri gerekiyorsa, kullanmaları gerekir sudo çok. Bir kök kullanıcının oturum açmasına izin vermek zorunda kalırsanız, en azından onu SSH anahtarlarını kullanmaya zorlayabilirsiniz.

Son kez, SSH yapılandırma dosyanızı düzenlememiz gerekecek:

sudo gedit / etc / ssh / sshd_config

"#PermitRootLogin yasak-şifre" ile başlayan satırı görene kadar dosyada ilerleyin. Karmayı kaldırın # satırın başından itibaren.

  • Root'un oturum açmasını tamamen önlemek istiyorsanız, "yasak-şifre" yerine "hayır" yazın.
  • Root'un oturum açmasına izin verecekseniz ancak onları SSH anahtarlarını kullanmaya zorlayacaksanız, "parola yasakla" yı yerinde bırakın.

Değişikliklerinizi kaydedin ve SSH arka planını yeniden başlatın:

sudo systemctl sshd'yi yeniden başlat

Nihai Adım

Elbette, bilgisayarınızda SSH'nin çalışmasına hiç ihtiyacınız yoksa, devre dışı bırakıldığından emin olun.

sudo systemctl stop sshd
sudo systemctl sshd'yi devre dışı bırak

Pencereyi açmazsanız kimse içeri giremez.

The Best Ways To Secure Your SSH Server

How To Secure Linux SSH Server

How To Secure And Protect SSH Server

How To Secure A Server

Fail2ban Tutorial | How To Secure Your Server

How To Secure A Linux Server With UFW, SSH Keygen, Fail2ban & Two Factor Authentication

🔒 Securing SSH Server: Configuration

Beginners Guide To SSH


Gizlilik ve güvenlik - En Popüler Makaleler

Akıllı TV'niz İçin Gerçekten Antivirüse İhtiyacınız Var mı?

Gizlilik ve güvenlik Jun 17, 2025

Samsung Samsung, Samsung akıllı TV'nizde "birkaç haftada bir" virüs taraması yapmanız gerektiğini söylüyor. Şirket McAfee antivirüsünü TV..


Akıllı Ofis Hizmetleri Nedir ve Bunları Kapatmalısınız?

Gizlilik ve güvenlik Jan 17, 2025

Microsoft’un temel Office 365 istemci uygulamaları (Word, Excel, PowerPoint ve Outlook), "Office Intelligent Services" i etkinleştirmenize olanak tanıyan bir ayar içerir. Öyl..


Yeni Chromecast'inizi Nasıl Kurarsınız?

Gizlilik ve güvenlik Feb 5, 2025

Google'ın Chromecast biridir TV'nizde hemen her şeyi izlemenin en kolay, en ucuz yolları . Nasıl kuracağınız aşağıda açıklanmıştır. ..


Android'de Fotoğraf EXIF ​​Verileri Nasıl Görüntülenir (ve Düzenlenir)

Gizlilik ve güvenlik Apr 14, 2025

İLİŞKİLİ: EXIF Verisi Nedir ve Fotoğraflarımdan Nasıl Kaldırabilirim? Fotoğraf EXIF ​​verileri, bir resimle ilgil..


Güvenilmeyen Bilgisayarlarda Çevrimiçi Bankacılık ve E-postaya Güvenle Erişin

Gizlilik ve güvenlik Mar 10, 2025

BAĞLANMAMIŞ İÇERİK Çevrimiçi bankacılık veya e-posta parolalarınızı güvenilmeyen bir bilgisayarda - özellikle halka açık bir yerde - girmek risklidir. Üzerinde Li..


Kaldıramıyorsanız Java Güvenlik Sorunlarından Nasıl Korunursunuz?

Gizlilik ve güvenlik Jan 21, 2025

BAĞLANMAMIŞ İÇERİK Java, yıllardır tarayıcı açıklarının en önemli kaynağı olmuştur. Yeni bir acil durum yamasından sonra bile Java hala savunmasızdır. Kendimiz..


Android Uygulama İzinleri Nasıl Kısıtlanır

Gizlilik ve güvenlik Jun 6, 2025

BAĞLANMAMIŞ İÇERİK Android, uygulamayı kullanmak istediğinizi varsayarak sizi bir uygulamanın istediği her izni kabul etmeye zorlar. Cihazınızı köklendirdikten sonra,..


TeamViewer ile Bilgisayar Kullanıcılarına Uzaktan Yardım Edin

Gizlilik ve güvenlik Sep 1, 2025

Uzak yazılımdan önce, arkadaşlarınıza ve ailenize bilgisayar sorunları konusunda yardımcı olmak, genellikle telefonda bir menünün neye benzediğini veya bir dosyanın nereye kayded..


Kategoriler