달력

07

« 2018/07 »

  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
2017.03.17 04:01

Dshield, Grafana - DDos Defender Tech/Linux2017.03.17 04:01

http://www.ywjt.org/index.php/archives/947

https://github.com/ywjt/Dshield


vi /etc/yum.repos.d/grafana.repo 

and add the content below.

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt


yum install grafana
service grafana-server start

Dshield-master.zip

wget https://github.com/ywjt/Dshield/archive/master.zip

unzip master.zip cd Dshield-master/ sh install.sh


service grafana-server restart
/usr/local/Dshield/sbin/dshield all start


http://{your_ip}:3000

username: admin password: admin


modified configure file

Open File: /usr/local/Dshield/conf/default.ini

white list

support CIRD format

whitelisted_ips = "10.10.10.0/24,172.16.0.0/16"

whitel_ttl_ips = "10.10.10.0/24,172.16.0.0/16"

monitor interface

mont_interface = "eth0"

monitor port

mont_port = "80,22"

listen mode false means active defense, true means only record IP and ttl but not block

mont_listen = false

monitor interval specified in seconds

rexec_time = 5

block connections this parameter can assign the sensitivity of monitoring, 100 is recommanded

no_of_connections = 100

ip block time support 1d/1h/1m format

block_period_ip = "1m"

monitor protocol it is available for TTL monitor module, tcp-tcp only, udp-udp only, ‘’-all protocols are monitored

mont_protocol = "tcp"

block connections this parameter can assign the sensitivity of monitoring, 20000~100000 is recommanded

no_ttl_connections = 20000

ttl unblock time surpport 1d/1h/1m format

block_period_ttl = "1m"


썬샤인 쿠 라는 분은 중국분인듯 ~ 

잘 만든거 같다.

Posted by 멋지다마라송
2017.03.14 20:43

centos nagios 설치 Tech/Linux2017.03.14 20:43

chcon -R -t httpd_sys_content_t /usr/local/nagios


원문 : http://gentooboy.tistory.com/191


1. rpmforge를 repository에 추가

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

# rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

          or

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

# rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm


* 운영체제에 맞춰서 설치

x86(32bit) -> i686

amd64(64bit) -> x86_64


2. 설치

# yum install nagios nagios-plugins nagios-plugins-nrpe


3. apache에 nagios설정

# vi /etc/httpd/conf/httpd.conf


파일의 끝부분 Include 부분 주석 해제 (# 제거)

# Include /etc/httpd/conf.d/nagios.conf => Include /etc/httpd/conf.d/nagios.conf


4. apache의 nagios인증 설정

# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin


5. nagios 설정 검사

# nagios -v /etc/nagios/nagios.cfg


6. nagios 시작, apache 재시작

# service nagios start

# service apache restart


7. 웹페이지 접속

http://localhost/nagios






-- trouble shooting --



+ service nagios start 했을 때 아래와 같은 문제가 발생할 경우 +

nagios is stopped
Configuration validation failed                            [FAILED]


A. selinux를 disable or permissive로 설정해야 한다.

일시적으로 바꾸기

# setenforce 0

         or

# setenforce permissive


잘 바뀌었는지 확인하기

# getenforce


재부팅 되도 설정 적용되게 하기

# vi /etc/sysconfig/selinux

SELINUX=disabled

          or

SELINUX=permissive

# reboot


-----

또 다른 게시글

원문 : http://koeiking11.tistory.com/302


Nagios Core 설치 하기


--사용자 계정 만들기

useradd nagios

passwd nagios

--sudo 권한 부여

/etc/sudoers

whatap  ALL=(ALL)  NOPASSWD: ALL

--그룹 만들기

/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -a -G nagcmd nagios

/usr/sbin/usermod -a -G nagcmd apache

-- 필수 유틸 설치 (apache, php, gcc compiler, GD development libraries)      

sudo yum install httpd php 

sudo yum install gcc glibc glibc-common                                                                                                                      sudo yum install gd gd-devel

-- 다운로드 폴더 생성

mkdir /home/nagios/core

cd /home/nagios/core

-- 소스 다운로드

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.1.1.tar.gz

wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

-- 압출 풀기

cd /home/nagios/core

tar xzf nagios-4.1.1.tar.gz

cd /home/nagios/core/nagios-4.1.1

-- 컴파일

./configure --with-command-group=nagcmd

-- make

make all

make install

make install-init

make install-config

make install-commandmode

-- 구성 정의

vi /usr/local/nagios/etc/objects/contacts.cfg

-- Apache nagios.conf 파일 만들기

make install-webconf

-- 사용자 인증 추가

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

-- Apache 재시작

service httpd restart

-- 플러그 인 설치

cd /home/nagios/core

tar xzf nagios-plugins-2.1.1.tar.gz

cd nagios-plugins-2.1.1

-- 플러그 인 컴파일

./configure --with-nagios-user=nagios --with-nagios-group=nagios

make

make install

-- 시작에 포함

chkconfig --add nagios

chkconfig nagios on

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

-- nagios 재시작

service nagios restart

-- SELinux 설정

getenforce

setenforce 0

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/

chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

-- 사이트 확인

http://localhost/nagios/


*********      기타   *****************

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

-- 아파치 위치

/etc/httpd

-- 아파치 로그

/var/log/httpd

-- Nagios core 파일 위치

/usr/local/nagios/share




https://www.monitoring-plugins.org/doc/man/check_nt.html


'Tech > Linux' 카테고리의 다른 글

nmap 옵션  (0) 2017.08.24
Dshield, Grafana - DDos Defender  (0) 2017.03.17
centos nagios 설치  (0) 2017.03.14
bash 배시 자주 사용하는 함수 - 날짜함수, 변수 입력받기 등  (0) 2017.03.08
Nagios - WeChat 연동  (0) 2017.02.28
리눅스 구버전 php 다운로드  (0) 2017.02.20
Posted by 멋지다마라송

$ vi test.sh


#!/bin/bash

work_file="${1}" # sh 실행파일 뒤에 적는 값을 변수로 사용하기
work_date=`date +%Y%m%d"."%H%M` # 날짜 함수. 순서대로 연월일.시분. 초는 %S
echo "${work_file}/${work_date}"

query_result="result.${work_date}.txt"
MYSQL_CONN="/usr/local/mysq/bin/mysql -udb_user_id -pdb_password "


if [ $# -eq 1 ] # 매개변수 갯수가 1개일때에만 실행.
then
        # 실행할 코드 작성.
        for id in `cat ${work_file}`
                sql="sElect user_id from DB_NAME.TABLE_NAME where user_id='${id}';"

                ${MYSQL_CONN} -s -q -N -e "${sql}" >> ${query_result}
        done

else
        # 매개변수 갯수가 1개가 아닐때.
        echo "Usage : ./test.sh [work_file_name]"
        exit
fi


$ chmod +x test.sh

$ ./test.sh aaa.txt <- 이런식으로 실행.

$ ./test.sh <- 매개변수 없음. 에러.

$ ./test.sh aaa.txt bb <- 매개변수가 2개. 에러.


'Tech > Linux' 카테고리의 다른 글

nmap 옵션  (0) 2017.08.24
Dshield, Grafana - DDos Defender  (0) 2017.03.17
centos nagios 설치  (0) 2017.03.14
bash 배시 자주 사용하는 함수 - 날짜함수, 변수 입력받기 등  (0) 2017.03.08
Nagios - WeChat 연동  (0) 2017.02.28
리눅스 구버전 php 다운로드  (0) 2017.02.20
Posted by 멋지다마라송
2017.02.28 13:03

Nagios - WeChat 연동 Tech/Linux2017.02.28 13:03

나기오스 - 위챗 연동.


Nagios 整合微信订阅号报警

环境:rhel6.5 selinux 和 iptables 关闭。要求能上外网的(虚拟机亲测可用)
以下是nagios服务与微信订阅号的整合过程,最终实现当服务或主机出现故障,自动调用微信报警。
重点讲述如何配置微信公众平台私有接口,至于nagios服务的配置请大家参照nagios官方文档进行,此处不再赘述。(www.nagios.org

1. 下载微信公众平台私有接口
# yum install -y git
# git clone https://github.com/lealife/WeiXin-Private-API

2. 修改微信公众平台私有接口代码,以配合nagios报警

# cp -r WeiXin-Private-API /usr/local/nagios/libexec/weixin
# chown -R nagios.nagios /usr/local/nagios/libexec/weixin
# cd /usr/local/nagios/libexec/weixin

修改config.php文件:

$G_CONFIG["weiXin"] = array(

        'account' => '微信公众平台登录帐号',#填写你注册的微信订阅号的帐号和密码

        'password' => '微信公众平台登录密码',

修改test.php文件,只保留如下几行即可:

<?php
require "config.php";
require "include/WeiXin.php";

$weiXin = new WeiXin($G_CONFIG['weiXin']);

$testFakeId = "$argv[1]";#微信好友ID号,这里通过nagios传入

$msg = `cat /usr/local/nagios/var/nagios.msg`;#要发送的报警信息,由nagios传入

print_r($weiXin->send($testFakeId, "$msg"));#给微信好友发送信息

3. 整合nagios和微信公共平台私有接口

1) 增加微信报警选项: templates.cfg

修改 /usr/local/nagios/etc/objects/templates.cfg

在 define contact{...} 部分,将以下两行:
host_notification_commands notify-host-by-email
service_notification_commands notify-service-by-email

改为:

host_notification_commands notify-host-by-email,notify-host-by-weixin
service_notification_commands notify-service-by-email,notify-service-by-weixin


2) 增加调用命令: commands.cfg

修改 /usr/local/nagios/etc/objects/commands.cfg

在该文件的最后增加以下部分:

##### notify-host-by-weixin command definition
define command{
command_name notify-host-by-weixin
command_line
/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" > /usr/local/nagios/var/nagios.msg && /usr/bin/php /usr/local/nagios/libexec/weixin/test.php $CONTACTADDRESS1$  &>/dev/null
}

##### notify-service-by-weixin command definition
define command{
command_name notify-service-by-weixin
command_line
/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" > /usr/local/nagios/var/nagios.msg && /usr/bin/php /usr/local/nagios/libexec/weixin/test.php $CONTACTADDRESS1$  &> /dev/null

3) 修改联系人选项: contact.cfg

修改 /usr/local/nagios/etc/objects/contact.cfg
在 define contact{...} 部分增加如下一行

address     11206***#微信好友ID,登录微信公众平台网页版,在用户管理中点击你要发微信的好友,此时在地址上显示的fakeid就是微信好友的ID。

4) 重载nagios配置

# service nagios reload


'Tech > Linux' 카테고리의 다른 글

nmap 옵션  (0) 2017.08.24
Dshield, Grafana - DDos Defender  (0) 2017.03.17
centos nagios 설치  (0) 2017.03.14
bash 배시 자주 사용하는 함수 - 날짜함수, 변수 입력받기 등  (0) 2017.03.08
Nagios - WeChat 연동  (0) 2017.02.28
리눅스 구버전 php 다운로드  (0) 2017.02.20
Posted by 멋지다마라송
2017.02.20 12:19

리눅스 구버전 php 다운로드 Tech/Linux2017.02.20 12:19

리눅스 php 구버전 다운로드

http://www.php.net/get/php-5.4.32.tar.bz2/from/a/mirror

이런식으로 버전을 적으면 된다.



'Tech > Linux' 카테고리의 다른 글

nmap 옵션  (0) 2017.08.24
Dshield, Grafana - DDos Defender  (0) 2017.03.17
centos nagios 설치  (0) 2017.03.14
bash 배시 자주 사용하는 함수 - 날짜함수, 변수 입력받기 등  (0) 2017.03.08
Nagios - WeChat 연동  (0) 2017.02.28
리눅스 구버전 php 다운로드  (0) 2017.02.20
Posted by 멋지다마라송


티스토리 툴바