টমক্যাট দ্বারা সরবরাহ করা কোনও ফাইলের অ্যাক্সেসকে কীভাবে ব্লক করবেন?


10

আমাদের কয়েকটি টমক্যাট সার্ভার রয়েছে এবং আমরা সবেমাত্র আবিষ্কার করেছি যে কিছু ফাইল যা আমরা পাবলিক চাই না সেই ফাইলগুলিতে অ্যাক্সেস পেতে চাই। উদাহরণস্বরূপ:

ধরা যাক আমাদের একটি ফোল্ডার আছে / var / www / html / যা আমরা টোমক্যাটের মাধ্যমে প্রকাশ করছি, তবে আমরা /var/www/html/conf/dbinfo.txt প্রকাশ করতে চাই না। এই মুহুর্তে লোকেরা www.thissite.com/conf/dbinfo.txt এ যেতে সক্ষম হয়েছে এবং তারা জিনিসগুলি দেখতে সক্ষম হয়। আমি এটি ব্লক করতে সক্ষম হব তাই এটি এটি দেখায় না তবে এটি টমক্যাট নিজেই পড়তে দেয়।

কোন সাহায্য প্রশংসা করা হয়।


অনেক ভাল উত্তর আছে, তবে আমাদের উত্পাদন পরিবেশে সবচেয়ে সহজ এবং সহজ ছিল ২০০৪ সালের ২৪ শে জুন পোস্ট করা হয়েছিল
জিও

আপনার ইনপুটটির জন্য ধন্যবাদ, আমি উত্তর হিসাবে এটি গ্রহণের আগে কিছু ভোট পাওয়ার আশা করছিলাম, কারণ সেখানে ভোটের সাথে আরও কিছু রয়েছে। ধন্যবাদ!
জিও

উত্তর:


5

টমক্যাটের ফাইল অ্যাক্সেস ডাব্লুইইবি-আইএনএফ / ওয়েব.এক্সএমএল এর সুরক্ষা সীমাবদ্ধতা বিভাগ দ্বারা নিয়ন্ত্রণ করা হয়।

আপনি confএইভাবে অবরুদ্ধ করতে পারেন :

<security-constraint>
    <web-resource-collection>
        <web-resource-name>HTTP-Protected-Resource-1</web-resource-name>
        <description>Description here</description>
        <url-pattern>/conf/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
        <role-name>NOSOUPFORYOU</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
    <auth-method>DEFAULT</auth-method>
    <realm-name>NOACCESSFORANYONE</realm-name>
</login-config>
<security-role>
    <role-name>NOSOUPFORYOU</role-name>
</security-role>

আপনি যদি স্ট্যাচিক কন্টেন্ট পরিবেশন করার জন্য অ্যাপাচি ব্যবহার করছেন তবে এটি অ্যাপাচি কাজ করবে না কারণ টমক্যাটটি ইউআরএল আসার আগে কনফিফ ফাইলগুলি পরিবেশন করবে। এই ক্ষেত্রে, আপনার এপাচের HTTP কনফিগারেশন ফাইলগুলির মাধ্যমে সমাধান করতে হবে।


4

কেন এটি আপনার ওয়েব ডিরেক্টরি কাঠামোর বাইরে সঞ্চয় করবেন না? আমরা কখনই / var / www / html / এর আওতায় রাখি না যা আমরা কোনও ব্যবহারকারী আবিষ্কার করতে চাই না।


4

এই পোস্টে সমস্ত সিসএডমিন এবং আইটি কর্মীদের হ্যালো। আপনার প্রতিক্রিয়া জন্য ধন্যবাদ। আমার প্রশ্নের উত্তরগুলির অনেকগুলি গ্রহণযোগ্য ছিল তবে এটি আমাদের উত্পাদন পরিবেশের জন্য সবচেয়ে উপযুক্ত।

ঠিক আছে. সার্ভার.এক্সএমএলে ভার্চুয়াল হোস্টের মধ্যে ডিরেক্টরি বা একটি ফাইল ব্লক করতে আপনাকে কেবল টমক্যাট / কনফার্ট ডিরেক্টরিতে সার্ভার.এক্সএমএল-এ নিম্নলিখিত কোডটি যুক্ত করতে হবে।

আগে:

  <Host name="www.customer.com" appBase="/usr/share/app4_0b/tomcat/webapps/" autoDeploy="false">
    <Context path="" docBase="./customer" />

    <Valapp className="org.apache.catalina.valapps.FastCommonAccessLogValapp"
           directory="weblogs/customer"
           prefix="www_customer_com_"
           suffix=".txt"
           pattern="combined"
           resolappHosts="false" />
  </Host>

পরে:

  <Host name="www.customer.com" appBase="/usr/share/app4_0b/tomcat/webapps/" autoDeploy="false">
    <Context path="" docBase="./customer" />

    <Context path="/app/xv/~customer/etc" docBase="" >
      <Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
    </Context>
    <Context path="/etc" docBase="" >
      <Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
    </Context>

    <Valapp className="org.apache.catalina.valapps.FastCommonAccessLogValapp"
           directory="weblogs/customer"
           prefix="www_customer_com_"
           suffix=".txt"
           pattern="combined"
           resolappHosts="false" />
  </Host>

সুতরাং প্রশ্নের উত্তরটি হ'ল নিম্নলিখিত লাইনগুলি যুক্ত করুন:

    <Context path="/app/xv/~customer/etc" docBase="" >
      <Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
    </Context>
    <Context path="/etc" docBase="" >
      <Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
    </Context>

2

পরামর্শের শব্দ। অনুমতিগুলি ঠিক করার পরে। সমস্ত পাসওয়ার্ড পরিবর্তন করুন এবং নিশ্চিত করুন যে এর কোনও গুগল ক্যাশে নেই।


ধন্যবাদ! এখনই স্থির আমি এটি জানতে চাই যে এটির জন্য এখানে আরও ভাল কোনও ফিক্স রয়েছে কিনা। আমি যদি উত্তর না পাই তবে আমি পোস্টটি পোস্ট করব। আবার ধন্যবাদ.
জিও

2

সাধারণত কনফিগারেশন তথ্য (যেমন ডাটাবেস সংযোগের তথ্য, ...) টমক্যাটে মোতায়েন করা ওয়ারের ফাইলের WEB-INF ফোল্ডারের অধীনে ফাইলগুলিতে সংরক্ষণ করা হয়। WEB-INF এর অধীনে থাকা ফাইলগুলি ক্লায়েন্টদের কাছে অ্যাক্সেসযোগ্য নয়।


0

একই সমস্যা রয়েছে তবে আমি দেখতে পাচ্ছি না যে গৃহীত উত্তর কীভাবে সত্যই কাজ করতে পারে। এখানে চাওয়া ভালভটি এনটিআরআইআর ওয়েবপ্যাপে প্রযোজ্য। এর অংশ নয়। সুতরাং আমি ধরে নিচ্ছি যে এই ক্ষেত্রে একবার এটি কোনও প্রসঙ্গটিকে ওয়েব অ্যাপের প্রতিনিধিত্বকারী হিসাবে স্বীকৃতি দিতে না পারলে এটি কেবল নির্দেশটিকে উপেক্ষা করে লগ ফাইলে কিছু মন্তব্য ফেলে দেয়।


0

আপনি সার্ভার.এক্সএমএল ফাইলের মাধ্যমে জনসাধারণের অ্যাক্সেসে ডিরেক্টরিটি ব্লক করতে পারেন

এই সার্ভার.এক্সএমএল ফাইলটিতে এই লাইনগুলি যুক্ত করুন

    <Context path="/opt/tomcat7/webapps/examples" docBase="" >
    <Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
    </Context>

    <Context path="/examples" docBase="" >
    <Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
    </Context>

তারপরে সেই http: // লোকালহোস্ট: 8080 / উদাহরণগুলিতে অ্যাক্সেস করুন তবে এটি 404 পৃষ্ঠার ত্রুটি হিসাবে দেখায়, অর্থাত্) অবরুদ্ধ means

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.