Nginx — әлемдегі ең танымал веб-серверлердің бірі. Оның жоғары өнімділігі мен икемділігі үшін миллиондаған сайттар пайдаланады.
Дегенмен, кез келген бағдарламалық жасақтама сияқты, Nginx те осалдықтар болуы мүмкін, оларды зиянкестер пайдалана алады.
Nginx осалдықтарын басқару — бұл веб-серверлердің қауіпсіздігінің маңызды бөлігі. Бұл мақалада біз Nginx осалдықтарын басқарудың негізгі аспектілерін қарастырамыз.
Nginx осалдықтарының шолуы
Осалдықтардың түрлері
- Конфигурация қатесі: Дұрыс емес параметрлер рұқсат етілмеген қолжетімділікке немесе қызмет көрсетуден бас тартуға әкелуі мүмкін.
- Кодтағы осалдықтар: Бастапқы кодтағы қателер зиянкестерге еркін кодты орындауға немесе деректерге қол жеткізуге мүмкіндік беруі мүмкін.
- Үшінші тарап модульдері: Nginx функционалдығын кеңейту үшін қосылатын кейбір модульдерде осалдықтар болуы мүмкін.
Осалдықтарды басқару қадамдары
1. Nginx жаңарту
Nginx-ті соңғы нұсқаға үнемі жаңартып отыру — осалдықтарды басқарудың ең маңызды қадамдарының бірі. Әзірлеушілер үнемі қауіпсіздікті түзетулерді қамтитын жаңартуларды шығарып отырады.
Debian-based жүйелерінде жаңарту
sudo apt update
sudo apt upgrade nginx
Red Hat-based жүйелерінде жаңарту
sudo yum update nginx
Nginx ресми репозиторийін пайдалану арқылы жаңарту
# Nginx ресми репозиторийін қосу
sudo sh -c 'echo "deb http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx" > /etc/apt/sources.list.d/nginx.list'
sudo curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
# Соңғы нұсқаны жаңарту және орнату
sudo apt update
sudo apt install nginx
2. Конфигурацияны орнату
Nginx конфигурациялық файлдарын дұрыс орнату шабуыл бетінің көлемін айтарлықтай азайтуы мүмкін. Негізгі аспектілерді қарастырайық:
Қол жеткізу құқықтарын шектеу
Nginx минималды артықшылықтары бар пайдаланушы атынан іске қосылуы керек.
user nginx;
worker_processes auto;
Процестерді оқшаулау
Процестерді оқшаулау үшін chroot
пайдалану:
worker_processes 4;
worker_rlimit_nofile 8192;
pid /run/nginx.pid;
events {
worker_connections 4096;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
Қауіпсіз тақырыптар
Әртүрлі шабуылдардан қорғау үшін қауіпсіздік тақырыптарын қосу:
server {
listen 80;
server_name example.com;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; object-src 'none'";
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
3. Үшінші тарап модульдерін пайдалану
Үшінші тарап модульдерін пайдаланған кезде келесі аспектілерді ескеру қажет:
- Беделді тексеру: Тек сенімді әзірлеушілер немесе қауымдастықтар жасаған модульдерді пайдаланыңыз.
- Тұрақты жаңартулар: Модульдердің үнемі жаңартылып тұратынына көз жеткізіңіз.
- Минимизация: Тек сіздің инфрақұрылымыңыз үшін шынымен қажет модульдерді орнатыңыз.
4. Журналдар және мониторинг
Журнал жүргізу және мониторингті орнату шабуылдарды уақтылы анықтауға және алдын алуға көмектеседі.
Қол жеткізу және қателер журналдары
Қол жеткізу белсенділігін бақылау және күдікті әрекеттерді анықтау үшін қол жеткізу және қателер журналдарын қосу:
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log warn;
}
Аномалияларды мониторингтеу
Zabbix, Prometheus немесе ELK стегі сияқты мониторинг жүйелерін пайдалану арқылы күдікті белсенділікті және ықтимал қауіптерді анықтау.
5. Қол жеткізуді басқару
Әкімшілік интерфейстерге және маңызды ресурстарға қол жеткізуді шектеу үшін қол жеткізуді басқаруды орнату.
IP бойынша қол жеткізуді шектеу
IP бойынша қол жеткізуді басқаруды орнату мысалы:
location /admin {
allow 192.168.1.0/24;
deny all;
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Админ панелді қорғау
Әкімшілік интерфейстерді қорғау үшін auth_basic
пайдалану:
location /admin {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/.htpasswd;
}
.htpasswd
файлын жасау үшін:
# .htpasswd жасау үшін apache2-utils орнату
sudo apt-get install apache2-utils
# admin пайдаланушысын құпиясөзбен жасау
sudo htpasswd -c /etc/nginx/.htpasswd admin
Қорытынды
Nginx осалдықтарын басқару — бұл бағдарламалық жасақтаманы үнемі жаңарту, конфигурацияны дұрыс орнату, белсенділікті бақылау және қол жеткізуді басқаруды қамтитын үздіксіз процесс.
Осы ұсыныстар мен тәжірибелерді орындау арқылы сіз веб-серверіңіздің қауіпсіздігін айтарлықтай арттырып, оны ықтимал қауіптерден қорғай аласыз.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау