スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

アクセスlogチェック(/var/log/secure)

Linuxサーバーに誰がログインしたかの確認など

grep -i bye /var/log/secure
    ブルートフォースアタックの可能性あり
   
grep -i Failed /var/log/secure
    ログインパスワード間違いした時のログ

grep -i Accepted /var/log/secure
    これは、ログインされたログ


時間のある時に見てみよう。

テーマ : Linux
ジャンル : コンピュータ

ファイヤーウォール(iptables)

iptables設定スクリプトのメモです。

スクリプトファイルを作成して、実行してます。
不要な部分はコメントアウトして使えばおk。
ファイルには、実行権限が必要です。

#!/bin/sh

### IPアドレス、ネットワークアドレスの定義 ###
# サーバ機のアドレス #
MYHOST='192.168.1.61'

# 家庭内のアドレス(192.168.0.0/24と1.0/24を合わせて指定)#
HOME='192.168.1.0/24'

# NTPサーバのアドレス #
# NTP1: xxx.xxx.xxx.xxx -- プロバイダ
# NTP2: 210.173.160.57  -- MFEED(ntp2.jst.mfeed.ad.jp)
NTP1='xxx.xxx.xxx.xxx'
NTP2='210.173.160.57'

# ip_conntrack_ftpのロード #
modprobe ip_conntrack_ftp

### iptablesのコマンドパスの定義 ###
IPTABLES='/sbin/iptables'

### IPフォワードの停止 ###
echo 0 > /proc/sys/net/ipv4/ip_forward

### iptablesのチェーンの初期化 ###
$IPTABLES -F

### 暗黙のdeny(デフォルトで拒否)とするルールの設定 ###
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

### ループバックアドレスに関するアクセスを全て許可 ###
$IPTABLES -A INPUT  -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

### 家庭内からのDNS問い合わせを許可 ###
$IPTABLES -A INPUT  -p udp -s $HOME --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -d $HOME --sport 53 -j ACCEPT
$IPTABLES -A INPUT  -p tcp -m state --state NEW -s $HOME --dport 53 -j ACCEPT
### DNSサーバからの外部DNS問い合わせを許可 ###
$IPTABLES -A OUTPUT -p udp --dport 53 -j ACCEPT
$IPTABLES -A INPUT  -p udp --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT

### 家庭内からのNTP問い合わせを許可 ###
$IPTABLES -A INPUT  -p udp -s $HOME --dport 123 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -o $HOME --sport 123 -j ACCEPT
### NTPサーバからの外部NTP問い合わせを許可 ###
#$IPTABLES -A OUTPUT -d $NTP1 -p udp --dport 123 -j ACCEPT
#$IPTABLES -A INPUT  -s $NTP1 -p udp --sport 123 -j ACCEPT
#$IPTABLES -A OUTPUT -d $NTP2 -p udp --dport 123 --sport 123 -j ACCEPT
#$IPTABLES -A INPUT  -s $NTP2 -p udp --dport 123 --sport 123 -j ACCEPT

### 家庭内でのファイル共有(NetBIOS)を許可 ###
$IPTABLES -A INPUT  -p udp -s $HOME --dport 137:138 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -d $HOME --sport 137:138 -j ACCEPT
$IPTABLES -A INPUT  -p tcp -m state --state NEW -s $HOME --dport 139 -j ACCEPT

### 家庭内からのSWAT(SWAT:901)アクセスを許可 ###
#$IPTABLES -A INPUT -p tcp -m state --state NEW -s $HOME --dport 901 -j ACCEPT

### 家庭内からのProxyアクセス(PROXY:8080)を許可 ###
#$IPTABLES -A INPUT -p tcp -m state --state NEW -s $HOME --dport 8080 -j ACCEPT

### 家庭内でのSSH(22)の使用を許可 ###
$IPTABLES -A INPUT  -p tcp -m state --state NEW -s $HOME --dport 22 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m state --state NEW -d $HOME --dport 22 -j ACCEPT

### WWWサーバへのアクセス(HTTP:80,HTTPS:443)を許可 ###
#$IPTABLES -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT

### 外部WWWサーバへのアクセス(HTTP:80,HTTPS:443)を許可 ###
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT

### FTPサーバへのアクセス(Active/Passive)を許可 ###
#$IPTABLES -A INPUT  -p tcp -m state --state NEW --dport 21 -j ACCEPT
#$IPTABLES -A INPUT  -p tcp -m state --state NEW --dport 4000:4029 -j ACCEPT
#$IPTABLES -A OUTPUT -p tcp -m state --state NEW --sport 20 -j ACCEPT

### 外部FTPサーバへのアクセス(Active/Passive)を許可 ###
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 21 -j ACCEPT
$IPTABLES -A INPUT  -p tcp -m state --state NEW --sport 20 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 1024: -j ACCEPT

### メールサーバへのアクセス(SMTP:25/465)を許可 ###
$IPTABLES -A INPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m state --state NEW --dport 465 -j ACCEPT

### 外部メールサーバへのアクセス(SMTP:25,POP3:110)を許可 ###
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 110 -j ACCEPT

### メールサーバへのアクセス(POP3:110/995,IMAP:143/993)を許可 ###
### 非SSL系は家庭内のみ許可 ###
$IPTABLES -A INPUT -p tcp -m state --state NEW -s $HOME --dport 110 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m state --state NEW -s $HOME --dport 143 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m state --state NEW --dport 993 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m state --state NEW --dport 995 -j ACCEPT


### Ident(113)を拒否(DROPするとレスポンスが遅くなるのでReject) ###
$IPTABLES -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset

### PINGに対する処理 ###
$IPTABLES -A INPUT  -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT  -p icmp --icmp-type 0 -j ACCEPT

### セッション確立後のパケット疎通は許可 ###
$IPTABLES -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

### 設定内容の保存 ###
/etc/rc.d/init.d/iptables save

### IPフォワードの開始 ###
echo 1 > /proc/sys/net/ipv4/ip_forward

テーマ : Linux
ジャンル : コンピュータ

LinuxサーバのHost名変更

Linuxサーバのホスト名を変更する方法です。


黒背景:コマンド
灰背景:記述内容

一時的にホスト名を変更する場合
hostname ***

このコマンドで、***というホスト名に変更されます。
しかし、再起動するとこの変更は無効になります。


再起動しても有効になる変更する場合

2箇所のファイルの変更が必要になります。

vi /etc/hosts

127.0.0.1 *** localhost.localdomain localhost

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=***
GATEWAY=192.168.0.1

※ゲートウェイの設定もここで行えます。
変更が終わった後は、ネットワークの再起動を行います。

/etc/rc.d/init.d/network restart

これだけです。
簡単ですね。

テーマ : Linux
ジャンル : コンピュータ

sambaを使ってみよう

sambaを使ってみよう

sambaと言えば、windowsでも使える共有サーバー
私は、プライベートネットワークしか利用しないが、グローバル環境でも使えるみたいです。
あまり使ってる人はいないみたい。
セキュリティー的にあまりよろしくないのかな?

とりあえず、使える様になるまでの私的メモです。

私の環境
Centos5.5 64bit

yum -y install samba
 yオプションは任意

ログは、/var/log/samba以下に書き出し
ユーザーグループ毎にconfを読み替える
共有ファイルのルートは、/share


vi /etc/samba/smb.conf

[global]
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
netbios name = サーバー名
server string = 表示名
workgroup = WORKGROUP
password level = 0
log level = 2
log file = /var/log/samba/%m %U.log
max log size = 50000
smb ports = 139
security = user
writable = yes

load printers = No
printcap name = /etc/printcap
disable spoolss = Yes
dns proxy = No
admin users = root
read only = No
browseable = No

include = /etc/samba/conf.d/%G.conf


[Homes]
comment = Home Directories
path = %H/samba
writable = yes
browseable = no

vfs objects = recycle
recycle:repository = .recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:touch = yes
recycle:maxsize = 0
recycle:exclude = *.tmp *.temp ~$* *.~??


[【ディレクトリ名】]
comment= 【ディレクトリ名】
path = /share/【ディレクトリ名】
force create mode = 0777
force directory mode = 0777
guest ok = no
guest only = no
writable = yes
browseable = yes
available = yes
# valid users = 【ユーザー名】
# hosts allow = 192.168., 127.0.0.1


vfs objects = recycle
recycle:repository = /share/recycle/【ディレクトリ名】
recycle:keeptree = yes
recycle:versions = yes
recycle:touch = yes
recycle:maxsize = 0
recycle:exclude = *.tmp *.temp ~$* *.~??




これで行けるはず。
ユーザーグループ毎に設定を変えたい場合は、
/etc/samba/conf.d/【グループ名】.conf
これに使いたいディレクトリの記述を書き込めば行けます。

テーマ : Linux
ジャンル : コンピュータ

サーバーの監視ツールのインストール

LINUXサーバーの監視をして行こう
今回は、muninというやつを入れてみる。

①yumの設定
*新規にRPMforgeレポジトリをrpmでインストール
環境OS:centos5.5 64bit

wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm -Uhv rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm


※最新版はこちらより確認
http://dag.wieers.com/packages/rpmforge-release

*設定ファイルの修正
vi /etc/yum.repos.d/rpmforge.repo
enabled = 1

enabled = 0


*RPMの署名を検証する為のキーを導入
wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt



cpan2rpmの導入
yum -y install rpm-build

*RPMパッケージのチェックにしようするGPGキーのインポート
rpm --import http://perl.arix.com/cpan2rpm/gpg.pub.asc

*cpan2rpmのダウンロードとインストール
wget http://nchc.dl.sourceforge.net/sourceforge/cpan2rpm/cpan2rpm-2.027-1.noarch.rpm
rpm -Uvh cpan2rpm-2.027-1.noarch.rpm


Muninをyumる
yum -y install sysstat
yum -y --enablerepo=rpmforge install perl-rrdtool
yum -y --enablerepo=rpmforge install perl-HTML-Template
yum -y --enablerepo=rpmforge install perl-Net-SNMP
yum -y --enablerepo=rpmforge install perl-Net-Server


Munin-nodeとMuninのダウンロード→インストール→後始末
*ダウンロード
wget http://jaist.dl.sourceforge.net/sourceforge/munin/munin-node-1.2.5-1rhel4.noarch.rpm
wget http://jaist.dl.sourceforge.net/sourceforge/munin/munin-1.2.5-1rhel4.noarch.rpm


*インストール
rpm -Uvh munin-node-1.2.5-1rhel4.noarch.rpm
rpm -Uvh munin-1.2.5-1rhel4.noarch.rpm


*不要なものを消す
rm -rf munin-node-1.2.5-1rhel4.noarch.rpm
rm -rf munin-1.2.5-1rhel4.noarch.rpm


上記の方法で依存エラーが出たら
yum -y install --enablerepo=rpmforge perl-Date-Manip
で、いける筈です(*^-^*)

Muninサーバーの設定
*confの設定
vi /etc/httpd/conf.d/munin.conf
Alias /munin/ /var/www/html/munin/  ←追記

プラグインの追加について
プラグインは/usr/share/munin/plugins/内にあります。
監視対象にするには、以下のようにシンボリックリンクを貼ります。

ln -s /usr/share/munin/plugins/samba /etc/munin/plugins/samba
これでSambaが監視対象に設定されました。

/etc/munin/plugins/内を見てみると、不用なプラグインもあると思いますが、
監視対象から外すにはrm -rf ****で削除するだけでおkです。

今回の監視対象にしているプラグイン
===========================================
df … ファイル容量
iostat … ディスクパフォーマンス
if_eth* … 回線トラフィック
if_err_eth* … 回線のエラートラフィック
ntp_*** … NTPの稼動状況
samba … Sambaの使用状況
cpu … CPUの使用状況
load … ロードアベレージ(CPUの負荷率)
memory … メモリ使用状況
swap … Swapの使用状況
===========================================
です。
それ以外のプラグインは削除の方向で。。

上記の設定が全て終わったら、
/etc/rc.d/init.d/munin-node start /etc/rc.d/init.d/httpd restart

設定を編集した際は、必ずhttpdとmunin-nodeの再起動を行ってください。
5分~10分後(muninの定期タスク実行後)にhttp://サーバー名/munin/に反映されます。

これにて自分自身を監視する設定はオシマイです☆
これで、いけるはず。。。

テーマ : Linux
ジャンル : コンピュータ

プロフィール

jamasan

Author:jamasan
頑張るサラリーマン

にほんブログ村 サラリーマン日記ブログへ
にほんブログ村
ポチっとお願いします。


出来ればこっちもお願い

リンク
最新記事
最新コメント
最新トラックバック
カテゴリ
カウンター
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。