টমক্যাট x.০০ সুরক্ষিত করতে আমার কী পদক্ষেপ নেওয়া উচিত?


10

আমি একটি নতুন টমক্যাট স্থাপনার স্থাপনের প্রক্রিয়াধীন, এবং এটি যথাসম্ভব সুরক্ষিত হওয়া চাই।

আমি একটি 'জাকার্তা' ব্যবহারকারী তৈরি করেছি এবং জেএসভিসি টমক্যাটকে ডেমন হিসাবে চালাচ্ছি। টমকেটের ফাইলগুলিতে অ্যাক্সেস সীমাবদ্ধ করার জন্য ডিরেক্টরি অনুমতি এবং এর মতো কোনও টিপস?

আমি জানি যে আমার ডিফল্ট ওয়েব অ্যাপস - ডক্স, উদাহরণ, ইত্যাদি অপসারণ করতে হবে ... এখানে কি আমার ব্যবহার করা উচিত? সমস্ত কনফিগার এক্সএমএল ফাইল সম্পর্কে কি? কোন টিপস আছে?

ওয়েব অ্যাপসটি একটি স্যান্ডবক্সে চালিত করা কি সুরক্ষা পরিচালককে সক্ষম করার মতো? কারও কি এটি স্থাপনের অভিজ্ঞতা আছে?

আমি অ্যাপাচের পিছনে টমকেটের দুটি দৃষ্টান্ত চালাবার উদাহরণগুলি দেখেছি। দেখে মনে হচ্ছে এটি মোড_জেক ব্যবহার করে বা মোড_প্রক্সি দিয়ে করা যেতে পারে ... কোনওরকম কোনও উপকার / ধারণা? এটা কি ঝামেলা মূল্য?

যদি এটি গুরুত্বপূর্ণ হয় তবে ওএস হ'ল ডেবিয়ান লেনি। আমি অ্যাপটি-গেট ব্যবহার করছি না কারণ লেনি কেবল টমকাট 5.5 সরবরাহ করে এবং আমাদের 6.x প্রয়োজন le

ধন্যবাদ!

উত্তর:


6

আপনি টমক্যাট 6 টি ইনস্টল করতে পারবেন jsvcব্যবহারকারী টমক্যাট হিসাবে চালাতে ( রুট হিসাবে নয় )। আমি এটি শেষ করার সময় যা করেছি তা এখানে:

আমি টমক্যাট অ্যাপ্লিকেশনটি /usr/java/tomcat( CATALINA_HOME) এর অধীনে এবং /var/lib/tomcat( CATALINA_BASE) এর অধীনে একটি উদাহরণ ইনস্টল করেছি :

cd /usr/java
sudo tar xzvf ~/downloads/apache-tomcat-6.0.18.tar.gz
sudo ln -s apache-tomcat-6.0.18 tomcat
sudo /usr/sbin/useradd -d /var/lib/tomcat -c "Apache Tomcat" -m -s /sbin/nologin tomcat
cd /var/lib/tomcat
sudo mkdir logs work temp
sudo chown tomcat:tomcat logs temp work
(cd /usr/java/tomcat && sudo tar cvf - conf webapps) | sudo tar xvf -
sudo chmod -R g+rw webapps conf
sudo chown -R tomcat:tomcat webapps conf
cd webapps/
sudo rm -rf docs examples manager host-manager
cd ../conf
sudo chmod g+r *

তারপরে আমি jsvcমোড়কটি তৈরি করেছি :

cd
tar xzvf downloads/apache-tomcat-6.0.18.tar.gz
tar xzvf apache-tomcat-6.0.18/bin/jsvc.tar.gz
cd jsvc-src
chmod +x configure
./configure --with-java=$JAVA_HOME
make
./jsvc --help
sudo cp jsvc /usr/local/sbin/ 

অবশেষে, আমি উদাহরণ ডিরেক্টরিগুলিতে অনুমতিগুলি আরও কড়া করেছি:

cd /var/lib/tomcat
sudo chmod -R 0700 conf
sudo chmod -R 0750 logs
sudo chmod -R 0700 temp
sudo chmod -R 0700 work
sudo chmod -R 0770 webapps/
sudo chown -R tomcat:tomcat conf
sudo chown -R tomcat:tomcat logs

আপনি এখন টমকাট চালানোর সময়, আপনাকে এটি ব্যবহার করে শুরু করতে হবে jsvc, সুতরাং এই স্ক্রিপ্টটি যুক্ত করুন /etc/init.d/tomcatএবং এটি যথাযথভাবে সিলেট করুন:

#!/bin/sh
#
# tomcat       Startup script for the Apache Tomcat Server running under jsvc
#
# chkconfig: 345 85 15
# description: Apache Tomcat
# pidfile: /var/run/jsvc.pid

JAVA_HOME=/usr/java/jdk1.6.0_13
CATALINA_HOME=/usr/java/apache-tomcat-6.0.18
CATALINA_BASE=/var/lib/tomcat
JAVA_OPTS="-Djava.awt.headless=true"
JMX_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

DAEMON_APP=/usr/local/sbin/jsvc
TOMCAT_USER=tomcat

# Everything below should be okay
PID_FILE=/var/run/jsvc.pid
LOCK_FILE=/var/lock/tomcat

PATH=/sbin:/bin:/usr/bin
. /lib/init/vars.sh

. /lib/lsb/init-functions

[ -x $JAVA_HOME/bin/java ] || exit 0
[ -x $DAEMON_APP ] || exit 0
[ -d $CATALINA_HOME/bin ] || exit 0
[ -d $CATALINA_BASE ] || exit 0

RETVAL=0
prog="jsvc"

CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

start() {
  # Start Tomcat
  log_daemon_msg "Starting Apache Tomcat"
  $DAEMON_APP \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_BASE/logs/catalina.out \
    -errfile $CATALINA_BASE/logs/catalina.out \
    $JAVA_OPTS $JMX_OPTS \
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
    -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$CATALINA_BASE/temp \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap start 2>/dev/null 1>&2
  RETVAL=$?
  if [ 0 -eq $RETVAL ]; then
    touch $LOCK_FILE
    log_end_msg 0
  else
    log_end_msg 1
  fi
}

stop() {
  # Stop tomcat
  log_daemon_msg "Stopping Apache Tomcat"
  $DAEMON_APP \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap 2>/dev/null 1>&2
  RETVAL=$?
  if [ 0 -eq $RETVAL ]; then
    rm -rf $LOCK_FILE
    log_end_msg 0
  else
    log_end_msg 1
  fi
}

restart() {
  stop
  sleep 5
  start
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  status)
    status $prog
    ;;
  condrestart)
    [ -f $LOCK_FILE ] && restart || :
    ;;
  *)
    log_action_msg "Usage: $0 {start|stop|restart|status|condrestart}"
    exit 1
esac

exit $?

আমি সাধারণত স্টোডআপ (init) স্ক্রিপ্টে chmod এবং chown স্টাফ যুক্ত করি, কারণ এটি রুট হিসাবে চলে। লোকেরা টমকাটকে মূল হিসাবে শুরু করে "সহায়তা" করার মাধ্যমে আমি বেশ কয়েকবার কামড়েছি, যার ফলে ফাইল এবং ডিরেক্টরিগুলি মূলের অন্তর্ভুক্ত এবং টমক্যাট ব্যবহারকারীর জন্য একবারে সঠিকভাবে পুনরায় চালু করার জন্য লিখিতযোগ্য নয়। আপনি কি আপনার তালিকায় "সুডো ক্লাউন টমক্যাট: টমক্যাট টেম্প ওয়ার্ক" মিস করেছেন? নাকি আমি কিছু মিস করেছি?
ওলাফ

যেহেতু এগুলি টোম্যাট দ্বারা নির্মিত, সেগুলি টমক্যাট: টমক্যাটের মালিক / গোষ্ঠী দিয়ে তৈরি করা হবে।
CoverosGene

প্রাক-প্যাকেজড jsvc প্যাকেজটি ব্যবহার না করার কোনও কারণ? ব্যক্তিগতভাবে আমি কেবল প্যাকেজটি ইনস্টল করি এমনকি যদি আমি আপাচের সার্ভারগুলি থেকে টমক্যাটটি ডাউনলোড করি।
ট্রোন্ডা

3

মার্কিন প্রতিরক্ষা বিভাগের একটি ভাল গাইড রয়েছে যা টমক্যাট সুরক্ষা নির্দেশকে সামগ্রিক ওয়েব সার্ভার সিকিউরিটি গাইড (এসআরজি) তে একত্রিত করেছে। আপনি এখানে আরও সুরক্ষা গাইড পেতে পারেন:

http://iase.disa.mil/stigs/srgs/Pages/index.aspx


ধন্যবাদ, যদিও তারা খুব বন্ধুত্বপূর্ণ বিন্যাসে নেই
পিটার শঙ্কাসকাস

লিঙ্কটি নষ্ট হয়ে গেছে। তারা আর কোনও টমক্যাট-নির্দিষ্ট চেকলিস্ট সরবরাহ করে না বলে মনে হয়।
বব

লিঙ্কটি ঠিক করতে আপডেট হয়েছে। অ্যাপ্লিকেশন পরিষেবাদি নির্দেশিকায় এখনও টমকেট-নির্দিষ্ট কিছু রয়েছে।
জিম হুনজিকার

এটি একটি দুর্দান্ত পৃষ্ঠা, তবে এটি ২০০ 2006 সালের তাই কিছু প্রস্তাবনা সর্বশেষতম টমক্যাটের জন্য আপ টু ডেট নাও হতে পারে। ডিরেক্টরি অনুমতিগুলির জন্য এখানে সম্পর্কিত অনুচ্ছেদটি রয়েছে: B.2 সেটআপ এবং স্টার্টআপ টমক্যাটটি কোনও একক-ব্যবহারকারীর অ্যাপ্লিকেশন হিসাবে বা ভাগ করা সিস্টেম পরিষেবা বা প্রক্রিয়া হিসাবে কনফিগার করা যেতে পারে। টমক্যাট পরিষেবা বা প্রক্রিয়াটি পরিচালনা করার জন্য হোস্ট প্ল্যাটফর্ম প্রশাসক বা রুট সুবিধার দরকার নেই। টমক্যাট সার্ভারের শোষণের ঝুঁকি সীমাবদ্ধ করতে, টমক্যাট পরিষেবা বা প্রক্রিয়া চালানোর জন্য উত্সর্গীকৃত একটি কাস্টম হোস্ট অ্যাকাউন্ট তৈরি করা হবে এবং ন্যূনতম হোস্ট সিস্টেমের সুযোগসুবিধা অর্পণ করা হবে।
amos

2

ওপেন ওয়েব অ্যাপ্লিকেশন সিকিউরিটি প্রজেক্ট ( ওডাব্লুএএসএপি ) টমক্যাট সুরক্ষিত করার জন্য একটি উইকি পৃষ্ঠা সরবরাহ করে , যা আপনাকে দরকারী মনে হতে পারে। লেখার সময় এটি টমক্যাট ৫.x এর দিকে বেশি মনোযোগী বলে মনে হচ্ছে তবে আশা করা যায় সময় পার হওয়ার সাথে সাথে আপডেট করা হবে।


1

আমি পরীক্ষা থেকে tomcat6 প্যাকেজগুলি ব্যাকপোর্টিংয়ে গুরুত্ব সহকারে বিবেচনা করব। সংরক্ষণাগারে আপলোড করা নতুন সংস্করণের বিজ্ঞপ্তিগুলি পেতে আপনি প্যাকেজটিতে সাবস্ক্রাইব করতে পারেন। (আমি ডেবিয়ান প্যাকেজিংয়ে কাজ করার কারণে আমি কিছুটা পক্ষপাতদুষ্ট)।

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

স্পষ্টতই, টমক্যাটটি মূল হিসাবে চালাবেন না। টমক্যাট ব্যবহারকারী লগ ডিরেক্টরি বা কাজের ডিরেক্টরিতে বাইরের কোনও কিছুতে লিখতে সক্ষম হবেন না। আপনার ওয়েব অ্যাপস ডিরেক্টরিতে কেবল যে ওয়েব অ্যাপস চালাতে চান তা নিশ্চিত করা উচিত।

আমি সবসময় অ্যাপাচের পিছনে টমকাট চালাই। এটি আংশিক কারণ আমি আরও ভাবতে চাই যে আরও বেশি লোক অ্যাপাচি ব্যবহার করে তাই বাগগুলি আরও দ্রুত পাওয়া যায়। এটি বেশ ইচ্ছাবাদী চিন্তাভাবনা এবং আপনার এটির নিরাপত্তা উন্নতি হওয়ার উপর নির্ভর করা উচিত নয়। অ্যাপাচি যা আপনাকে এনে দেয় তা হ'ল কনফিগারেশনের। অনেকগুলি মডিউল রয়েছে যা টমক্যাটের ঠিক নেই, বা দক্ষতার সাথে করতে পারে না। mod_cache, mod_ssl, mod_ সুরক্ষা মনে মনে সমস্ত বসন্ত। আপনার কাছে মোড_জেক, মোড_প্রক্সি (এবং হয় মোড_প্রক্সি_এইচটিটিপি বা মোড_প্রক্সি_জপি) এর পছন্দ রয়েছে। mod_jk (এবং mod_proxy_ajp) কম দক্ষ HTTP প্রোটোকলের পরিবর্তে বাইনারি AJP প্রোটোকল ব্যবহার করে। আমি mod_jk ব্যবহার করার পরামর্শ দিই।


0

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

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