ایمن سازی سرویس دهنده وب tomcat

در این مقاله به آموزش ایمن سازی سرویس دهنده وب tomcat خواهیم پرداخت.

 

tomcat-logo

 

اجازه بدهید که شروع کنیم.

۱- پاک کردن banner سرویس دهنده

بصورت پیش فرض تمام سرویس دهنده های وب از طریق banner خودشان را بصورت کامل به کلاینت معرفی مکنند که این می تواند خود باعث نا امنی و پیدا کردن باگ های نسخه در حال سرویس دهی شود .

برای پاک کردن این banner بصورت زیر عمل میکنیم

  • به مسیری که tomcat را نصب کرده ایم میرویم
  • سپس فایل server.xml را با ویرایشگر محبوب خودمان باز میکنیم و خط زیر را به قسمت connector خودمان اضافه میکنیم.

Server =” “

در زیر مثالی برای این مورد آورده شده است.

<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
Server =” ”
redirectPort=”8443″ />

۲- راه اندازی tomcat با security manager

راه اندازی با استفاده  از security manage باعث میشود که untrusted applet ها در مرورگر شما اجرا نشوند.

برای اینکه بتوانم tomcat را در این حالت بالا بیاوریم باید اسکریپت شروعش را بصورت زیر اجرا کنیم .

$tomcat_home/bin/startup.sh -security

۳- فعال کردن access log

این لاگ بخاطر داشتن سابقه ای از دسترسی هایی که سرویس دهنده انجام میشود راه اندازی میشود.

برای فعال کردن access log بصورت زیر عمل میکنیم

  • ابتدا به محل نصب tomcat بر روی سیستم میرویم
  • سپس فایل server.xml را با ویرایشگر محبوب خود باز میکینم
  • به انتهای فایل رفته و قسمت مربوط به valves.AccessLogValue را از حالت توضیحات خارج میکنیم .

در زیر مثالی برای این مورد آورده شده است.

<Valve className=”org.apache.catalina.valves.AccessLogValve”
directory=”logs”
prefix=”localhost_access_log.”
suffix=”.txt”
pattern=”common” resolveHosts=”false”/>

۴- فعال کردن HTTPS

این مورد در مقاله ای جداگانه به تفصیل آموزش داده خواهد شد.

شما متیوانید برای خواندن آموزش درست کردن CSR به اینجا و گرفتن certificate از lets encrypt به اینجا مراجعه کنید.

۵- اضافه کردن security flag به کوکی ها

گاهی اوقات ممکن است که مهاجم اطلاعات session و کوکی ها را سرقت کرده و از آنها سو استفاده کند . برای این منظور ما security flag را برای کوکی ها فعال میکنیم .

برای فعال کردن این مورد بصورت زیر عمل مکنیم.

  • ابتدا به محل نصب tomcat بر روی سیستم میرویم
  • فایل server.xml را با ویرایشگر محبوبمان باز میکنیم و عبارت زیر را به connector خودمان اضافه میکنیم .

Secure=”true”

در زیر مثالی برای این مورد آورده شده است.

<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
Server=” ”
Secure=”true”
redirectPort=”8443″ />

۶- اضافه کردن httponly به کوکی ها

برای این منظور بصورت زیر عمل میکنیم.

  • ابتدا به محل نصب tomcat بر روی سیستم میرویم
  • فایل context.xml را با ویرایشگر محبوب خودمان باز میکنیم و عبارت زیر را به دایرکتیو context اضافه میکنیم .

usehttponly=”true”

در زیر مثالی برای این مورد آورده شده است.

<context usehttponly=”true”>
…
</context>

۷- اجرا کردن tomcat تحت کاربر سیستمی خودش

برای اجرای سرویس ها بهتر است که آنها با نام کاربری خودشان در سیستم اجرا شوند تا زمانی که مهاجم توانست به آنها دسترسی پیدا کند مستقیم دسترسی root سیستم را در دست نداشته باشد.

برای این منظور بصورت زیر اقدام میکنیم.

  • یک کاربر به نام tomcat میسازیم
  • دسترسی و صاحب تمام فایل ها و مسیر نصب tomcat را به آن کاربر میدهیم

۸- پاک کردن اپلیکیشن هایی که همراه tomcat بصورت پیشفرض نصب میشوند

برای این منظور بصورت زیر عمل میکنیم.

  • ابتدا به محل نصب tomcat بر روی سیستم میرویم
  • دایرکتوری های ROOT,Docs,Examples,Manager,host-manager را پاک میکنیم یا اینکه دسرسی آنها را تغییر میدهیم.

۹- عوض کردن کلید shutdown کردن connector

بصورت پیشفرض در tomcat اگر به پورت ۸۰۰۵ وصل شوید و عبارت SHUTDOWN را تایپ کنید سرویس شما از دسترس خارج میشود. برای حل این مورد بصورت زیر عمل میکنیم .

  • ابتدا به محل نصب tomcat بر روی سیستم میرویم
  • فایل server.xml را با ویرایشگر محبوبمان باز میکنیم و در دایرکتیو server مقدار جلوی عبارت shutdown= و port= را تغییر میدهیم.

در زیر مثالی از این مورد برای شما آورده شده است.

<Server port=”8867″ shutdown=”NOTGONNAGUESS”>

۱۰- تغییر صفحه خطاهای ۴۰۴ , ۵۰۳ , ۴۰۳

در این مورد بهترین کار مشورت با توسعه دهنده و اضفه ککردن این موارد به application می باشد. ( در صورت نیاز شما میتوانید زیر همین پست درخواست دهید تا روش را بگذارم)

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *