- 
	
			
				
					November 13th, 2017, 03:06
				
			
			
				
					#1
				
				
				
			
	 
	
		
			
			
				عضو جدید
			
			
			
			
			
			
				
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
				
					
 آموزش مخفی کردن نسخه وب سرور Nginx
				
				
						
							
							
						
						
							
						
				
					
						
							یکی از موارد امنیتی مخفی کردن نسخه ی نرم افزارهایی می باشد که روی سرور نصب شده اند و در حال سرویس دهی به کاربران می باشد.از جمله مزایای اینکار این می باشد که باعث می شود شخص نفوذگر از نسخه ی آن نرم افزار اطلاع پیدا نکند و روند نفوذ و آسیب پذیری سرور را مشکل تر می کند و یا اینکه نسخه ی جدید نرم افزار منتشر شده است و شما بنا به دلایلی تمایل به بروزرسانی نرم افزار ندارید و قصد دارید تا دیگران از جمله نفوذگران از این مورد مطلع نشود.از این رو بهتر است که نسخه نرم افزارهایی که روی سرور نصب هستند و در حال سرویس دهی می باشند را مخفی کنید.در این مطلب قصد داریم تا اینکار را بر روی وب سرور Nginx انجام دهیم.ابتدا جهت بررسی اینکه آیا نسخه ی وب سرور Nginx قابل مشاهده می باشد یا خیر ،کافیست تا از دستور زیر استفاده کنید :
	کد:
	$curl -I 192.168.56.170
 نکته اینکه بجای IP نوشته شده،شما باید از IP و یا دامنه ی سرور خود استفاده نمایید و اگر بسته ی curl روی سیستم شما نصب نیست کافیست تا آن را نصب کنید.یک نمونه خروجی دستور گفته شده را در پایین مشاهده می کنید که نسخه nginx 1.6.3 را نمایش می دهد :
	کد:
	$ curl -I 192.168.56.170
HTTP/1.1 200 OK
Server: nginx/1.6.3
Date: Sun, 17 Apr 2016 13:12:51 GMT
Content-Type: text/html
Content-Length: 3700
Last-Modified: Tue, 26 Jan 2016 18:15:47 GMT
Connection: keep-alive
ETag: “56a7b7d3-e74”
Accept-Ranges: bytes
 اکنون جهت مخفی کردن نسخه ی Nginx  کافیست تا فایل تنظیمات Nginx را باز کنید :
	کد:
	# vi /etc/nginx/nginx.conf
 اکنون کافیست تا این خط را در قسمت http قرار دهید :
یک نمونه از فایل تنظیمات را در پایین مشاهده می کنید :
	کد:
	# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
server_tokens off;
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/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
 اکنون کافیست تا سرویس nginx را یکبار restart کنید :
	کد:
	#systemctl restart nginx
 جهت آزمایش کار می توانید از این دستور استفاده کنید :
	کد:
	$curl  -I 192.168.56.170
 که در خروجی چیزی شبیه به این خواهید دید :
	کد:
	$ curl -I 192.168.56.170
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 17 Apr 2016 13:02:18 GMT
Content-Type: text/html
Content-Length: 3700
Last-Modified: Tue, 26 Jan 2016 18:15:47 GMT
Connection: keep-alive
ETag: “56a7b7d3-e74”
Accept-Ranges: bytes
 همانطور که در خروجی مشاهده می کنید نسخه Nginx حذف شده است.
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
    
 
		
		- 
		
			
						
						
							November 13th, 2017 03:06
						
					
					
						
							 # ADS