Kendi sunucusunu ilk kez yöneten herkes için bir geçiş ritüeli vardır: bir güvenlik duvarı kurmaya karar verirsiniz, birkaç ufw komutu yazarsınız, enable'a basarsınız — ve terminal susar. SSH gitti. Bir şey çökertmediniz, hacklenmedin de. Sadece kapıyı kilitlediniz, kendiniz dışarıda kaldınız.
Bu iyi yöneticilerin de başına gelir. Geçen hafta müşterilerimizden birinin başına geldi, bu yüzden yazıyorum. İyi haber: bir dakikadan kısa sürede tamamen kurtarılabilir ve yeniden kurmanıza ya da tek bir dosya kaybetmenize gerek yok. İşte nasıl.

Aslında ne ters gitti
ufw (Uncomplicated Firewall) varsayılan olarak tüm geleni reddeder. ufw enable çalıştırdığınız an, açıkça izin vermediğiniz her şey düşürülür — içinde oturduğunuz SSH oturumu dahil. Önce SSH portunuza ufw allow yapmayı unuttuysanız, kural yürürlüğe girdiği anda kendi bağlantınızı kesmiş oldunuz.
Bu klasik hâli. İnsanları yakalayan iki tür daha var:
- Yanlış portu izin verdiniz. Bir yazım hatası ya da servis portunu (diyelim 8080) izin verip 22'yi unuttunuz.
- 22'yi izin verdiniz ama listede daha üste bir
denykuralı koyup onu gölgelediniz. ufw sıraya duyarlıdır.
Her hâlükârda sunucunun kendisi iyi durumda — çalışıyor, disk sağlam, uygulamanız hâlâ duvarın arkasında mırıldanıyor. Bu tamamen bir ağ erişimi sorunu. Tam da bu yüzden düzeltmesi kolay.
Yanlış hamle: yeniden kurmak
İlk dürtü genelde "sunucuyu sıfırlayıp baştan başlayayım" olur. Yapmayın — bunun için değil. Yeniden kurma, çalışan bir SSH'ı geri almak için her şeyi siler; oysa SSH'ı engelleyen, on saniyede geri alabileceğiniz bir güvenlik duvarı komutu. Ön kapıyı kilitlediniz diye evi yakmak gibi.
Yeniden kurma, temiz bir sayfa istediğinizde doğru seçim. Bir ufw kilidi için aşırıya kaçmak olur.
Doğru hamle: web konsolu
Kendine saygısı olan her VPS size bant dışı bir konsol verir — makineye SSH'tan, hatta ağ yığınından bile geçmeyen bir giriş. EQVPS'te bu, sunucunuzun sayfasındaki Console butonudur. Seri konsoldur: yalnızca metin, tıpkı bir monitör ve klavye gibi doğrudan VM'e bağlı. Bir güvenlik duvarı kuralının üzerinde gücü yoktur, çünkü ağ trafiği değildir.

Tıklayın, root kimlik bilgilerinizle girin (elinizde yoksa parolayı panelde açığa çıkarın) — ve makinedesiniz, güvenlik duvarı olsun olmasın.
Şimdi hasarı geri alın. En hızlı yol:
sudo ufw disable
Bu, güvenlik duvarını kapatır ve kurallarınızı korur, böylece hatayı düzelttikten sonra tekrar açabilirsiniz. SSH hemen geri gelir.
Güvenlik duvarını tamamen düşürmek istemiyorsanız, sadece atladığınız portu açın:
sudo ufw allow 22
sudo ufw status numbered
status numbered'a bakmaya değer: kural sırasını gösterir — "22'yi izin verdim ama hâlâ engelliyor" durumları burada saklanır. allow'unuzun üstünde bir deny varsa, sudo ufw delete <numara> ile silin.
Çoğu rehberin atladığı NAT tuzağı
NAT tarifedeyseniz burada bir tuzak var. SSH'a yüksek bir porttan bağlanırsınız — 20266 gibi — o yüzden doğal içgüdü ufw allow 20266. Bu hiçbir şey yapmaz.
NAT'ta o dış port, VM'in içindeki 22 portuna yönlendirilir. ufw VM içinde çalışır ve hep yalnızca 22'yi görür. Yani gerçekten ihtiyacınız olan kural:
sudo ufw allow 22
20266'ya izin verin, hâlâ bozuk bir bağlantıya bakıp neden diye düşünürsünüz. 22'ye izin verin, içerdesiniz. Her servis için aynı mantık: sürecin makinenin içinde dinlediği portu izin verin, dışarıdan bağlandığınız yönlendirilmiş portu değil.
Bunu bir daha nasıl yapmazsınız
Düzeltmesi bir dakika, ama ihtiyaç duymamak daha güzel. İki alışkanlık:
Etkinleştirmeden önce SSH portunuzu izin verin. Her zaman bu sırayla:
sudo ufw allow 22
sudo ufw enable
Tersini yapın, yine konsoldasınız.
Güvenlik duvarı kurallarını değiştirirken ikinci bir SSH oturumu açık tutun. İki kez girin. Değişiklikleri bir pencerede yapın; SSH ölürse diğeri hâlâ canlı ve düzeltir. Eski numara, her seferinde kurtarır.
Ve taze bir makine kuruyorsanız, yeni VPS güvenlik kontrol listemiz ufw'yi doğru sırayla, SSH anahtarları ve ilk on dakikada gerçekten önemli olan birkaç şeyle birlikte ele alır.
Özet
Bir ufw kilidi korkutucu görünür ama neredeyse hiçbir şeydir. Sunucu hiç gitmedi; size sadece hiçbir güvenlik duvarının çarpamayacağı bir kapı gerekli — web konsolu — ve bir komut. ufw disable'ı ve konsolu cebinizde tutun, bir dahaki sefere etkinleştirmeden önce portunuzu izin verin, ve bu şey sizi bir daha terletmeyecek.
Yorumlar
Henüz yorum yok. İlk olun.