Bugun Serverda yuzaga kelgan CPU 100% yuklanish muammosini qanday hal qildim
Bugun serverda qiziq bir holatga duch keldim. CPU yuklanishi birdan 100% ga chiqib ketdi va server sekinlashib qoldi. Bu PostgreSQL process tufayli yuzaga kelganini aniqladim. Lekin bu – muammoning yuzaki sababi edikan. Quyida muammo qanday qilib bartaraf etilganini step-by-step yozdim.
1️⃣ Muammoni aniqlash
Birinchi navbatda, serverda qaysi process barcha CPU resurslarini ishlatayotganini topishga harakat qildim.
💻 Buyruqlar:
2️⃣ Dastlabki tahlil
Keyin, PostgreSQL faol Querylarini ko‘rish uchun
🔍 Buyruqlar:
3️⃣ Tezkor choralar
CPUni bo‘shatish uchun birinchi navbatda shubhali process to‘xtatdim va zararli faylni o‘chirib tashladim. Bu vaqtinchalik bo‘lsa-da, muammoni yengillashtirdi.
🚨 Buyruqlar:
4️⃣ Muammoni chuqurroq tahlil qilish
Shubhali faoliyatni qayta tekshirish uchun
🔧 Buyruqlar:
5️⃣ Serverni xavfsizlash
Serverni oldindan himoyalash uchun bir nechta choralar ko‘rdim:
- PostgreSQL uchun faqat ishonchli IP manzillarga ruxsat berdim.
- Firewall qoidalari yordamida tashqi IP’larni blokladim.
- SSH xavfsizligini oshirdim (root loginni o‘chirib qo‘ydim va protokol 2 ni majburiy qildim).
🔒 Buyruqlar:
✅ Xulosa
Bu tajriba menga server xavfsizligini muntazam kuzatib borish naqadar muhimligini yana bir bor eslatdi. Serveringizni himoya qilish uchun vaqtinchalik fayllar va loglarni tez-tez ko‘rib chiqing, shubhali portlarni kuzating va kerakli xavfsizlik vositalarini o‘rnatib qo‘ying.
PS: Muammo hal bo'ldi, lekin uning kelib chiqish sababini hali aniqlay olmadim. Ayni paytda shu ish ustida ishlayapman. Sababini topib u haqida ham albatta bir post yozaman.
Siz ham shunday muammoga duch kelganmisiz? Tajribangiz bilan bo‘lishing, bir-birimizga yordamchi bo‘lamiz! 😊
#DasturchiEslatmalari #ServerXavfsizligi #PostgreSQL #Linux
Bugun serverda qiziq bir holatga duch keldim. CPU yuklanishi birdan 100% ga chiqib ketdi va server sekinlashib qoldi. Bu PostgreSQL process tufayli yuzaga kelganini aniqladim. Lekin bu – muammoning yuzaki sababi edikan. Quyida muammo qanday qilib bartaraf etilganini step-by-step yozdim.
1️⃣ Muammoni aniqlash
Birinchi navbatda, serverda qaysi process barcha CPU resurslarini ishlatayotganini topishga harakat qildim.
top va ps aux buyruqlari yordamida qandaydur noma'lum PostgreSQL process CPUni «yeyotganini» aniqladim. 💻 Buyruqlar:
sudo top
ps aux | grep postgres
2️⃣ Dastlabki tahlil
Keyin, PostgreSQL faol Querylarini ko‘rish uchun
pg_stat_activity jadvalini ko‘zdan kechirdim. U yerda noodatiy hech narsa topilmagach, lsof yordamida bu process qanday fayllar va tarmoqlar bilan ishlayotganini aniqladim. Shubhali fayl – /var/tmp/.221facb5c8c9e1648495 – va noma’lum tashqi server bilan aloqadorlikni ko‘rdim. 🔍 Buyruqlar:
SELECT pid, usename, client_addr, state, query FROM pg_stat_activity;
sudo lsof -p <PID>
sudo strace -p <PID>
3️⃣ Tezkor choralar
CPUni bo‘shatish uchun birinchi navbatda shubhali process to‘xtatdim va zararli faylni o‘chirib tashladim. Bu vaqtinchalik bo‘lsa-da, muammoni yengillashtirdi.
🚨 Buyruqlar:
sudo kill -9 <PID>
sudo rm -rf /var/tmp/.221facb5c8c9e1648495
sudo rm -rf /tmp/.ICE-unix
4️⃣ Muammoni chuqurroq tahlil qilish
Shubhali faoliyatni qayta tekshirish uchun
cron vazifalari va yuklash skriptlarini ko‘zdan kechirdim. Bundan tashqari, rkhunter yordamida rootkitlarni qidirib chiqdim. Hech qanday foydali narsa topolmadim.🔧 Buyruqlar:
sudo grep -r ".221facb5c8c9e1648495" /etc /lib /usr
sudo crontab -l
sudo ls -alh /var/tmp
sudo rkhunter --check
5️⃣ Serverni xavfsizlash
Serverni oldindan himoyalash uchun bir nechta choralar ko‘rdim:
- PostgreSQL uchun faqat ishonchli IP manzillarga ruxsat berdim.
- Firewall qoidalari yordamida tashqi IP’larni blokladim.
- SSH xavfsizligini oshirdim (root loginni o‘chirib qo‘ydim va protokol 2 ni majburiy qildim).
🔒 Buyruqlar:
sudo nano /etc/postgresql/14/main/pg_hba.conf
sudo ufw deny out to any port 9090
sudo ufw deny out to <Shubhali IP>
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
Protocol 2
✅ Xulosa
Bu tajriba menga server xavfsizligini muntazam kuzatib borish naqadar muhimligini yana bir bor eslatdi. Serveringizni himoya qilish uchun vaqtinchalik fayllar va loglarni tez-tez ko‘rib chiqing, shubhali portlarni kuzating va kerakli xavfsizlik vositalarini o‘rnatib qo‘ying.
PS: Muammo hal bo'ldi, lekin uning kelib chiqish sababini hali aniqlay olmadim. Ayni paytda shu ish ustida ishlayapman. Sababini topib u haqida ham albatta bir post yozaman.
Siz ham shunday muammoga duch kelganmisiz? Tajribangiz bilan bo‘lishing, bir-birimizga yordamchi bo‘lamiz! 😊
#DasturchiEslatmalari #ServerXavfsizligi #PostgreSQL #Linux
🔥7👍3❤1👏1