Nginx – өзінің өнімділігі мен икемділігі арқасында ең танымал веб-серверлердің бірі. Дегенмен, кез келген басқа веб-сервер сияқты, ол да әртүрлі кибершабуылдардың нысаны болуы мүмкін.
Бұл мақалада біз Ubuntu 22.04 жүйесінде Nginx веб-серверін қорғау үшін қауіпсіздік баптауларының негізгі қадамдарын қарастырамыз, нақты мысалдармен және нұсқаулармен.
Nginx орнату және жаңарту
Қауіпсіздік баптауларын бастамас бұрын, Nginx-ті орнатып, соңғы нұсқасына дейін жаңарту қажет.
-
Nginx орнату:
shsudo apt update sudo apt install nginx
-
Nginx жаңарту:
shsudo apt update sudo apt upgrade nginx
Файрволды (UFW) баптау
UFW (Uncomplicated Firewall) – iptables басқарудың қарапайым құралы. Файрволды тек қажетті порттарға рұқсат беру үшін баптаймыз.
-
SSH, HTTP және HTTPS трафигіне рұқсат беру:
shsudo ufw allow OpenSSH sudo ufw allow 'Nginx Full'
-
Файрволды қосу:
shsudo ufw enable
-
UFW күйін тексеру:
shsudo ufw status
SSL/TLS баптау
Трафикті шифрлау үшін SSL/TLS пайдалану веб-сервердің қауіпсіздігін қамтамасыз етудің міндетті қадамы болып табылады. Біз тегін SSL сертификатын алу үшін Let's Encrypt пайдаланамыз.
-
Certbot орнату:
shsudo apt install certbot python3-certbot-nginx
-
Сертификатты алу және орнату:
shsudo certbot --nginx
-
Сертификаттарды автоматты түрде жаңарту: Certbot сертификаттарды жаңарту үшін cron-тапсырманы автоматты түрде баптайды. Конфигурацияны тексеру:
shsudo systemctl list-timers | grep certbot
Nginx үшін SSL конфигурациясының мысалы:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com www.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:3000;
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;
}
}
DDoS-шабуылдардан қорғау
-
ngx_http_limit_req_module
модулін орнату: Бұл модуль бір IP-мекенжайдан сұраулар санын шектеуге мүмкіндік береді. -
Сұраулар санын шектеу баптауы: Nginx конфигурациялық файлын ашыңыз, мысалы:
shsudo nano /etc/nginx/nginx.conf
http
блогына келесі жолдарды қосыңыз:nginxhttp { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; server { ... location / { limit_req zone=one burst=5 nodelay; ... } } }
Бұл конфигурация сұрауларды секундына 1 сұрауға дейін шектейді және 5 сұрауға дейін burst болады.
-
Өзгерістерді қолдану үшін Nginx-ті қайта жүктеу:
shsudo systemctl reload nginx
Fail2ban көмегімен кибершабуылдардан қорғау
Fail2ban – бұл серверді күмәнді белсенділік бар IP-мекенжайларды бұғаттау арқылы қорғауға арналған құрал.
-
Fail2ban орнату:
shsudo apt install fail2ban
-
Nginx үшін конфигурациялық файл жасау:
/etc/fail2ban/jail.local
файлын жасап, оған келесі жолдарды қосыңыз:sh[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
Сонымен қатар,
/etc/fail2ban/filter.d/nginx-http-auth.conf
фильтр файлын жасаңыз:sh[Definition] failregex = no user/password was provided for basic authentication.*client: <HOST>
-
Fail2ban-ды қайта іске қосу үшін:
shsudo systemctl restart fail2ban
Жүктемелер өлшемін шектеу
Жүктелетін файлдардың өлшемін шектеу DoS-шабуылдардан және артық ресурстарды пайдаланудан сақтануға көмектеседі.
-
Жүктемелердің максималды өлшемін баптау: Nginx конфигурациялық файлын ашыңыз, мысалы:
shsudo nano /etc/nginx/nginx.conf
client_max_body_size
директивасын қосыңыз немесе өзгертіңіз:nginxhttp { ... client_max_body_size 10M; ... }
-
Өзгерістерді қолдану үшін Nginx-ті қайта жүктеу:
shsudo systemctl reload nginx
Жүйені жаңарту және патчинг
Операциялық жүйені және орнатылған пакеттерді жүйелі түрде жаңарту серверді осалдықтардан қорғауға көмектеседі.
-
Жүйені жаңарту:
shsudo apt update sudo apt upgrade
-
Автоматты жаңартуларды баптау: Қауіпсіздікті автоматты түрде жаңарту үшін
unattended-upgrades
пакетін орнатыңыз.shsudo apt install unattended-upgrades sudo dpkg-reconfigure --priority=low unattended-upgrades
Конфигурациялық файлдарды қорғау
-
Nginx конфигурациялық файлдарының қатынас құқықтарын баптау:
shsudo chown -R root:root /etc/nginx sudo chmod -R 644 /etc/nginx
-
Сындарлы файлдарға қатынас құқықтарын шектеу: Конфигурациялық файлдардың тек root пайдаланушыға қолжетімді екендігіне көз жеткізіңіз.
shsudo chmod 600 /etc/nginx/nginx.conf sudo chmod 600 /etc/nginx/sites-available/default
Қорытынды
Ubuntu 22.04 жүйесінде Nginx веб-серверін қорғау үшін қауіпсіздік баптаулары бірнеше маңызды қадамдарды қамтиды, мысалы, файрволды баптау, SSL/TLS пайдалану, DDoS-шабуылдардан қорғау және fail2ban құралын пайдалану.
Бұл шаралар веб-серверіңіздің қауіпсіздік деңгейін айтарлықтай арттыруға және оны көптеген ықтимал қауіптерден қорғауға көмектеседі.
Жүйені үнемі жаңартып отыру және конфигурациялық файлдарға қатынас құқықтарын баптау да қауіпсіздікті қамтамасыз етуде маңызды рөл атқарады.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау