{"id":18619,"date":"2026-07-13T21:29:56","date_gmt":"2026-07-13T17:59:56","guid":{"rendered":"https:\/\/maralhost.com\/kb\/docs\/security\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-hardening-%d9%88%d8%a8%d8%b3%d8%b1%d9%88%d8%b1-nginx%d8%9b-%d8%a7%d9%81%d8%b2%d8%a7%db%8c%d8%b4-%d8%a7%d9%85%d9%86%db%8c%d8%aa-%d9%88-%da%a9%d8%a7%d9%87%d8%b4\/"},"modified":"2026-07-20T10:52:18","modified_gmt":"2026-07-20T07:22:18","slug":"nginx-hardening","status":"publish","type":"docs","link":"https:\/\/maralhost.com\/kb\/docs\/security\/nginx-hardening\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 Hardening \u0648\u0628\u200c\u0633\u0631\u0648\u0631 Nginx"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0645\u0642\u062f\u0645\u0647<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0635\u0628 Nginx \u062a\u0646\u0647\u0627 \u0627\u0648\u0644\u06cc\u0646 \u0642\u062f\u0645 \u062f\u0631 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0627\u0633\u062a. \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u06cc\u0646 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u0646\u0647 \u0628\u0631\u0627\u06cc \u062d\u062f\u0627\u06a9\u062b\u0631 \u0627\u0645\u0646\u06cc\u062a. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644\u060c \u067e\u0633 \u0627\u0632 \u0646\u0635\u0628 Nginx \u0628\u0627\u06cc\u062f \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u06cc\u0627 <strong>Hardening<\/strong> \u0631\u0648\u06cc \u0622\u0646 \u0627\u0639\u0645\u0627\u0644 \u0634\u0648\u062f \u062a\u0627 \u0633\u0637\u062d \u062d\u0645\u0644\u0647 (Attack Surface) \u06a9\u0627\u0647\u0634 \u06cc\u0627\u0628\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0645\u0646\u200c\u0633\u0627\u0632\u06cc Nginx \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0639\u0645\u0644\u06cc \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0628\u0631\u0631\u0633\u06cc \u0646\u0633\u062e\u0647 Nginx<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0628\u062a\u062f\u0627 \u0646\u0633\u062e\u0647 \u0646\u0635\u0628\u200c\u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nginx -v\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0645\u0644\u200c\u062a\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nginx -V\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0645\u06cc\u0634\u0647 \u0627\u0632 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u200c\u0634\u062f\u0647 \u0648 \u0628\u0647\u200c\u0631\u0648\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc Nginx<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu \/ Debian<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\n\nsudo apt upgrade nginx\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">AlmaLinux \/ Rocky Linux<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf update nginx\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0645\u062e\u0641\u06cc \u06a9\u0631\u062f\u0646 \u0646\u0633\u062e\u0647 Nginx<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0647\u200c\u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636\u060c \u0646\u0633\u062e\u0647 Nginx \u062f\u0631 \u0647\u062f\u0631 HTTP \u0648 \u0635\u0641\u062d\u0627\u062a \u062e\u0637\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/nginx\/nginx.conf\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0627\u062e\u0644 \u0628\u062e\u0634 <code>http<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server_tokens off;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0631\u0633\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nginx -t\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0639\u0645\u0627\u0644 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reload nginx\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 Auto Index<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Auto Index \u0641\u0639\u0627\u0644 \u0628\u0627\u0634\u062f\u060c \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u067e\u0648\u0634\u0647\u200c\u0647\u0627 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0627\u062e\u0644 Virtual Host:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>autoindex off;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0645\u062a\u062f\u0647\u0627\u06cc HTTP<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627 \u0641\u0642\u0637 \u0627\u06cc\u0646 \u0645\u062a\u062f\u0647\u0627 \u06a9\u0627\u0641\u06cc \u0647\u0633\u062a\u0646\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GET<\/li>\n\n\n\n<li>POST<\/li>\n\n\n\n<li>HEAD<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u0633\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0633\u0627\u06cc\u0631 \u0645\u062a\u062f\u0647\u0627:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/ {\n\n    limit_except GET POST HEAD {\n        deny all;\n    }\n\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u062e\u0641\u06cc<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>location ~ \/\\. {\n    deny all;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u0642\u0627\u0646\u0648\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>.git<\/li>\n\n\n\n<li>.env<\/li>\n\n\n\n<li>.htaccess<\/li>\n\n\n\n<li>.bash_history<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc Backup<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>location ~* \\.(bak|old|backup|swp|tmp)$ {\n    deny all;\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>location ~* \\.(ini|conf|log|env)$ {\n    deny all;\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 Directory Traversal<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>location ~ \\.\\. {\n    deny all;\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u062d\u062c\u0645 Upload<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0628\u0632\u0631\u06af:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>client_max_body_size 20M;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u0646\u06cc\u0627\u0632 \u0648\u0628\u200c\u0633\u0627\u06cc\u062a \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u062a\u0646\u0638\u06cc\u0645 Timeout\u0647\u0627<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0645\u0648\u0646\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>client_body_timeout 10;\nclient_header_timeout 10;\nsend_timeout 10;\nkeepalive_timeout 30;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0627\u062b\u0631 \u0628\u0631\u062e\u06cc \u062d\u0645\u0644\u0627\u062a Slow HTTP \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u0646\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 HTTPS<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0645\u0627\u0645 \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 HTTPS \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0645\u0648\u0646\u0647:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>listen 443 ssl http2;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 TLS\u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0642\u0637 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssl_protocols TLSv1.2 TLSv1.3;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Cipher\u0647\u0627\u06cc \u0627\u0645\u0646<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>ssl_prefer_server_ciphers on;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cipher Suite \u0645\u0646\u0627\u0633\u0628 \u0631\u0627 \u0646\u06cc\u0632 \u0645\u0637\u0627\u0628\u0642 \u062a\u0648\u0635\u06cc\u0647\u200c\u0647\u0627\u06cc \u0631\u0648\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 HSTS<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains\" always;\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u0641\u0642\u0637 \u0632\u0645\u0627\u0646\u06cc \u0627\u06cc\u0646 \u0647\u062f\u0631 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u06a9\u0644 \u0633\u0627\u06cc\u062a \u0648 \u0632\u06cc\u0631\u200c\u062f\u0627\u0645\u0646\u0647\u200c\u0647\u0627 \u0627\u0632 HTTPS \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 Header\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>add_header X-Frame-Options \"SAMEORIGIN\" always;\n\nadd_header X-Content-Type-Options \"nosniff\" always;\n\nadd_header Referrer-Policy \"strict-origin-when-cross-origin\" always;\n\nadd_header Permissions-Policy \"geolocation=(), microphone=(), camera=()\" always;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646\u060c \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 <strong>Content-Security-Policy (CSP)<\/strong> \u0646\u06cc\u0632 \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0628\u0627\u06cc\u062f \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u0633\u0627\u062e\u062a\u0627\u0631 \u0633\u0627\u06cc\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u0648\u062f \u062a\u0627 \u0628\u0627\u0639\u062b \u0627\u062e\u062a\u0644\u0627\u0644 \u062f\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f \u0646\u0634\u0648\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 Rate Request<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0645\u0648\u0646\u0647:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>limit_req_zone $binary_remote_addr zone=login:10m rate=5r\/s;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/login {\n\n    limit_req zone=login burst=10;\n\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u062d\u0645\u0644\u0627\u062a Brute Force \u0648 Flood \u0631\u0648\u06cc \u0635\u0641\u062d\u0627\u062a \u0648\u0631\u0648\u062f \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u06a9\u0646\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u062a\u0639\u062f\u0627\u062f \u0627\u062a\u0635\u0627\u0644<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>limit_conn_zone $binary_remote_addr zone=addr:10m;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>limit_conn addr 20;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 Trace<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Nginx \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0632 \u0645\u062a\u062f TRACE \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062a\u0646\u0638\u06cc\u0645 \u0627\u0636\u0627\u0641\u0647 \u0628\u0631\u0627\u06cc \u063a\u06cc\u0631\u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u0622\u0646 \u0646\u06cc\u0633\u062a.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0645\u062d\u0627\u0641\u0638\u062a \u0627\u0632 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc PHP<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0627\u0632 PHP-FPM \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0641\u0642\u0637 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc PHP \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0631\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u062c\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc PHP \u0627\u0632 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc Upload \u0631\u0627 \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0645\u0648\u0646\u0647:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location ~* ^\/uploads\/.*\\.php$ {\n    deny all;\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0628\u0631\u0631\u0633\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0647\u0631 \u062a\u063a\u06cc\u06cc\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nginx -t\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>syntax is ok\ntest is successful\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reload nginx\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u062a\u0633\u062a \u0627\u0645\u0646\u06cc\u062a<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0627\u0639\u0645\u0627\u0644 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a\u060c \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Header\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc<\/li>\n\n\n\n<li>TLS Version<\/li>\n\n\n\n<li>Cipher Suite<\/li>\n\n\n\n<li>HSTS<\/li>\n\n\n\n<li>Directory Listing<\/li>\n\n\n\n<li>HTTP Methods<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SSL Labs<\/li>\n\n\n\n<li>Security Headers<\/li>\n\n\n\n<li>Mozilla Observatory<\/li>\n\n\n\n<li>Nmap (\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc NSE)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nginx \u0631\u0627 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0641\u0642\u0637 \u067e\u0648\u0631\u062a\u200c\u0647\u0627\u06cc 80 \u0648 443 \u0631\u0627 \u0628\u0627\u0632 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u062f.<\/li>\n\n\n\n<li>\u0646\u0633\u062e\u0647 Nginx \u0631\u0627 \u0645\u062e\u0641\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>HTTPS \u0631\u0627 \u0627\u062c\u0628\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0627\u0632 Header\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>Rate Limiting \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062d\u0633\u0627\u0633 \u0631\u0627 \u0645\u0633\u062f\u0648\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0644\u0627\u06af\u200c\u0647\u0627\u06cc Nginx \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062f\u0648\u0631\u0647\u200c\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0645\u06a9\u0627\u0646 \u0627\u0632 WAF \u0645\u0627\u0646\u0646\u062f ModSecurity \u06cc\u0627 Imunify360 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0627\u0634\u062a\u0628\u0627\u0647\u0627\u062a \u0631\u0627\u06cc\u062c<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0646\u0645\u0627\u06cc\u0634 \u0646\u0633\u062e\u0647 Nginx<\/li>\n\n\n\n<li>\u0641\u0639\u0627\u0644 \u0628\u0648\u062f\u0646 Auto Index<\/li>\n\n\n\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 TLS 1.0 \u06cc\u0627 TLS 1.1<\/li>\n\n\n\n<li>\u0639\u062f\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Header\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc<\/li>\n\n\n\n<li>\u0639\u062f\u0645 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627<\/li>\n\n\n\n<li>\u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc Backup \u062f\u0631 \u0645\u0633\u06cc\u0631 \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633 \u0648\u0628<\/li>\n\n\n\n<li>\u0639\u062f\u0645 \u0628\u0631\u0631\u0633\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0627 <code>nginx -t<\/code> \u0642\u0628\u0644 \u0627\u0632 Reload<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0686\u06a9\u200c\u0644\u06cc\u0633\u062a<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 Hardening\u060c \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nginx \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/li>\n\n\n\n<li>\u0646\u0633\u062e\u0647 Nginx \u0645\u062e\u0641\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/li>\n\n\n\n<li>HTTPS \u0641\u0639\u0627\u0644 \u0627\u0633\u062a.<\/li>\n\n\n\n<li>TLS\u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u0634\u062f\u0647\u200c\u0627\u0646\u062f.<\/li>\n\n\n\n<li>Header\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f.<\/li>\n\n\n\n<li>Directory Listing \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u0627\u0633\u062a.<\/li>\n\n\n\n<li>\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062d\u0633\u0627\u0633 \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a\u0646\u062f.<\/li>\n\n\n\n<li>Rate Limiting \u0641\u0639\u0627\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/li>\n\n\n\n<li>\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u062f\u0648\u0646 \u062e\u0637\u0627 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Hardening \u0648\u0628\u200c\u0633\u0631\u0648\u0631 Nginx \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u0645\u0631\u0627\u062d\u0644 \u0627\u06cc\u0645\u0646\u200c\u0633\u0627\u0632\u06cc \u0647\u0631 \u0633\u0631\u0648\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633\u06cc \u0627\u0633\u062a. \u0628\u0627 \u0627\u0639\u0645\u0627\u0644 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f \u0645\u062e\u0641\u06cc \u06a9\u0631\u062f\u0646 \u0646\u0633\u062e\u0647 Nginx\u060c \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 Directory Listing\u060c \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0645\u062a\u062f\u0647\u0627\u06cc HTTP\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 TLS\u0647\u0627\u06cc \u0627\u0645\u0646\u060c \u0627\u0641\u0632\u0648\u062f\u0646 Header\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 Rate Limiting\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0633\u0637\u062d \u062d\u0645\u0644\u0647 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0627\u0646 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u06a9\u0627\u0647\u0634 \u062f\u0627\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0644\u0628\u062a\u0647 Hardening \u062a\u0646\u0647\u0627 \u0628\u0647 Nginx \u0645\u062d\u062f\u0648\u062f \u0646\u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u0646 \u0628\u0647 \u06cc\u06a9 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0627\u0645\u0646\u060c \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0641\u0627\u06cc\u0631\u0648\u0627\u0644\u060c Fail2Ban\u060c \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0645\u0646\u0638\u0645 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644\u060c \u0645\u0627\u0646\u06cc\u062a\u0648\u0631\u06cc\u0646\u06af \u0644\u0627\u06af\u200c\u0647\u0627 \u0648 \u0631\u0639\u0627\u06cc\u062a \u0627\u0635\u0648\u0644 \u0627\u0645\u0646\u06cc\u062a\u06cc \u062f\u0631 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0646\u06cc\u0632 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u06a9\u06cc\u0627\u0646 \u067e\u0648\u0631<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 \u0646\u0635\u0628 Nginx \u062a\u0646\u0647\u0627 \u0627\u0648\u0644\u06cc\u0646 \u0642\u062f\u0645 \u062f\u0631 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0627\u0633\u062a. \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u06cc\u0646 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u0646\u0647 \u0628\u0631\u0627\u06cc \u062d\u062f\u0627\u06a9\u062b\u0631 \u0627\u0645\u0646\u06cc\u062a. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644\u060c \u067e\u0633 \u0627\u0632 \u0646\u0635\u0628 Nginx \u0628\u0627\u06cc\u062f \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u06cc\u0627 Hardening \u0631\u0648\u06cc \u0622\u0646 \u0627\u0639\u0645\u0627\u0644 \u0634\u0648\u062f \u062a\u0627 \u0633\u0637\u062d \u062d\u0645\u0644\u0647 (Attack Surface) \u06a9\u0627\u0647\u0634 \u06cc\u0627\u0628\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0645\u0646\u200c\u0633\u0627\u0632\u06cc [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":17248,"parent":17595,"menu_order":42,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-18619","docs","type-docs","status-publish","has-post-thumbnail","hentry"],"acf":[],"author_avatar":"https:\/\/maralhost.com\/kb\/wp-content\/litespeed\/avatar\/c59fc140fa83b542ed78a005738a60da.jpg?ver=1786315553","author_name":"Shayan Kianpoor","_links":{"self":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/18619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/comments?post=18619"}],"version-history":[{"count":3,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/18619\/revisions"}],"predecessor-version":[{"id":19061,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/18619\/revisions\/19061"}],"up":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/17595"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/media\/17248"}],"wp:attachment":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/media?parent=18619"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/doc_tag?post=18619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}