Kayıt Ol

Giriş

Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Giriş

Kayıt Ol

Canyoupwn.me ~

TR | Linux SSH Sıkılaştırma

SSH Nedir

SSH (Secure Shell) güvenli veri iletimi için kriptografik ağ protokolüdür. SSH bağlantısı bilgisayar-bilgisayar, bilgisayar-sunucu, sunucu-sunucu arasında yapılabilir. SSH uzak kabuk üzerinde yetkili bir metin tabanlı arayüz sağlar. SSH bağlantısı kurulduktan sonra, yerel terminal yazdığınız tüm komutlar şifreli SSH tüneli aracılığıyla uzak sunucuya gönderir ve terminal komutlarınız orada yürütülür. SSH istemci-sunucu modelini kullanır. Standart TCP portu olan 22 SSH bağlantısı için atanmıştır.

Bu kılavuzda, SSH sıkılaştırması için en iyi olan bazı temel güvenlik uygulamaları hakkında örnekler yer alacaktır.

 

SSH Bağlantısı Nasıl Kurulur?

Temelde iki bağlanma yöntemi mevcuttur. Bunlardan birincisi kullanıcı adı ve şifre ile oturum sağlandığı yöntemdir, ikincisi ise SSH key ( SSH açık / gizli anahtar ) yardımı ile oturumun sağlandığı yöntemdir. Şifre oturumları yeni kullanıcılar için anlaşılması kolaydır. Ancak, otomatik botlar ve kötü niyetli kullanıcılar genellikle art arda şifre denemeleri ile güvenlik tavizlerine yol açabilir. Bu yöntem yerine SSH anahtarı yardımı ile oturum sağlanmasını öneriyoruz. Bu yöntemde özel ve genel anahtar çifti kimlik doğrulama öncesinde oluşturulur. Ortak anahtar herkes ile paylaşılabilirken, özel anahtar kullanıcı tarafından güvende tutulmalıdır.

Bu bağlantı yöntemleri dışında SSH versiyonuna göre oturum sağlamak için kullanılabilecek birkaç yöntem daha bulunmaktadır.
Screen Shot 2016-08-13 at 10.44.43

( Solda SSH v2, sağda ise SSH v1’i görmektesiniz. )

 

SSH Sıkılaştırması Yöntemlerinden Bazıları

  • Standart portu değiştirmek
    • SSH kurulumu ile birlikte gelen ayarlarında servis 22. porttan istekleri yanıtlamaktadır. SSH portunu değiştirmek sıkılaştırmanın ilk adımı olarak düşünülebilir.
  • Port yönlendirmelerini kapatmak
    • Port yönlendirmeleri SSH üzerinden diğer servisler ( X11 gibi ) aracılığı ile uzak masaüstü bağlantıkları yapılabilir, bunları kapatabilirsiniz.
  • Şifre ile SSH bağlantılarını engellemek
    • Otomatik port tarayan ve ard arda şifre deneyen (brute-force) kötü niyetli yazılımların hedefinden çıkmamıza yardım edecek adımdır. Portu değiştirmekde bu yöntemi destekleyecektir. Şifre ile oturum sağlanması yerine SSH anahtarları ile oturum sağlayacağız.
  • Root erişiminin kapatılması
    • Sistemdeki en yetkili kullanıcı olan root’a SSH oturumu açılmasını engellemek, sisteme bir şekilde erişim kazanan kötü niyetli kod veya kullanıcıyı yetkisiz kılacaktır. Bu şekilde verilebilecek zarar kısıtlanmış olur.
  • Ana bilgisayar tabanlı kimlik doğrulaması kapatılmalıdır
    • Bulunduğunuz ağda ana bir bilgisayar tarafından sisteme erişimi kapatmanız, ana sisteme yapılan bir saldırıda sunucunuza erişimi engelleyecektir. Bu yuzden ana bilgisayar tabanlı bir kimlik doğrulaması kullanmayacağız.
  • Chroot SSHD (Kullanıcıları kendi ana dizinlerine kilitlemek)
    • Her kullanıcıyı kendi ana dizinlerine hapsederek ( /home/cagatay gibi ) yetkilerini kısıtlayabilirsiniz. Fakat ufak bir google araması ile bypass edilebilir. Amacımız saldırganı yıldırmak 🙂
  • İki aşamalı oturum doğrulama yöntemini kullanın
  • Port knocking kullanın
  • Port spoofing kullanın
    • Bu yöntemler aracılığı ile ssh servisinizi diğer servisler arasında kamufle edip ssh servisinizi daha güvenli hale getirebilirsiniz.

SSH Sıkılaştırması Uygulaması

Öncelikle elimizdeki sunucuya veya ev bilgisayarına SSH bağlantımızı açalım.

Screen Shot 2016-08-13 at 12.42.22

Örnek komut:

SSH oturumundayız, klavuzda Ubuntu 14.04.5 LTS kullanacağım, komular işletim sistemine göre farklılık gösterebilir. Sistemde cagatay adlı bir kullanıcı olduğunu varsayıyoruz. Kullandığınız sistemde kendi isteğiniz doğrultusunda ismini yazabilirsiniz.

  • Open SSH servisi kurulu değilse kuralım

Screen Shot 2016-08-13 at 12.48.24

  • Kurulum ile beraber gelen standart ayarları yedekleyelim:

Terminalden:

  • Düzenleme yapmak üzere ayar dosyamızı açalım:

Terminalden:

Ayarlarımıza sırasıyla standart portu değiştirerek başlıyoruz:

  • Port 22 yazan satırdaki 22 standart SSH portunu bağlanmak istediğiniz porta yerleştirebilirsiniz.

Screen Shot 2016-08-13 at 12.53.10

  • Protocol yazan satır SSH versiyonunuzu söylemektedir. 2 olduğundan emin olun:

Screen Shot 2016-08-13 at 12.59.11

  • Şifre ile oturum açmayı engelleyelim:

Screen Shot 2016-08-13 at 13.00.45

Yorum satırı halinde olan ( ‘#’ yorum satırı anlamına gelmektedir ) PasswordAuthentication yes satırını yorum’dan çıkartıp yes olan parametreyi no yapıyoruz.

Screen Shot 2016-08-13 at 13.02.23

  • Port yönlendirmelerini kapatalım:

Screen Shot 2016-08-13 at 13.16.11

  • X11Forwarding’i no olarak değiştirin

Screen Shot 2016-08-13 at 13.16.50

  • Hangi kullanıcıların SSH kullanacağını belirleyin

Screen Shot 2016-08-13 at 13.18.54

  • Root erişimini kapatın

Screen Shot 2016-08-13 at 13.20.18

PermitRootLogin’i no olarak değiştirerek yapabilirsiniz.

Screen Shot 2016-08-13 at 13.21.13

  • SSH anahtarı ile giriş yapmak için gerekli ayarlamalarımızı yapalım:

Yeni bir terminal sayfasında: ( SSH oturumunu kapatmayınız )

Yukarıdaki komut kendi bilgisayarınızda açık ve gizli olmak üzere iki anahtar üretecektir. Açık anahtarı şu şekilde bulabilirsiniz:

Screen Shot 2016-08-13 at 13.24.32

 

Yukarıdaki anahtarı görüntülediğimiz terminal’den sunucuda SSH oturumumuz olan terminal’e geçiyoruz, aşağıdaki ayarlamayı yapıyoruz.
Screen Shot 2016-08-13 at 13.26.16

AuthorizedKeysFile satırını yorum satırı durumundan çıkartıyoruz.

Screen Shot 2016-08-13 at 13.26.56

Kendi açık anahtarımızı SSH dizinindeki authorized_keys’e ekliyoruz.

Screen Shot 2016-08-13 at 13.30.54

Terminalden: ( Sunucuda )

Açık anahtarımızı kaydedip çıkıyoruz.

  • Kullanıcıları kendi ana dizinlerine kilitleyelim

/etc/ssh/sshd_config dosyasını tekrardan açıyoruz

Terminalden: ( Sunucuda )

Aşağıdaki kodları dosyanın en altına ekliyoruz.

Screen Shot 2016-08-13 at 13.34.43

 

Yukarıda verilen yöntemler sayesinde SSH oturumu açmış kullanıcıların kendi dizinlere etkiyebilmesini sağladık. Standart olarak SSH 22. porttan çalışmaktaydı, onu değiştirdik. Şifre ile oturum açmayı engelledik bu giriş yöntemi yerine daha güvenli olarak önerilen SSH anahtarını kullandık. Sistemimize tünelleme aracılığı ile sağlanabilecek uzak masaüstü bağlantılarını engelledik. Hiyerarşik bir ağ yapısında olduğu varsayılan sunucumuza daha yetkili üst makinalardan erişimi kısıtladık. Sisteme kullanıcı olarak oturum elde etmiş kullanıcıların root yetkilerine erişimini engelledik. SSH bağlantınızı daha güvenli hale getirmek için port spoofing, port knocking ve two factor authentication ( iki aşamalı oturum onayı ) kullanabilirsiniz.

 

Port Spoofing

Port Knocking

SSH Two-Factor Authentication


Hakkında Çağatay ÇALI


Beni Takip Et