Erişiminizi kesmeden Linux işletim sistemi güvenlik duvarını kontrol edin, etkinleştirin, yapılandırın ve devre dışı bırakın.
Çalışma mantığı
Güvenlik grubu, bir ECS örneğine gelen ve bu örnekten giden tüm trafiği ilk olarak filtreler; ardından işletim sistemi güvenlik duvarı bu trafiği işler. Trafiğin uygulamaya ulaşabilmesi için her iki katmandan da geçmesi gerekir.
-
Güvenlik grubu (cloud ağ katmanı)
İşlev: Bir security group sanal bir güvenlik duvarı gibi davranarak işletim sisteminin dışındaki gelen ve giden trafiği kontrol eder ve ilk savunma hattını oluşturur.
Mantık: Güvenlik grubu belirli bir bağlantı noktasındaki (örneğin SSH için 22 numaralı bağlantı noktası) trafiği reddederse, işletim sistemi güvenlik duvarı ayarlarından bağımsız olarak o bağlantı noktasına yönelik tüm harici istekler engellenir.
-
Sistem güvenlik duvarı (örnek katmanı)
İşlev:
firewalldveyaufwgibi güvenlik duvarı yazılımları Linux işletim sistemi içinde çalışır ve varsayılan olarak devre dışıdır. Güvenlik grubu tarafından zaten izin verilen trafik üzerinde ayrıntılı kontrol sağlar.Mantık: Trafik, sistem güvenlik duvarına ulaşmadan önce güvenlik grubundan geçmelidir. Bu iki bileşen VE ilişkisi kurar; uygulamanız ancak ikisi de trafiğe izin veriyorsa trafiği alır.
Yordam
Güvenlik duvarı durumunu kontrol etme
Değişiklik yapmadan önce mevcut güvenlik duvarı durumunu kontrol edin.
Alibaba Cloud Linux, CentOS veya Red Hat
firewalld durumunu kontrol etmek için aşağıdaki komutu çalıştırın.
sudo firewall-cmd --state
not running: Güvenlik duvarı devre dışı.running: Güvenlik duvarı etkin.Çıktı
command not foundisefirewalldyüklü değildir. Yüklemek içinsudo yum install firewalld -yveyasudo dnf install firewalld -ykomutunu çalıştırın.
Ubuntu veya Debian
ufw durumunu kontrol etmek için aşağıdaki komutu çalıştırın.
sudo ufw status
Status: active: Güvenlik duvarı etkin.Status: inactive: Güvenlik duvarı devre dışı.Debian'da çıktı
command not foundiseufwyüklü değildir. Yüklemek içinsudo apt update && sudo apt install ufw -ykomutunu çalıştırın.
Güvenlik duvarını etkinleştirme
Gerekli trafiğe izin veren kuralları eklemeden güvenlik duvarını asla etkinleştirmeyin. Aksi takdirde örneğe erişiminiz kesilebilir. Önce izin verin, ardından etkinleştirin.
Alibaba Cloud Linux, CentOS veya Red Hat
-
Uzak oturumunuzun açık kalması için SSH'ye kalıcı olarak izin verin.
sudo firewall-cmd --permanent --add-service=ssh -
Yeni kuralları uygulamak için güvenlik duvarını yeniden yükleyin.
sudo firewall-cmd --reload -
Güvenlik duvarı hizmetini başlatın.
sudo systemctl start firewalld -
(İsteğe bağlı): Güvenlik duvarının önyüklemede başlamasını sağlayın.
sudo systemctl enable firewalld
Ubuntu veya Debian
-
SSH bağlantılarına izin verin.
sudo ufw allow ssh -
Güvenlik duvarını etkinleştirin.
ufwvarsayılan olarak mevcutallowkurallarını otomatik olarak yükler ve önyüklemede başlar.sudo ufw enableSistem, işlemin mevcut bağlantıları bozabileceğine dair uyarı verir. Onaylamak için
ygirin. SSH'ye zaten izin verildiğinden oturumunuz bağlantılı kalır.
Belirli bir bağlantı noktasını veya hizmeti açma
Alibaba Cloud Linux, CentOS veya Red Hat
-
Belirli bir bağlantı noktasını veya hizmeti açın:
-
Hizmet adına göre (önerilen):
# Permanently allow the HTTP and HTTPS services sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https -
Bağlantı noktası numarasına göre:
# Permanently allow port 8080/TCP sudo firewall-cmd --permanent --add-port=8080/tcp
-
-
Yeni kuralları uygulayın: Kuralları ekledikten veya kaldırdıktan sonra güvenlik duvarını yeniden yükleyin.
sudo firewall-cmd --reload -
Kuralların etkili olduğunu doğrulayın:
Geçerli alandaki hizmetler, bağlantı noktaları ve protokoller dahil olmak üzere tüm etkin kuralları listeler.
sudo firewall-cmd --list-all
Ubuntu veya Debian
ufw ile kurallar hemen etkili olur ve yeniden başlatmalarda kalıcı hale gelir.
-
Belirli bir bağlantı noktasını veya hizmeti açın:
-
Hizmet adına göre (önerilen):
# Allow the HTTP and HTTPS services sudo ufw allow http sudo ufw allow https -
Bağlantı noktası numarasına göre:
# Allow port 3306/TCP sudo ufw allow 3306/tcp
-
-
Kuralların etkili olduğunu doğrulayın:
Tüm etkin kuralları görüntülemek için aşağıdaki komutu çalıştırın.
sudo ufw status
Güvenlik duvarını devre dışı bırakma
Bir engelleme ilkesinin bağlantı sorununa neden olup olmadığını belirlemek için güvenlik duvarını geçici olarak devre dışı bırakın.
Güvenlik duvarını üretim ortamında devre dışı bırakmayın. Test işleminden veya sorunu çözdükten sonra yeniden etkinleştirin.
CentOS, Red Hat veya Alibaba Cloud Linux
sudo systemctl stop firewalld
Ubuntu veya Debian
sudo ufw disable
Üretim ortamında uygulama
-
En iyi uygulamalar
En az ayrıcalık ilkesi: Uygulamanız için yalnızca gerekli bağlantı noktalarını açın. Veritabanları gibi temel hizmetler için erişime yalnızca güvenilir dahili IP adreslerinden izin verin ve İnternet'e açılmaktan kaçının.
Yedek bağlantıyı koruyun: Güvenlik duvarı kurallarını değiştirmeden önce örneğe bir remote connection to the instance kurun. Mevcut bir oturum kural değişikliklerinden sonra devam eder ve yedek kanal olarak hizmet eder.
-
Risk önleme
-
Günlüğe kaydetme ve izleme: Olağandışı erişim girişimlerini tespit etmek için güvenlik duvarı günlüklerini düzenli olarak denetleyin.
firewalld: Günlüklerjournaldtarafından yönetilir. Görüntülemek içinsudo journalctl -u firewalldkomutunu kullanın.ufw: Günlükler/var/log/ufw.logkonumundadır.
-
SSS
-
İşletim sistemi güvenlik duvarı devre dışı bırakıldıktan sonra hizmete hala erişilemiyor
Aşağıdakileri sırayla kontrol edin:
Güvenlik grubunu kontrol edin: ECS console - Security Groups page sayfasında oturum açın. Gelen kuralların gerekli bağlantı noktasındaki trafiğe uygun kaynak IP'lerden izin verdiğini onaylayın.
Hizmet dinleme durumunu kontrol edin: Uygulamanın beklenen adresde (örneğin
0.0.0.0) ve bağlantı noktasında dinlediğini onaylayın. Örnek üzerindess -tunlp | grep <port_number>veyanetstat -tunlp | grep <port_number>komutunu çalıştırın.Ağ ACL'sini kontrol edin: Örneğiniz bir network ACL ile ilişkilendirilmişse kurallarının ilgili trafiğe izin verdiğini doğrulayın.
-
**command not found** hatasını çözme
Güvenlik duvarı yönetim aracı yüklü değil. Yüklemek için:
CentOS/Red Hat/Alibaba Cloud Linux'ta
sudo yum install firewalld -yveyasudo dnf install firewalld -ykomutunu çalıştırın.Ubuntu/Debian'da
sudo apt update && sudo apt install ufw -ykomutunu çalıştırın.