SELinuxを有効にしたまま、Apacheにヴァーチャルホストを設定する。
管理ユーザーの作成
ユーザー作成して、ユーザーディレクトリを公開設定
[root]# useradd webadmin
[root]# chmod 711 /home/webadmin
sudoへの管理コマンド追加
[root]# visudo
webadmin ALL=NOPASSWD: /etc/init.d/httpd
webadmin ALL=NOPASSWD: /sbin/restorecon
管理ユーザーの設定
DocumentRoot用ディレクトリの作成
[root]# su - webadmin
[webadmin]$ mkdir vhost1
SELinuxが管理しているラベルの状態を調べる
[webadmin]$ ls -Z
ラベルを変更
user_u:object_r:user_home_t ⇒ system_u:object_r:httpd_sys_content_t
[webadmin]$ chcon system_u:object_r:httpd_sys_content_t /home/webadmin/vhost1
[webadmin]$ ls -Z
エイリアス設定
[webadmin]$ vi .bashrc
# httpd control
alias wstart='sudo /etc/init.d/httpd start'
alias wstop='sudo /etc/init.d/httpd stop'
alias wstatus='sudo /etc/init.d/httpd status'
alias wrestart='sudo /etc/init.d/httpd restart'# SELinux config
alias labelupdate='/sbin/restorecon -R'
alias label2cn='chcon system_u:object_r:httpd_sys_content_t'
alias label2rw='chcon system_u:object_r:httpd_sys_script_rw_t'
alias label2ex='chcon system_u:object_r:httpd_sys_script_exec_t'
ヴァーチャルホストの設定
rootユーザーに切り替えて、httpd.confを修正
[webadmin]$ su -
[root]# vi /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /home/webadmin/vhost1
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
SELinuxの動作モードをPassiveにして動作確認
[root]# setenforce 0
[root]# /etc/rc.d/init.d/httpd restart
SELinuxの動作モードをActiveにして動作確認
[root]# setenforce 1
[root]# /etc/rc.d/init.d/httpd restart
Javaのインストール
Javaの再インストール
インストールの削除
Javaの入手
[root]# mkdir /usr/java
[root]# cd /usr/java
[root]# wget -O j2sdk-1_4_2_18-linux-i586-rpm.bin http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/j2sdk-1_4_2_18-linux-i586-rpm.bin?BundledLineItemUUID=l2RIBe.mS0AAAAEfk9ke3RNC&OrderID=kMBIBe.mMlcAAAEfY9ke3RNC&ProductID=8ntIBe.o_Y8AAAEac8YGcZhi&FileName=/j2sdk-1_4_2_18-linux-i586-rpm.bin
[root]# chmod 544 j2sdk-1_4_2_18-linux-i586-rpm.bin
[root]# ./j2sdk-1_4_2_18-linux-i586-rpm.bin
[root]# rpm -ivh j2sdk-1_4_2_18-linux-i586.rpm
リンクの作成
環境変数の設定
[root]# vi /root/.bash_profile
JAVA_HOME=/usr/local/jdk
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export PATH
export JAVA_HOME[root]# source /root/.bash_profile
Javaの確認
[root]# java -version
JBossのインストール
JBossの入手
[root]# cd /usr/local/src
[root]# wget http://downloads.sourceforge.net/jboss/jboss-4.0.5.GA.zip?modtime=1161642673&big_mirror=1
JBoss用ユーザーの作成
[root]# useradd jboss
[root]# chown -R jboss:jboss /usr/local/jboss
環境変数の設定
[root]# su - jboss
[jboss]$ vi .bash_profile
JAVA_HOME=/usr/local/jdk
JBOSS_HOME=/usr/local/jboss
JBOSS_DEPLOY=$JBOSS_HOME/server/default/deploy
JBOSS_LOG=$JBOSS_HOME/server/default/logPATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
管理コマンドの設定
[jboss]$ java -version
[jboss]$ vi .bashrc
alias jstart='/usr/local/jboss/bin/run.sh &'
alias jstop='/usr/local/jboss/bin/shutdown.sh -S'
[jboss]$ source ~/.bashrc
JBossの設定
例外対応
[jboss]$ vi /usr/local/jboss/server/default/deploy/jbossweb-tomcat55.sar/M
ETA-INF/jboss-service.xml
true
サービス登録
[root]# cp /usr/local/jboss/bin/jboss_init_redhat.sh /etc/init.d/jboss
[root]# vi /etc/init.d/jboss
#!/bin/sh
# ▼追記
# chkconfig: 35 80 20
# description: JBoss EJB Container
[root]# chkconfig --add jboss
[root]# chmod 755 /etc/init.d/jboss
セキュリティソフトの導入。
Tripwire :ファイル改ざん検知ツール
入手先
インストール
[root]# tar jxf tripwire-2.4.1.2-src.tar.bz2
[root]# cd tripwire-2.4.1.2-src
[root]# ./configure --sysconfdir=/etc/tripwire
[root]# make
[root]# make install
Rootkit Hunter :rootkit 検査、簡易総合検査
入手先
http://downloads.sourceforge.net/rkhunter/rkhunter-1.3.4.tar.gz?modtime=1230676503&big_mirror=0
インストール
[root]# tar jxf tripwire-2.4.1.2-src.tar.bz2
[root]# ./installer.sh --layout default --install
データベースの更新
[root]# rkhunter --update
処理の実行
[root]# rkhunter -c --createlogfile
Clam Anti virlus :ウィルス対策ソフト
入手先
http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.94.2.tar.gz
管理ユーザー作成
[root]# useradd clamav
[root]# usermod -s /sbin/nologin clamav
管理ディレクトリ作成
[root]# mkdir /var/lib/clamav
[root]# chown clamav:clamav /var/lib/clamav
[root]# touch /var/log/freshclam.log
[root]# chown clamav:clamav /var/log/freshclam.log
インストール
[root]# tar xzf clamav-0.94.2.tar.gz
[root]# cd clamav-0.94.2
[root]# ./configure
[root]# make
[root]# make install
定期的なデータベース更新
[root]# vi /usr/local/etc/freshclam.conf
#Example
[root]# vi /usr/local/etc/clamd.conf
#Example
[root]# crontab -e
0 5 * * * /usr/local/bin/freshclam -l /var/log/freshclam.log
ウィルススキャン
[root]# cd /home
[root]# clamscan
Nessus :総合脆弱性スキャナ
セキュリティの強化
不要なサービスの無効化
[root]# chkconfig --level 345 atd off
[root]# chkconfig --level 345 avahi-daemon off
[root]# chkconfig --level 345 bluetooth off
[root]# chkconfig --level 345 cups off
[root]# chkconfig --level 345 firstboot off
[root]# chkconfig --level 345 hidd off
[root]# chkconfig --level 345 ip6tables off
起動しているサービスの確認
JBossのTomcatとApacheを連携させる。
モジュール mod_jk.soの入手
Apacheのバージョンを確認。
[root]# httpd -v
Server version: Apache/2.0.40
Server built: Feb 25 2003 05:01:56
以下のサイトから、Red Hat Linux 用の Apache 2.0.40対応のモジュールを探す。
対応しているモジュール mod_jk.so.ap2.0.40.rh9をwget。
[root]# cd /usr/local/src
[root]# wget [mod_jk.so.ap2.0.40.rh9のダウンロードURL]
モジュールを Apacheのmodulesフォルダにコピー。
[root]# cp mod_jk.so.ap2.0.40.rh9 /usr/lib/httpd/modules/mod_jk.so
設定ファイルの作成
Apache のconfフォルダに、worker.propertiesを作成。
[root]# cd /etc/httpd/conf
[root]# vi worker.properties
以下の内容を記述。
#JBOSS_HOME: 実際のJBOSSインストール先フォルダ名
workers.tomcat_home=/usr/local/jboss
#JAVA_HOME: 実際のJAVA環境(JDK)インストール先フォルダ名
workers.java_home=$JAVA_HOME
ps=/
worker.list=ajp13# Definition for Ajp13 worker
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
Apacheの設定ファイルを編集
ファイルの最後に以下の内容を追加。
#Tomcat
LoadModule jk_module modules/mod_jk.so
#APACHE_HOME: apacheインストール先フォルダに
JkWorkersFile /etc/httpd/conf/worker.properties
#LOG_HOME:適当なフォルダー名
JkLogFile /etc/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount *.jsp ajp13
JkMount *.do ajp13