বাকি সিস্টেম থেকে অ্যাপাচি ভার্চুয়ালহোস্টগুলি বিচ্ছিন্ন করা


11

আমি একটি ওয়েব সার্ভার স্থাপন করছি যা বিভিন্ন অ্যাপ্লিকেশনকে অ্যাপাচি ভার্চুয়ালহোস্ট হিসাবে বিভিন্ন হোস্ট করবে, এর প্রত্যেকটির স্ক্রিপ্ট চালানোর সম্ভাবনা থাকবে (প্রাথমিকভাবে পিএইচপি, সম্ভাব্য অন্যরা)।

আমার প্রশ্ন হ'ল আমি কীভাবে এই ভার্চুয়ালহোস্টগুলির প্রত্যেককে এবং অন্য সিস্টেম থেকে আলাদা করে রাখি? আমি চাই না উদাহরণস্বরূপ ওয়েবসাইট এক্স ওয়েবসাইট ওয়াই বা সার্ভারের কোনও "ব্যক্তিগত" ফাইলের কনফিগারেশনটি পড়ুন।

এই মুহুর্তে আমি এখানে বর্ণিত অনুসারে ফাস্টসিজিআই, পিএইচপি এবং এসইউএক্স্যাকের সাথে ভার্চুয়াল হোস্টগুলি সেট আপ করেছি ( http://x10hosting.com/forums/vps-tutorials/148894-deban-apache-2-2-fastcgi-php-5-suexec -easy-way.html ), তবে Suexec কেবল ব্যবহারকারীদের নিজস্ব ব্যতীত অন্যান্য ফাইল সম্পাদনা / সম্পাদন করতে বাধা দেয় - ব্যবহারকারীরা এখনও কনফিগারেশন ফাইলের মতো সংবেদনশীল তথ্য পড়তে পারবেন।

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

আমি ক্রুট ব্যবহারের ক্ষেত্রেও নজর রেখেছি, তবে মনে হচ্ছে এটি কেবলমাত্র প্রতি সার্ভার ভিত্তিতে করা যেতে পারে, প্রতি ভার্চুয়াল-হোস্ট ভিত্তিতে নয়।

আমি এমন কোনও পরামর্শ খুঁজছি যা আমার ভার্চুয়ালহোস্টগুলি সিস্টেমের বাকী অংশ থেকে আলাদা করে দেবে।

PS আমি উবুন্টু 12.04 সার্ভার চালাচ্ছি

আমার উত্তর: আমি আমার বর্তমান কনফিগারেশনটি প্রায় অনুসরণ করে শেষ করেছি, তবে সমস্ত ভার্চুয়াল হোস্টের জন্য ক্রুট জেল করা, যেমন ক্রুট জেল থাকায় /var/wwwএবং তারপরে গ্রুপ / অন্যদের সাথে আর / ডাব্লু / এক্স অনুমতি সহ সাবফোল্ডারে সমস্ত ব্যবহারকারীর ডেটা থাকবে অক্ষম। এই বিকল্পটি কাঙ্ক্ষিত ছিল বিশেষত কারণ উত্স কোডে কোনও পরিবর্তন ছাড়াই এটি সম্ভব।

আমি @ ক্রিসের উত্তরটি নির্বাচন করেছি, কারণ এটি পুরোপুরি লেখা ছিল এবং এফটিপি এবং সেলইনাক্সও বিবেচিত হয়েছিল

উত্তর:


4

এটি অ্যাপাচে Mod_users মডিউল সক্ষম করে করা যেতে পারে।

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

<IfModule mod_users.c>
   Include conf/extra/userdir.conf
</IfModule>

আমি তোমাদের সমগ্র টিউটোরিয়ালটি দিতে পারে কিন্তু এই আপনি কনফিগার করার জন্য অ্যাপাচি শুরু করা উচিত: http://www.techytalk.info/enable-userdir-apache-module-ubuntu-debian-based-linux-distributions/

ইঙ্গিত যদি আপনি সেলইনাক্স চালাচ্ছেন (এবং আপনার হওয়া উচিত) আপনাকে অ্যাপাচি ব্যবহারকারীর বাড়িতে অ্যাক্সেস দিতে হবে। আপনি সেট করে এটি করতে পারেন:

sudo setsebool -P httpd_enable_homedirs=On

এটি ব্যবহারকারীর কাছে জনগণের_html ডিরেক্টরি ফাইলের অনুমতি এবং মূল ডিরেক্টরিতে rx অনুমতি দরকার।

স্পষ্টতই আপনাকে ব্যবহারকারীদের জন্য ক্রুট সেটআপ করতে হবে উদাহরণস্বরূপ vsftpd এ। ইনস্টল করুন:

apt-get vsftpd

Vi বা ন্যানোর সাথে ক্রুটিং ওপেন /etc/vsftpd/vsftpd.conf কনফিগার করতে। সন্ধান করুন এবং অসুবিধে করুন বা যুক্ত করুন: chroot_local_user = হ্যাঁ

আপনি এসফটিপি-র জন্য একই আচরণটি পেতে পারেন যা আমি এফটিপি-র উপরে প্রস্তাব করি, / ইত্যাদি / এসএসএস / এসএসডি_কনফিগ খুলুন এবং একটি ম্যাচ ব্লক এবং এই লাইনটি যুক্ত করুন:

Subsystem   sftp    internal-sftp

Match Group web_users
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
Match

এটি ওয়েব_উসার্স গ্রুপের যে কোনও ব্যবহারকারীর ক্রোট করবে । এছাড়াও আপনাকে শেলটিকে / sbin / nologin এ সেট করে অ্যাক্সেস অস্বীকার করতে হবে:

useradd -G "web_users" -s /sbin/nologin new_user

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


3
আমি দেখতে পাচ্ছি না কীভাবে mod_userdirপৃথক ডোমেনগুলির ভার্চুয়াল হোস্টিং সরবরাহ করে। অতিরিক্তভাবে, বিচ্ছিন্নতার ক্ষেত্রে আমার সুরক্ষা সম্পর্কে উদ্বেগ রয়েছে কারণ আমি অ্যাপাচের মধ্যে ব্যবহারকারীর ডিরেক্টরিগুলির মধ্যে এটি সম্পর্কে কিছুই খুঁজে পাচ্ছি না। এটি কেবল এই বৈশিষ্ট্যটি সরবরাহ করবে না বলে মনে হচ্ছে।
gertvdijk

6

আমি কটাক্ষপাত করা হবে সেটির পরামর্শ suphpবা পিএইচপি-FPM

এটি মূলত পিএইচপি ইন্টারপ্রেটারকে সেই ভার্চুয়ালহোস্টের জন্য কনফিগার করা কিছু নির্দিষ্ট ব্যবহারকারীর 'su' করতে সক্ষম করবে। এটি আপনাকে প্রতিটি ফাইল ভার্চুয়ালহোস্টকে আলাদা করতে সাধারণ ফাইল সিস্টেমের অনুমতিগুলি ব্যবহার করতে দেয়।

পারফরম্যান্স বিবেচনার জন্য আমি এফপিএমের পরামর্শ দেব। হোমপেজ থেকে এটি আপনার পক্ষে সবচেয়ে আগ্রহী:

প্রতি পুলের ব্যবহারকারী এবং গোষ্ঠী বিকল্পগুলিও আগ্রহের বিষয়, যা আপনাকে প্রদত্ত ইউআইডি এবং গ্রিডের অধীনে সেই নির্দিষ্ট এফএমপি পুলটি চালানোর অনুমতি দেয়; বিদায় suphp!


4

1
আমি এই লিঙ্কগুলিতে নজর রেখেছি, তবে মনে হয় না যে আমি প্রতি ভার্চুয়াল-হোস্টের ভিত্তিতে ক্রুট করতে পারি। হতে পারে আমার মতো ক্রোট করার জন্য আমার একটি গ্লোবাল www ডিরেক্টরি সংজ্ঞায়িত করা উচিত /var/www, এবং সমস্ত হোস্টগুলিকে সেখানে একটি উপ-ডিরেক্টরিতে থাকতে হবে, এই প্রত্য-ডিরেক্টরি প্রত্যেকেই বিশ্বব্যাপী চালানো / পড়ার অনুমতি সরিয়ে নিয়েছে?
জেস্পারবি

আমার মূল বক্তব্যটি ছিল chrootএবং আপনি প্রতি ভার্চুয়াল সার্ভার এটি করতে পারেন। এখানে একটি উদাহরণ। এই ক্ষেত্রে, তারা ব্যবহার করছে mod_chroot
tacot মঙ্গলবার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.