Бопсалаушы бағдарламалар (ransomware) серверлер үшін, оның ішінде Nginx веб-серверін пайдаланатындар үшін үлкен қауіп төндіреді. Бопсалаушылар мәліметтерді шифрлап, оларды қалпына келтіру үшін төлем талап етеді.
Бұл мақалада Nginx серверін мұндай шабуылдардан қорғау үшін қолданылатын шараларды қарастырамыз.
1. Бағдарламалық жасақтаманы жаңарту
Операциялық жүйені жаңарту
Операциялық жүйені үнемі жаңартып отыру арқылы белгілі осалдықтарды жоя аласыз. Бұл осалдықтарды зиянкестердің пайдалануына жол бермейді. Мысалы, Debian немесе Ubuntu негізіндегі жүйелерде жаңарту үшін келесі командаларды пайдаланыңыз:
sudo apt update
sudo apt upgrade -y
CentOS/RHEL үшін:
sudo yum update -y
Nginx жаңарту
Nginx үшін жаңартуларды үнемі тексеріп, орнатыңыз. Debian/Ubuntu үшін Nginx жаңарту:
sudo apt update
sudo apt install nginx -y
CentOS/RHEL үшін:
sudo yum update nginx -y
Сондай-ақ, Nginx соңғы нұсқалары бар репозиторийлерді қосу ұсынылады, мысалы, Ubuntu үшін:
sudo add-apt-repository ppa:nginx/stable
sudo apt update
sudo apt install nginx -y
2. Қол жетімділікті шектеу
Брандмауэрді пайдалану
Брандмауэрді орнату серверге тек сенімді IP мекенжайларынан ғана қол жеткізуге мүмкіндік береді, бұл рұқсатсыз кіру қаупін айтарлықтай төмендетеді. Ubuntu-де ufw орнату үшін келесі командаларды пайдаланыңыз:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from <сенімді_IP> to any port 22
sudo ufw allow from <сенімді_IP> to any port 80
sudo ufw allow from <сенімді_IP> to any port 443
sudo ufw enable
SSH қол жетімділікті орнату
Серверге қол жеткізу үшін күшті құпия сөздер немесе SSH кілттерін пайдаланыңыз. /etc/ssh/sshd_config файлында пароль бойынша кіруді өшіріңіз:
PasswordAuthentication no
Өзгертулерді қолдану үшін SSH қызметін қайта жүктеңіз:
sudo systemctl restart sshd
3. SSL/TLS пайдалану
SSL/TLS орнату
HTTPS арқылы ғана қол жетімділікті қамтамасыз етіңіз, осылайша деректерді ұстаудан қорғаңыз. Мысалы, Let's Encrypt көмегімен SSL сертификатын алыңыз және орнатыңыз:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
HTTPS үшін Nginx конфигурациясын жаңарту
Nginx конфигурациясын тек HTTPS арқылы жұмыс істеу үшін өзгертіңіз. Мысалы, конфигурациялық файлға келесі жолдарды қосыңыз:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
4. Сақтық көшірмелер жасау
Тұрақты резервтік көшірмелер
Деректер мен сервер конфигурацияларының тұрақты резервтік көшірмелерін жасаңыз. Бұл процесті автоматтандырыңыз, осылайша шабуылдан кейін қалпына келтіруге дайын боласыз. Мысалы, деректердің сақтық көшірмесін жасау үшін rsync
пайдаланыңыз:
rsync -avz /var/www/html/ /backup/html/
Автоматты түрде резервтік көшірмелерді орындау үшін cron баптаңыз. Crontab файлын ашыңыз:
crontab -e
Күнделікті сақтық көшірме жасау тапсырмасын қосыңыз:
0 2 * * * rsync -avz /var/www/html/ /backup/html/
Резервтік көшірмелерді тексеру
Резервтік көшірмелердің тұтастығы мен қалпына келтіру мүмкіндігін тексеріңіз. Мысалы, тест серверіне резервтік көшірмені қалпына келтіріп, жұмыс істеп тұрғанына көз жеткізіңіз.
5. Файлдарға қол жетімділікті орнату
Құқықтарды шектеу
Маңызды файлдар мен каталогтарға қол жетімділікті шектеңіз. Конфигурациялық файлдарға тек қажетті пайдаланушылардың қол жеткізуіне көз жеткізіңіз. Мысалы:
sudo chown root:root /etc/nginx/nginx.conf
sudo chmod 600 /etc/nginx/nginx.conf
Каталогтарды қорғау
Маңызды каталогтарды қорғау үшін Nginx директиваларын пайдаланыңыз. Мысалы, конфигурациялық файлдарға қол жеткізуді болдырмау үшін:
location ~ /\.ht {
deny all;
}
location ~ /nginx.conf {
deny all;
}
6. Мониторинг және қауіптерді анықтау
Мониторинг құралдарын орнату
Шабуыл әрекетін анықтау және бұғаттау үшін Fail2Ban сияқты мониторинг құралдарын пайдаланыңыз. Fail2Ban орнатып, Nginx қорғау үшін баптаңыз:
sudo apt install fail2ban
/etc/fail2ban/jail.local
файлын жасап, конфигурация қосыңыз:
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
action = iptables[name=HTTP, port=http, protocol=tcp]
logpath = /var/log/nginx/error.log
maxretry = 3
Өзгертулерді қолдану үшін Fail2Ban қайта жүктеңіз:
sudo systemctl restart fail2ban
Журналдар және ескертулер
Күмәнді әрекеттер туралы автоматты хабарламалар және журналдарды баптаңыз. Шабуыл белгілерін анықтау үшін журналдарды үнемі тексеріңіз. Мысалы, журналдарды күнделікті талдау және есептерді электрондық пошта арқылы жіберу үшін logwatch
пайдаланыңыз:
sudo apt install logwatch
Есептерді жіберу үшін logwatch
баптаңыз:
sudo nano /usr/share/logwatch/default.conf/logwatch.conf
Параметрлерді өзгертіңіз, есептерді электрондық пошта арқылы жіберу үшін:
MailTo = Бұл электронды пошта мекен-жайы спам-боттардан қорғалған, оны қарау үшін Сізде Javascript қосылған.
Detail = High
7. Ең жақсы тәжірибелер
Минималды артықшылықтар қағидасы
Артықшылықтар қағидасын ұстаныңыз, белгілі бір тапсырмаларды орындау үшін тек қажетті ресурстарға қол жеткізуді қамтамасыз етіңіз. Бұл осалдықтарды пайдалану қаупін азайтады.
SELinux немесе AppArmor пайдалану
SELinux немесе AppArmor сияқты қол жеткізу басқару жүйелерін пайдаланыңыз, процестер мен пайдаланушылардың әрекеттерін шектеу үшін. Мысалы, CentOS жүйесінде SELinux қосу үшін:
sudo setenforce 1
Жаңарту және патчинг
Операциялық жүйе мен Nginx үшін ғана емес, орнатылған қолданбалар мен кітапханалар үшін де жаңартулар мен патчтарды қадағалаңыз. Қауіпсіздік туралы ақпараттық бюллетеньдерді үнемі тексеріп, маңызды жаңартуларды кешіктірмей қолданыңыз.
Ортаны бөлу
Өндірістік, тестілік және даму орталарын бөліңіз. Бұл тестілік немесе даму ортасындағы осалдықтардың өндірістік деректерге әсер ету қаупін азайтады.
Контейнеризацияны пайдалану
Қолданбаларды және олардың тәуелділіктерін оқшаулау үшін Docker сияқты контейнеризацияны пайдаланыңыз. Бұл басқаруды жеңілдетеді және қауіпсіздікті арттырады. Мысалы, Nginx контейнерін Docker-де іске қосу үшін:
docker run --name mynginx -v /mynginx.conf:/etc/nginx/nginx.conf -d nginx
Қорытынды
Nginx серверін бопсалаушы бағдарламалардан қорғау үшін кешенді көзқарас қажет, ол бағдарламалық жасақтаманы жаңартуды, қол жетімділікті орнатуды, SSL/TLS пайдалануды, тұрақты резервтік көшірмелер жасауды, файлдарға қол жетімділікті орнатуды және жүйені мониторингтеуді қамтиды.
Осы ұсыныстар мен ең жақсы тәжірибелерді ұстана отырып, сіз серверіңіздің қауіпсіздігін айтарлықтай арттырып, зиянды бағдарламалармен жұқтыру қаупін азайтасыз.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау