Bu makale, giden sunucu saldırılarının nasıl tespit edileceğini ve web barındırma ortamlarınızdaki kötüye kullanım şikayetleriyle nasıl başa çıkılacağını açıklamaktadır.

Bu bir sır değil ve eğer siz bir linux sistem yöneticisi veya bir web sitesi geliştiricisi veya üretim ortamlarıyla uğraşan biriyseniz, yönettiğimiz sunucularda neredeyse her gün karşılaşmak zorunda olduğumuz üç iblisin zaten farkındasınız. “Spam”, “Kimlik Avı” ve “Kötüye Kullanım Şikayetleri” dir. (Bunlardan daha fazlası olduğunu biliyorum ama hadi bu üçü hakkında konuşalım).

İstenmeyen e-postalarla başa çıkmak için harika araçlarımız olsa da, çeşitli kötü amaçlı yazılım tarayıcıları bile kimlik avı web sitelerini tespit etmek için yeterince beceriklidir, ancak web sitesi kodunu proaktif olarak okuyup kendi imza veri tabanlarıyla karşılaştırarak, hala uygun önlemlerden yoksun üçüncü iblis yani “Kötüye Kullanım Şikayetleri”. Genellikle, giden sunucu saldırısı gerçekleştikten sonra “Kötüye Kullanım Şikayeti” alıyoruz ve kötüye kullanım ekibine yanıt verebileceğimiz tek şey, virüs bulaşmış / güvenliği ihlal edilmiş olası hesapları tespit etmek için sunucuda bir kötü amaçlı yazılım taraması başlatmış olmamız ve bu tür saldırı geçmişte gerçekleştiği için gerçek zamanlı olarak ele alınamaz.

Bu, esasen sistem yöneticileri için gerçekten sinir bozucu bir durum çünkü bilinmeyenleri bulmak zorunda kalıyorlar ve sunucularından giden sunucu saldırısını kimin, ne zaman, hangi uzak ana bilgisayarlara ve soru listesinin devam ettiği konusunda kesinlikle sıfır ipucu var … ..

Şimdi neden bahsettiğimizi anladıkça, “Kötüye Kullanım Şikayetleri” ve bunların en yaygın türleri hakkında daha fazla ayrıntıya girelim. Çoğunlukla, üretim sunucuları veya web barındırma sunucularına yönelik kötüye kullanım şikayetleri, sunucunuzda barındırılan ve CMS yönetici paneli gibi uzak oturum açma portallarına veya diğer bazı web formlarına veya bankacılık web uygulamalarına saldıran bazı kötü niyetli kullanıcılar veya komut dosyaları olduğunda alınır.

Sonraki iki nadir tür kötüye kullanım şikayeti, giden FTP ve SSH tabanlı saldırılar için alınır. Bu tür şikayetlerde, çoğunlukla uzak FTP / SSH sunucuları, sunucunuzda barındırılan bazı kötü amaçlı komut dosyaları veya kullanıcı hesapları tarafından saldırıya uğrar.

Bugün bu makalede, bu üç tür kötüye kullanım şikayetinin tümü ve sunucu güvenlik duvarını kullanarak bunların çalışma azaltma yöntemlerini ele alacağız. Güvenlik duvarlarının yalnızca trafiği engellemek ve trafiğe izin vermek için kullanıldığını düşünüyorsanız, sizin için gerçekten ilginç bir şeyler geliyor. 🙂
O halde, dışarıdaki zeki adamları alt edelim!

Öncelikle sunucu gereksinimlerini ele alalım:

1) Sunucunun cPanel çalıştığını düşünürsek, CSF (Config Server Firewall) kurulu ve çalışır durumda olmalıyız.
2) Iptables – varsayılan olarak gelen yüklü ve çalışıyor.
3) Sunucunun kök kullanıcısına erişim. (Bu makaledeki tüm komutlar kök kullanıcı olarak çalıştırılacaktır)
4) Orta düzey Linux sistem yönetimi becerileri.

Yukarıdaki tüm gereksinimleri karşıladığınızdan emin olduktan sonra, aşağıdaki adımlarla devam edebilirsiniz. Sunucuda çalıştırdığımız tüm komutların ayrıntılarını vereceğim, böylece herhangi bir şeyin ters gitmesinden endişelenmenize gerek kalmaz. Sadece talimatlarımı doğru uyguladığınızdan emin olun. 🙂Ancak, gerekli becerilere sahip değilseniz, aşağıda belirtilen komutları çalıştırmamanızı tavsiye ederim. Yine de yapmak istiyorsanız, riski size ait olacak şekilde deneyin!

1] “csfpost.sh” dosyasını oluşturma:

İlk olarak, güvenlik duvarı bittikten sonra temel olarak “/etc/csf/csfpost.sh” dosyasında belirtilen tüm komutları çalıştıran, Config Server Firewall (csf) tarafından sağlanan gizli bir özellik olan “csfpost.sh” dosyasını oluşturacağız. kuralları yükleniyor.

Sunucunuzda zaten bir “/etc/csf/csfpost.sh” dosyası varsa, aşağıdaki satırları dosyanın son satırından sonra ekleyin (ekleyin). Değilse, sadece dosyayı oluşturun:

]> Aşağıdaki komut “/etc/csf/csfpost.sh” dosyasını oluşturacaktır:

# touch /etc/csf/csfpost.sh

]> Aşağıdaki kodları “/etc/csf/csfpost.sh” dosyasına ekleyin:
—————————————————————————————— ———————————————————————————————
#! / Bin / bash

/ usr / sbin / iptables -I ÇIKTI! -d <Sunucu_Ana_IP_Adresi> / 32 -p tcp -m tcp –dport 22 -m sınır –sınır 500 / saat -j LOG –log-önek “CSF-OUTBOUND: 22: =:” –log-uid

/ usr / sbin / iptables -I ÇIKTI! -d <Sunucu_Ana_IP_Adresi> / 32 -p tcp -m tcp –dport 21 -m sınır –sınır 500 / saat -j LOG –log-önek “CSF-OUTBOUND: 21: =:” –log-uid

/ usr / sbin / iptables -I ÇIKTI! -d <Sunucu_Ana_IP_Adresi> / 32 -p tcp -m tcp -m çoklu bağlantı noktası -portlar 80.443 -m sınırı –sınır 1000 / saat -j LOG –log-öneki “CSF-OUTBOUND: 80: 443: =:” –log-uid
—————————————————————————————————————————————————— ————————————

Burada, “<Server_Main_IP_Address>”, “hostname -i” komutunu kullanarak bulabileceğiniz sunucunuzun ana / birincil IP adresi olacaktır veya NAT ağını kullanıyorsanız, bunu DC’nizden almanız gerekir. Temel olarak, “<Server_Main_IP_Address>” sunucunuzun genel IP adresidir.
## ———————————————————————————————————————————————— ———————————– ##
Örneğin, sunucunuzun genel IP adresi “11.22.33.44” ise, “/etc/csf/csfpost.sh” dosyanızdaki veriler şöyle görünmelidir altında:

#! / bin / bash

/ usr / sbin / iptables -I ÇIKTI! -d 11.22.33.44/32 -p tcp -m tcp –dport 22 -m sınır –sınır 500 / saat -j LOG –log-öneki “CSF-OUTBOUND: 22: =:” –log-uid

/ usr / sbin / iptables -I ÇIKTI! -d 11.22.33.44/32 -p tcp -m tcp –dport 21 -m sınır –sınır 500 / saat -j LOG –log-öneki “CSF-OUTBOUND: 21: =:” –log-uid

/ usr / sbin / iptables -I ÇIKTI! -d 11.22.33.44/32 -p tcp -m tcp -m çoklu bağlantı noktası –portlar 80.443 -m sınır –sınır 1000 / saat -j LOG –log-önek “CSF-OUTBOUND: 80: 443: =:” –log-uid
## ———————————————————————————————————————————————— ———————————– ##

Yukarıdaki dosya verileri, 80 (HTTP), 443 (HTTPS), 21 (FTP) ve 22 (SSH) bağlantı noktalarına yönelik giden trafiği algılamak ve oturum açmak için mevcut güvenlik duvarı kural kümenize bir kural ekleyecek bir dizi iptables komutu içerir. kendi sunucunuza yapılan giden bağlantıları hariç tutarak bağlantıyı yapan gerçek kullanıcı hesabının UID’si ile.

Bu kurallar, mevcut güvenlik duvarı kurallarınızdan hiçbiriyle çakışmayacak ve bunları eklemek, yalnızca trafiği günlüğe kaydedeceği ve herhangi bir engelleme veya işleme izin vermeyeceği için sunucunuzda herhangi bir bağlantı sorununa neden olmaz. .

Csfpost.sh dosyanıza veri ekledikten sonra, aşağıdaki komutu kullanarak onu yürütülebilir hale getirmeniz gerekir:

# chmod 700 /etc/csf/csfpost.sh

Neden “700” olduğunu merak ediyorsanız, bu izin bitlerini seçiyoruz çünkü başka herhangi bir standart kullanıcının veya grubun csfpost.sh dosyası tarafından tam olarak ne tür kuralların yüklendiğini öğrenmesini istemiyoruz. Sadece küçük bir güvenlik önlemi.

Şimdi, csf güvenlik duvarınızı yeniden başlatmanız ve son 10 veya 15 satırda güvenlik duvarı yeniden başlatma çıktısında belirtilen “csfpost.sh” dosyasını görmeniz gerekir. Aşağıdaki komutu kullanarak csf güvenlik duvarını yeniden başlatın:

# csf -r

Bu yapıldıktan sonra, sunucunuzdan herhangi bir giden istek varsa, bunları sunucunuzun “/ var / log / messages” dosyasında bulabilirsiniz, burada belirli tür için aramanız gereken dizeler aşağıdadır. giden istekler:
—————————————————————————————————————-
Dize: Açıklama:

CSF-OUTBOUND: 80: 443: =: – / var / log / messages içinde bu dizenin aranması, 80 ve 443 numaralı bağlantı noktalarında uzak web sunucularına yapılan tüm giden isteklerin listesini ve bunun yapıldığı tam zamanı verecektir. , bunu yapan kullanıcının tam UID’si ve uzak sunucunun IP adresi.
CSF-OUTBOUND: 21: =: – / var / log / messages dizininde bu dizenin aranması, 21 numaralı bağlantı noktasındaki uzak ftp sunucusuna yapılan tüm giden isteklerin listesini, tam olarak yapıldığı zamanı ve tam UID’yi verecektir. bunu yapan kullanıcının ve uzak sunucunun IP adresi.
CSF-OUTBOUND: 22: =: – / var / log / messages dizininde bu dizenin aranması, 22 numaralı bağlantı noktasındaki uzak ssh sunucusuna yapılan tüm giden isteklerin listesini, tam olarak yapıldığı zamanı ve tam UID’yi verecektir. bunu yapan kullanıcının ve uzak sunucunun IP adresi
——————————————————————————————————— ——-

Bu günlükler harika ve kötüye kullanım şikayetleri aldığınızda gerçekten yardımcı olacak. Tek yapmanız gereken kötüye kullanım şikayet raporuna bakmak, saldırıya uğrayan uzak sunucunun IP adresini bulmak ve sunucunun / var / log / messages dosyasında bu IP adresini aramaktır. Bu kadar! “/ etc / passwd” dosyasından kullanıcının adını bulmak ve bununla ilgili gerekli işlemleri yapmak için kullanabileceğiniz kullanıcının UID’si ile saldırının tam günlüklerini aldınız.

Hatta bu günlükleri, kullanıcıya sunucunuzdaki kötüye kullanım şikayetiyle sonuçlanan sunucudaki kendisi veya hesabı tarafından gerçekleştirilen eylemlerin kanıtını sağlamak için de kullanabilirsiniz.

Şimdi ne düşündüğünü biliyorum. İşlerini yaptıktan sonra hala kötü adamları yakalıyoruz! Evet, biz, ancak sunucu değiliz, sunucu etkinliği gerçek zamanlı olarak günlüğe kaydetmeye devam ediyor ve bu günlükleri Splunk gibi SIEM yazılımlarını / çözümlerini veya seçtiğiniz başka herhangi bir yazılımı kullanarak gerçek zamanlı olarak izleyebilir ve giden saldırıların gerçek zamanlı güncellemelerini alabilirsiniz. sunucunuzdan gerçekleştirilir.

Meşgul yöneticilerimizin araştırma sürecini hızlandırmak için, sizin için tüm temel araştırmaları gerçekleştirecek ve> verileri işleyecek ve size> günlük özetinin sonuçlarını görüntüleyen güzel bir küçük çıktı penceresi sağlayacak basit bir betik oluşturdum. sunucunuzda gerçekleştirilen giden saldırılar.

Bash ile yazılmış ve herhangi bir linux sistemi üzerinde sorunsuz çalışabilen bir script geliştirdik, Linux sunucu güvenlik planımızı sipariş edebilirsiniz ve ekibimiz sizin için özelleştirilmiş script’i kuracaktır.