ขั้นตอนการติดตั้ง RedHat Linux Internet Server 

Background BootDisk Start Partition RH73 RH80 RH90 Fedora Enterprise OpenNA IPCop
OpenSSH DHCP IPTables DNS Squid TransparentProxy Apache Samba Mail Service
SquidGuard Anti-Spam Anti-Virus Tripwire LogSentry HostSentry PortSentry Snort
Squirrelmail Quota Counter Wvdial DynamicDNS WebMin UserMin PHP GCC DataBase Phorum phpBB2 ADSL
CaseStudy Remote-Boot Compile-Kernel Firewall Tips Training Software END
Home Up NextStackedPage PreviousStackedPage NextPage PreviousPage FirstChildPage Blank 

เปิดอบรม Linux
รุ่นที่ 1 ระหว่างวันจันทร์ที่ 16 มีนาคม 2552 ถึงวันศุกร์ที่ 20 มีนาคม 2552
รุ่นที่ 2 ระหว่างวันจันทร์ที่ 27 เมษายน 2552 ถึงวันศุกร์ที่ 1 พฤษภาคม 2552

Click here
รุ่นที่ 2 ย้ายมาจาก รุ่นที่ 2 ระหว่างวันจันทร์ที่ 30 มีนาคม 2552 ถึงวันศุกร์ที่ 3 เมษายน 2552
 

HostSentry

      ตั้งแต่ 28 กค. 2547 22:09 น. ท่านเข้ามาที่หน้านี้เป็นลำดับที่  counter

การติดตั้ง HostSentry

     ใน Linux server สิ่งสำคัญอันหนึ่งก็คือ การติดต่อกับ Server โดยการผ่านทาง shell ซึ่งอาจจะผ่าน
ทางวงแลนภายใน (Local Network) หรือการ Remote จากระยะไกล สิ่งสำคัญอันนั้นก็คือ HostSentry
จึงเป็นเครื่องมือที่สำคัญในการที่จะกำหนดว่าใครสามารถที่จะ เข้ามายัง Server ได้ ซึ่ง HostSentry เป็น
เครื่องมือพื้นฐานที่จะช่วยป้องกันผู้บุกรุก

ให้เราเริ่มด้วยการเอา hostsentry-0.02.tar.gz ไปไว้ที่ /home/util เผื่อมีการลงซ้ำในอนาคต

[root@one util]# cp hostsentry-0.02.tar.gz /var/tmp/
[root@one util]# cd /var/tmp/
[root@one tmp]# tar xzpf hostsentry-0.02.tar.gz
[root@one tmp]# cd hostsentry-0.02/
[root@one hostsentyr-0.02]#
 

เราเริ่มด้วยการ copy ไปไว้ที่ /var/tmp จากนั้นก็เปลี่ยนไปทำงานที่ /var/tmp ทำการแตก tar.gz ออกมา
แล้วก็เข้าไปยัง Directory ของ hostsentry-0.02/ มีแฟ้มต่างๆ ที่สำคัญต้องทำการแก้ไขอยู่ 5 แฟ้มคือ

Makefile
hostSentryConfig.py
hostSentryStat.py
moduleForeignDomain.py
moduleMultipleLogins.py
hostsentry.py

ซึ่งการแก้ไขแฟ้มทั้ง 6 แฟ้ม มีดังนี้

1. Makefile

เริ่มด้วยการ vi +7 Makefile

แก้บรรทัด
 
INSTALLDIR = /usr/local/abacus/hostsentry

แก้เป็น

INSTALLDIR = /etc/hostsentry
LIBDIR= /usr/lib/hostsentry

ต่อไป vi +21 Makefile
 
แก้บรรทัด
 
@echo "Installing HostSentry in: $(INSTALLDIR)"
install -d -g 0 -o root -m 0700 $(INSTALLDIR)
install -d -g 0 -o root -m 0700 $(INSTALLDIR)/modules
install -g 0 -o root -m 0700 host* $(INSTALLDIR)
install -g 0 -o root -m 0700 module* $(INSTALLDIR)/modules

แก้เป็น

install -d -m 0700 $(INSTALLDIR)
install -d -m 0700 $(LIBDIR)/modules
install -m 0400 host* $(LIBDIR)
install -m 0400 module* $(LIBDIR)/modules


2. hostSentryConfig.py

เริ่มด้วยการ vi +38 hostSentryConfig.py

แก้บรรทัด
 
CONFIG='/usr/local/abacus/hostsentry/hostsentry.conf'

แก้เป็น

CONFIG='/etc/hostsentry/hostsentry.conf'


3. hostSentryStat.py
เริ่มด้วยการ vi +141 hostSentryStat.py

แก้บรรทัด

db = '/usr/local/abacus/hostsentry/hostsentry.db'

แก้เป็น

db = '/var/hostsentry/hostsentry.db'

 

4. moduleForeignDomain.py

เริ่มด้วยการ vi +45 moduleForeignDomain.py

แก้บรรทัด

ALLOW_FILE = '/moduleForeignDomain.allow'

แก้เป็น

ALLOW_FILE = 'moduleForeignDomain.allow'

ตามด้วยการ vi +63 moduleForeignDomain.py

แก้บรรทัด

allowPath = config.parseToken('MODULE_PATH')

แก้เป็น

allowPath = '/etc/hostsentry/

5.moduleMultipleLogins.py

เริ่มด้วยการ vi +49 moduleMultipleLogins.py

แก้บรรทัด

ALLOW_FILE = '/moduleMultipleLogins.allow'

แก้เป็น

ALLOW_FILE = 'moduleMultipleLogins.allow'

ตามด้วยการ vi +78 moduleMultipleLogins.py

แก้บรรทัด

allowPath = config.parseToken('MODULE_PATH')

แก้เป็น

allowPath = '/etc/hostsentry/'

6. hostsentry.py

ขั้นตอนสุดท้าย vi hostsentry.py

ให้เพิ่มบรรทัดข้างล่างนี้เข้าไปเป็นบรรทัดแรกของแฟ้มคือ

#!/usr/bin/env python
 

เมื่อได้แก้ไขแฟ้มทั้งหมดแล้ว การติดตั้งทำโดย

จากนั้นทำการบันทึกการเปลี่ยนแปลงก่อนและหลังลง hostsentry ดังนี้

[root@one hostsentry-0.02]# cd
[root@one root]# find /* > HostSentry1
[root@one root]# cd /var/tmp/hostsentry-0.02/
[root@one hostsentry-0.02]# make install
[root@one hostsentry-0.02]# mkdir -m0700 /var/hostsentry
[root@one logsentry]# cd
[root@one root]# find /* > HostSentry2
[root@one root]# diff HostSentry1 HostSentry2 > HostSentry-Installed

จากนั้นก็ delete แฟ้มออก

[root@deep /]# cd /var/tmp/
[root@deep tmp]# rm -rf hostsentry-version/
[root@deep tmp]# rm -f hostsentry-version.tar.gz

ถ้าการติดตั้งเรียบร้อยสมบูรณ์ จะเกิดแฟ้มต่างๆ ขึ้นมาดังนี้

/etc/hostsentry/hostsentry.conf: (The HostSentry Configuration File)

/etc/hostentry/hostsentry.ignore: (The HostSentry Ignore File)

/etc/hostentry/hostsentry.action: (The HostSentry Action File)

/etc/hostentry/hostsentry.modules: (The HostSentry Modules File)

/etc/hostentry/moduleForeignDomain.allow

/etc/hostentry/moduleMultipleLogins.allow

/etc/init.d/hostsentry: (The HostSentry Initialization File)
/etc/hostsentry/hostsentry.conf: The HostSentry Config File

ในแฟ้ม /etc/hostsentry.conf ควรจะมีเนื้อหาดังข้างล่างนี้คือ

IGNORE_FILE = "/etc/hostsentry/hostsentry.ignore"
ACTION_FILE = "/etc/hostsentry/hostsentry.action"
MODULE_FILE = "/etc/hostsentry/hostsentry.modules"
MODULE_PATH = "/usr/lib/hostsentry/modules"
WTMP_FILE = "/var/log/wtmp"
DB_FILE = "/var/hostsentry/hostsentry.db"
DB_TTY_FILE = "/var/hostsentry/hostsentry.tty.db"
WTMP_FORMAT = "384/8:32/44:32/76:256" 

 

[root@one /]# chmod 600 /etc/hostsentry/hostsentry.conf
[root@one /]# chown 0.0 /etc/hostsentry/hostsentry.conf
[root@one /]# chmod 600 /etc/hostsentry/hostsentry.ignore
[root@one /]# chown 0.0 /etc/hostsentry/hostsentry.ignore
[root@one /]# chmod 600 /etc/hostsentry/hostsentry.action
[root@one /]# chown 0.0 /etc/hostsentry/hostsentry.action

ลำดับต่อไปสร้างแฟ้มโดยการ
touch /etc/hostsentry/hostsentry.modules
เนื้อหาประกอบด้วย

moduleLoginLogout
moduleFirstLogin
moduleForeignDomain
moduleMultipleLogins
moduleRhostsCheck
moduleHistoryTruncated
moduleOddDirnames

[root@one /]# chmod 600 /etc/hostsentry/hostsentry.modules
[root@one /]# chown 0.0 /etc/hostsentry/hostsentry.modules

ลำดับต่อไปสร้างแฟ้มโดยการ
touch /etc/hostsentry/moduleForeignDomain.allow
เนื้อหาประกอบด้วย

:0.0

[root@one /]# chmod 600 /etc/hostsentry/moduleForeignDomain.allow
[root@one /]# chown 0.0 /etc/hostsentry/moduleForeignDomain.allow

ลำดับต่อไปสร้างแฟ้มโดยการ
touch /etc/hostsentry/moduleMultipleLogins.allow
เนื้อหาประกอบด้วย

# Place hosts in here you want this module to disregard logins from.
localhost

[root@one /]# chmod 600 /etc/hostsentry/moduleMultipleLogins.allow
[root@one /]# chown 0.0 /etc/hostsentry/moduleMultipleLogins.allow


ลำดับต่อไปสร้างแฟ้มโดยการ
touch /etc/init.d/hostsentry
เนื้อหาประกอบด้วย

#!/bin/bash
# This shell script takes care of starting and stopping HostSentry.
#
# chkconfig: 345 98 85
# description: HostSentry is a host based intrusion detection tool that \
#       performs Login Anomaly Detection (LAD). This tool allows \
#       administrators to spot strange login behavior and quickly \
#       respond to compromised accounts and unusual behavior.
#
# processname: hostsentry
# config: /etc/hostsentry/hostsentry.conf
# pidfile: /var/run/hostsentry.pid
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
 RETVAL=0
prog="HostSentry"
 start() {
    if [ -f /var/run/hostsentry.pid ] ; then
     pid=`cat /var/run/hostsentry.pid`
     if [ "$pid" != "" ] ; then
       echo $"HostSentry is already running"
       exit 0
     fi
    fi
     echo -n $"Starting $prog: "
    cd /usr/lib/hostsentry
    daemon python hostsentry.py
    RETVAL=$?
    echo
    echo `ps aux | grep "python hostsentry.py" | cut --delimiter=" " -f 7`
>
 /var/run/hostsentry.pid
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/hostsentry
    return $RETVAL
}
 stop() {
    echo -n $"Shutting down $prog: "
    cd /usr/lib/hostsentry
    killproc python hostsentry.py
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/hostsentry && rm -f
/var/run
/hostsentry.pid
    return $RETVAL
}
 restart() {
    stop
    start
}
 condrestart() {
    if [ -f /var/lock/subsys/hostsentry ]; then
     restart
    fi
}
 # See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  condrestart)
    condrestart
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|condrestart}"
    exit 1
    ;;
esac

[root@one /]# chmod 700 /etc/init.d/hostsentry
[root@one /]# chown 0.0 /etc/init.d/hostsentry
[root@one /]# chkconfig --add hostsentry
[root@one /]# chkconfig --level 345 hostsentry on

[root@deep /]# /etc/init.d/hostsentry start

แฟ้มต่างๆที่ใช้ในการทำ hostsentry นี้มีให้ Download ประกอบด้วยแฟ้มต่างๆดังนี้

     hostsentry.sh
  hostsentry-0.02.tar.gz

     makeFileHost คือแฟ้ม MakeFile ในที่นี้นั่นเอง
     
hostSentryConfig.py
     
hostSentryStat.py
     moduleForeignDomain.py
     moduleMultipleLogins.py
     
hostsentry.py
     

Home Up NextStackedPage PreviousStackedPage NextPage PreviousPage FirstChildPage Blank 
Background BootDisk Start Partition RH73 RH80 RH90 Fedora Enterprise OpenNA IPCop
OpenSSH DHCP IPTables DNS Squid TransparentProxy Apache Samba Mail Service
SquidGuard Anti-Spam Anti-Virus Tripwire LogSentry HostSentry PortSentry Snort
Squirrelmail Quota Counter Wvdial DynamicDNS WebMin UserMin PHP GCC DataBase Phorum phpBB2 ADSL
CaseStudy Remote-Boot Compile-Kernel Firewall Tips Training Software END

 

Google
Search WWW Search phst.ph.mahidol.ac.th Search www.rtrc.in.th

โดย gook55
แนะนำบทความได้ที่


sermpan55@hotmail.com
ICQ: 51822478
Since: Aug 18,2002
Last Updated: May 01,2007

กระดานข่าว phorum

สถิติการเข้าดูเวบawstats
Since: Dec 24,2003
MRTG Since:Aug 12,2004
 

WebBoard dServer

 

poweredby02

 

 

 


สำหรับท่านที่สนใจในการติดตั้ง
Linux Internet Server
จะจัดเปิดอบรมให้ที่
คณะสาธารณสุขศาสตร์ ม.มหิดล กรุงเทพมหานครฯ
ใช้เวลารวม 5 วัน
ในรูปแบบอบรมเชิงปฏิบัติการ ในการทำ Internet Server


กำหนดการอบรมระหว่าง
เดือนมีนาคม-พฤษภาคม 2552


รายละเอียดการอบรมและประมวลภาพการอบรมรุ่นต่างๆ