UFW uygulama profili yok mu? Hizmetleri değil, bağlantı noktalarını tanımlar
UFW uygulama profili, bağlantı noktaları ve protokollerin adlandırılmış listesidir, hizmet değildir. app info çıktısını okuyun, gerçek dinleyiciyle karşılaştırın ve yeniden yüklemeden önce geri dönüş yolunu koruyun.
UFW, OpenSSH ile eşleşen bir profil bulamadığını söylüyor ve neden arayışı doğrudan SSH sunucusuna gidiyor. Bu yanlış yön: mesaj adlandırılmış bir güvenlik duvarı tanımıyla ilgili ve sshd'nin kurulu, çalışıyor veya dinliyor olup olmadığı hakkında hiçbir şey söylemiyor. UFW uygulama profili, üzerinde etiket bulunan bir bağlantı noktası ve protokol listesidir. Tanımı okumak tek bir komut alır ve genellikle incelemeyi bitirir.
Adım 1: UFW'nin gerçekten bildiği adları listeleyin
Birine izin vermesini istemeden önce güvenlik duvarına hangi adlara sahip olduğunu sorun. Liste bu makinede kurulu profillerden gelir, dolayısıyla eksik bir ad bu sistemle ilgili bir gerçektir, korumaya çalıştığınız yazılımla ilgili değil. Ad varsa, hata bir yazım hatasından veya kabuk geçmişinizdeki eski bir takma addan gelmiştir.
ufw app list
ufw app info OpenSSH
Liste varsayılan kurulumda kısadır ve adlar paket adları değildir. OpenSSH adlı profil, openssh-server paketi kuruluyken eksik olabilir ve bunun tersi de mümkündür. Listenin yazdırdığı tam adı kullanın; benzer yazımlı bir VPN profil adı veya masaüstü başlatıcısı UFW uygulama profili değildir. İstediğiniz ad yoksa bulgu budur ve sonraki adım bunu neyin sağlaması gerektiğine bakmaktır.
Adım 2: etiketi değil, tanımı okuyun
Profil, /etc/ufw/applications.d altında INI tarzı bir dosyadır; ad, başlık, açıklama ve bağlantı noktaları alanı içerir. Bağlantı noktaları alanı birkaç bağlantı noktası ve taşıma listeleyebilir, bu yüzden etiket size tanımdan daha azını söyler. UFW kılavuzu bu alanları ve uygulamaları güncelleme işlemini belgeler. Adın tanıdık bir bağlantı noktası anlamına geldiğini varsaymak yerine dosyayı okuyun.
cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH
22/tcp içeren bir tanım TCP 22 bağlantı noktasını tanımlar ve başka hiçbir şeyi tanımlamaz. Bu makinedeki servisin orada dinlediğini kanıtlamaz ve sonradan eklediğiniz ikinci bağlantı noktasını kapsamaz. Servis başka yerde çalışıyorsa, adı ürünle eşleşse bile profil yanlış izindir. İkisinden birine izin vermeden önce dinleyiciyi tanımla karşılaştırın.
ss -ltnp 'sport = :22'
Tanım ve dinleyici uyuşmuyorsa durun. Kimsenin dinlemediği bir bağlantı noktasını adlandıran profile izin vermek, ilerleme gibi görünen ama hiçbir şeyi korumayan bir kural oluşturur.
Adım 3: profili çalışan hizmetten ayırın
Adlandırılmış bir profile izin vermek hizmeti kurmaz, başlatmaz veya yapılandırmaz ve çalışan bir hizmetin erişilebilir olmak için paketlenmiş bir profile ihtiyacı yoktur. Bunlar farklı araçların sahip olduğu ayrı kararlardır: paket yöneticisi, hizmet yöneticisi ve güvenlik duvarı. Bunları tek olarak ele almak, insanların sembolik bir ad görünsün diye istenmeyen bir sunucu kurma biçimidir.
VPN sunucusu için ayrım, dış dinleyiciye izin verildikten sonra da sürer. Şifreli taşıma bağlantı noktasına izin, çekirdekte yönlendirmeyi etkinleştirmez, NAT kuralı eklemez ve tünel kullanıcılarına LAN erişimi vermez. Bunların her biri kendi incelemesi olan ayrı bir politikadır. VPN ürününün adını taşıyan profil yalnızca listelediği bağlantı noktalarını tanımlar ve sunucu yapılandırmasının geri kalanını hâlâ siz yazarsınız.
Profil yoksa ve birine ihtiyacınız varsa, incelenmiş açık bir bağlantı noktası kuralı veya applications.d altında yerel bir profil ikisi de meşrudur. İstemediğiniz bir paketi kurmak değildir.
Adım 4: güvenlik duvarını yeniden yüklemeden önce geri dönüş yolunu koruyun
Herhangi bir kural değişikliğinden önce makineye ikinci bir yolunuz olduğunu doğrulayın: bir konsol, bant dışı adres veya planlanmış geri alma. Ardından kural kümesini ve varsayılan politikayı okuyun, çünkü SSH kuralı olmadan varsayılan ret, test sırasında kendinizi dışarıda bırakmanın klasik yoludur. Aynı anda tek kural değiştirin ve UFW'nin yazdırdığı onayı okuyun. Kaydedilmiş kural, etkin kural ve erişilebilir hizmet üç farklı gözlemdir.
ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH
Değişiklikten sonra izin verilen bağlantıyı ve hâlâ reddedilmesi gereken bir yolu test edin. Ret testi izin testi kadar önemlidir, çünkü amaçlanandan daha geniş bir kural ilk testi geçer ve ikincisinde başarısız olur. Profil adını, içerdiği bağlantı noktalarını ve doğrulama yaptığınız dinleyiciyi not edin.
Kontrol listesi, ad mevcut olduğunda veya bilerek değiştirildiğinde, tanım gerçek dinleyiciyle eşleştiğinde, hizmet ayrı yönetildiğinde ve elinizde bir kurtarma yoluyla hem izin verilen hem reddedilen yolu test ettiğinizde biter. Listede bir ad olması bunların hiçbiri değildir.