su / sudo 権限の設定

≪suコマンドの実行可能ユーザーを制限≫

suコマンドは system グループに所属するユーザーのみが実行出来るように設定する。

 

system グループを作成する

groupadd system

作成された事を確認

grep "system" /etc/group

 

system グループに kmurakoshi ユーザーを追加

usermod -G system kmurakoshi

grep "system" /etc/group

 

/etc/login.defsの編集

/etc/login.defsに以下の行を追記してsuコマンドの制限を有効にする。

vim /etc/login.defs

SU_WHEEL_ONLY yes

 

/etc/pam.d/suの編集

suコマンド実行可能なグループ(system)を設定

vim /etc/pam.d/su

#auth       required      pam_wheel.so use_uid

 ↓ 

auth       required      pam_wheel.so use_uid group=system

 

/etc/groupの編集

/etc/groupの system に、suコマンドの実行を許可するユーザー(kmurakoshi)を追加。

vim /etc/group

system:x:1001:root,kmurakoshi

 

変更した設定を有効にするために、システムを再起動。

shutdown -r now

 

設定確認用のテストユーザー作成

useradd hoge

passwd hoge

 

suコマンド実行可能なユーザー(kmurakoshi)

[kmurakoshi@localhost ~]$ su -

Password:

[root@localhost ~]#

 

suコマンド実行不可能なユーザー(hoge)

[hoge@localhost ~]$ su -

Password:

su: incorrect password

[hoge@localhost ~]$

 

 

≪sudo 権限の設定≫

sudoコマンドは system,manager グループに所属するユーザーのみが実行出来るように設定する。

manager グループを作成する

groupadd manager

作成された事を確認

grep "manager" /etc/group

 

manager ユーザーを作成

useradd manager

passwd manager

 

manager グループに manager ユーザーを追加

usermod -G manager manager

grep "manager" /etc/group

 

/etc/sudoers を visudo コマンドから編集

%manager        ALL=(ALL)       ALL

 %system         ALL=(ALL)       ALL

 

su権限を禁止した場合には以下のような設定を施す

Cmnd_Alias NOTSU = /bin/su

 %manager        ALL=(ALL)       ALL,!NOTSU

 

変更した設定を有効にするために、システムを再起動。

shutdown -r now

 

ユーザーにPATH を通しておく。

su - kmurakoshi

vim .bash_profile

PATH=$PATH:$HOME/bin/

 ↓

PATH=$PATH:$HOME/bin:/sbin:/usr/sbin/

source .bash_profile

 

sudo コマンドの実行確認

su - kmurakoshi

[kmurakoshi@localhost ~]$ sudo service httpd restart

Password: (passwd で設定したパスワードを入力)

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]

 

 

 

 

 

imagemagick インストール

PHPimagemagickを使用できるようにする。

imagemagick をインストール

yum -y install gcc

yum -y install ImageMagick ImageMagick-devel

yum -y install php-pear php53-devel

yum --enablerepo=remi,remi-php54 install php-devel 

pecl install imagick

 

imagick.soファイルがある場所を検索

find / -name imagick.so

/usr/lib/php/modules/imagick.so

 

 

php.ini の設定 (追記)

extension_dir=/usr/lib/php/modules/

extension=imagick.so

 

apache 再起動

service httpd restart

 

phpinfo で imagick が使用可能になっていることを確認

php -i | grep imagick

imagick

imagick module => enabled

imagick module version => 3.1.2

imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator

imagick.locale_fix => 0 => 0

imagick.progress_monitor => 0 => 0

 

infophp で imagick が表示されない場合には、以下コマンドを実行

restorecon /usr/lib/php/modules/imagick.so

 

DBサーバ ( MySQL) 外部ホストから接続設定

DBサーバ ( MySQL)  へ外部ホストから接続するための設定方法を記載する。

(例) DBサーバ : 192.168.154.128

 WEBサーバ : 192.168.154.130

 

 

DBサーバに ssh 接続後 mysql コンソールで DB 接続を行う。

mysql -u root -p

 

WEBサーバ : 192.168.154.130 から接続するための、

アプリケーション用 スキーマとユーザを作成。

create database apps_db default character set utf8;

grant all privileges on apps_db.* to apps_user@localhost identified by 'apps_password';

flush privileges;

 

apps_userユーザ確認を実施

use mysql;

select user, host from user;

+-----------+-----------------------+

| user      | host                  |

+-----------+-----------------------+

| repl      | %                     |

| repl      | 127.0.0.1             |

| root      | 127.0.0.1             |

|           | localhost             |

| apps_user | localhost             |

| root      | localhost             |

|           | localhost.localdomain |

| root      | localhost.localdomain |

+-----------+-----------------------+

 

apps_user ユーザ が WEBサーバ (192.168.154.130) から apps_db へアクセスできるように設定。

grant all privileges on apps_db.* to apps_user@"192.168.154.130" identified by 'apps_password' with grant option ;

 

DBサーバ (192.168.154.128) の iptables にWEBサーバ(192.168.154.130) から

3306 ポートへ接続できるようにポート解放の設定を追加。

vim /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -s 192.168.154.130 -p tcp --dport 3306 -j ACCEPT

service iptables restart

 

WEBサーバ (192.168.154.130) から DBサーバ (192.168.154.128) に接続テスト。

WEBサーバに ssh 接続し以下コマンドを実行。

mysql -h 192.168.154.128 --port=3306 -u apps_user -p;

 

 

Snort インストール

不正アクセス検知システムとしてネットワーク型IDSのSnortを導入。

Snortが抽出した不正アクセスログをWebブラウザ上で確認できるようにするためにSnortSnarfも導入。

Snort不正アクセスの判断をするために参照するルールファイルの最新化は、

Oinkmasterを導入して自動化。

(参考サイト:http://www1.matsue-torisen.co.jp/~naruse/Estab/CentOS/snort.html)

 

snortRPM作成に必要なパッケージインストール

yum -y install libpcap libpcap-devel pcre-devel libdnet-devel

 

libpcapのバージョンを確認

(libpcapが下記のようにバージョン1.0以下の場合、

daqがインストールできないのでアップデート作業を行う必要がある)

rpm -q libpcap

libpcap-0.9.4-15.el5

 

libpcapをバージョン1.0以上にアップデートする

cd /usr/local/src

wget http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz

tar zxvf libpcap-1.5.3.tar.gz

cd libpcap-1.5.3

./configure

make

make install

yum update libpcap

 

daq ダウンロード

wget http://www.snort.org/downloads/2776

SRPMファイルのインストール

rpm -ivh rpm -ivh daq-2.0.2-1.src.rpm\?AWSAccessKeyId\=AKIAJ65S5YX6KA26VRJQ\&Expires\=1393062503\&Signature\=xCmpA0q62EN%2Fq2nyCI8rGWJ6UkU\=

rpmファイルの作成

rpmbuild -bb --clean /usr/src/redhat/SPECS/daq.spec

  

Snort ダウンロード

wget http://www.snort.org/downloads/2785

SRPMファイルのインストール

rpm -ivh snort-2.9.6.0-1.src.rpm\?AWSAccessKeyId\=AKIAJ65S5YX6KA26VRJQ\&Expires\=1393059983\&Signature\=w5JA7RljNsRQSNTjHLFyVhrQATM\=

rpmファイルの作成

rpmbuild -bb --clean /usr/src/redhat/SPECS/snort.spec

rpmファイルのインストール

rpm -ivh /usr/src/redhat/RPMS/i386/snort-2.6.1.3-1.i386.rpm

ダウンロードしたファイルを削除

rm -f snort-2.6.1.3-1.src.rpm

SRPMからRPMへのビルドにより作成されたファイル群を削除

rm -f /usr/src/redhat/RPMS/i386/snort-*

Snortのソースを削除

rm -f /usr/src/redhat/SOURCES/snort-2.6.1.3.tar.gz

SPECファイルの削除

rm -f /usr/src/redhat/SPECS/snort.spec

ssh 公開鍵認証

sshd_config 設定 ( ssh接続で鍵の利用を許可する)

vim /etc/ssh/sshd_config

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

PermitRootLogin no

PasswordAuthentication no

 

resolv.conf 設定 (yumコマンドが使えるように設定)

/etc/resolv.conf

nameserver 8.8.8.8

nameserver 8.8.4.4

nameserver 127.0.0.1

 

ssh-keygenコマンドで秘密鍵&公開鍵を作成

ログインユーザーのホームディレクトリ(~/.ssh)に

秘密鍵(id_rsa)と公開鍵(id_rsa.pub

#RSA鍵を作成(ssh version2)

ssh-keygen -t rsa

# RSA1鍵を作成(ssh version1)

ssh-keygen -t rsa1

#DSA鍵を作成(ssh version2)

ssh-keygen -t dsa

 

permissionの設定

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

 

作成済みの秘密鍵のパスワードを変更する場合

ssh-keygen -p -f ~/.ssh/id_rsa

Enter old passphrase: (旧パスワード)

Key has comment '~/.ssh/id_rsa'

Enter new passphrase (empty for no passphrase): (新パスワード)

Enter same passphrase again: (新パスワード)

Your identification has been saved with the new passphrase.

 

 

 

sshpass インストール

sshpass とは?

sshpass( Non-interactive ssh password authentication ) を使うと

コマンドラインにてssh接続のパスワードを指定することができ、ログインできるようになる。

 

sshpass リポジトリ登録

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

 

sshpass インストール

yum -y install sshpass

 

sshpass コマンド書式

sshpass -p 'パスワード' ssh -i 秘密鍵 ユーザ名@ホスト名( IPアドレス)

 

参考サイト

http://server-setting.info/centos/sshpass-ssh-auto-connect.html

 

 

CandyCane インストール

DocumentRoot作成

mkdir /var/www/www.candycane.co.jp

cd /var/www/www.candycane.co.jp

 

CandyCaneをダウンロード

wget https://github.com/yandod/candycane/archive/master.zip

unzip candycane-master.zip

rm -rf candycane-master.zip

mv candycane-master htdocs

cd htdocs

chmod -R 777 app/tmp/

chmod -R 777 app/Config

chmod -R 777 app/files

chmod -R 777 app/Plugin

chown -R apache:apache /var/www/www.candycane.co.jp

 

Apacheの設定

vim /etc/httpd/conf.d/www.candycane.co.jp.conf

********************************************************************

#

#  httpd configuration settings for use with mailman.

#

 

# Listen for virtual host requests on all IP addresses

#NameVirtualHost *:80

 

<VirtualHost *:80>

    DocumentRoot "/var/www/www.candycane.co.jp/htdocs"

    ServerName www.candycane.co.jp

 

    DirectoryIndex index.html index.php

 

    ErrorLog logs/www.candycane.co.jp_error_log

    CustomLog logs/www.candycane.co.jp_access_log common

 

    <Directory "/var/www/www.candycane.co.jp/htdocs">

#        AuthType Basic

#        AuthUserFile /etc/httpd/.htpasswd

#        AuthName "Basic Certification"

#        require valid-user

 

        AllowOverride ALL

        Order allow,deny

        Allow from all

    </Directory>

</VirtualHost>

********************************************************************

 

candycane用のDBを構築

**********************************************************  

mysel -u root -p

create database candycane default character set utf8;

grant all privileges on candycane.* to candy_user@localhost identified by 'candy_password';

flush privileges;

exit;

**********************************************************  

 

hosts 設定

vim /etc/hosts

127.0.0.1       localhost.localdomain localhost www.candycane.co.jp

 

Apache再起動

service httpd configtest

service httpd restart

httpd -S