검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 프로그램과 명령어/모니터링
참조 원문 : Installing Nagios 3.4.4 On CentOS 6.3

  Nagios는 설명할 필요가 없을 정도로 유명한 오픈 소스 모니터링 툴입니다. 여기서는 단순히 레드햇 기반의 배포판에서 Nagios를 설치하는 방법만 소개합니다.

사전 준비
  이 가이드는 SELinux를 비활성화하고 Nagios를 사용하는 것을 기준으로 하고 있습니다. 먼저 SELinux를 비활성화하기 위해 setenforce 0 명령어를 사용하고 리붓 후 영구적으로 비활성화시키기 위해 /etc/selinux/config 파일을 열고 SELINUX 내용을 disabled로 바꿉니다.

  그 후 필요한 사전 패키지를 모두 설치합니다.
# yum install gd gd-devel httpd php gcc glibc glibc-common

Nagios 설치
  아래는 설치 과정입니다.
# mkdir /root/nagios
# cd /root/nagios


nagios-core와 plugin 설치
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.4.tar.gz
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
# tar xvzf nagios-3.4.4.tar.gz
# cd nagios
# ./configure
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# make install-webconf


웹 인터페이스로 접속하기 위한 패스워드 생성
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin  <- 원하는 ID로 입력


서비스 시작 및 부팅 시 서비스 시작하게 하기
# service nagios start
# chkconfig nagios on


플러그인 설치
# cd ..
# tar xvzf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure
# make
# make install


아파치 서비스 시작 및 부팅 시 서비스 시작하게 하기
# service httpd start
# chkconfig httpd on
  http://Nagios의-IP/nagios 로 접속하여 위에서 설정한 ID(nagiosadmin)와 패스워드로 로그인할 수 있습니다.

설치 후
  설치가 끝나면 Nagios 설정 파일을 수정하여 모든 호스트와 서비스를 설정해야 합니다. 이 과정은 상당히 복잡하므로 Centreon 같은 프론트엔드를 사용하는 것도 좋은 방법입니다. Centreon의 설치 방법은 이 블로그 포스트를 참고하시기 바랍니다.


2013/07/07 16:47 2013/07/07 16:47
Posted
Filed under 프로그램과 명령어/네트워크와 보안
참조 원문 : How To Set Up Kojoney SSH Honeypot On CentOS 5.5
Kojoney 홈페이지: http://kojoney.sourceforge.net/

  원문이 CentOS 5.5를 기준으로 만들어졌지만 딱히 다른 배포판이라고 다를 건 없어보이네요. Kojoney는 파이썬으로 만든 SSH 서버 허니팟 프로그램입니다. 허니팟(Honeypot)은 그 이름(꿀단지)처럼 해커의 행동 양식을 파악하기 위해 설치하는 일종의 낚시용 위장 프로그램을 통칭하는 용어입니다. 잘 이용하면 해커들을 속이고 그들의 최신 기술 동향을 파악할 수 있지만 잘못하면 해커를 열받게 해서 본전도 못 찾는 양날의 칼입니다.

  기존에 22번 포트를 SSH 포트로 사용하고 있었다면 바꿔야 합니다. 왜냐면 낚시를 위해 Kojoney가 그 포트를 사용해야 하기 때문이죠. /etc/ssh/sshd_config 파일에서 SSH 포트를 원하는 포트로 바꿔줍니다. 변경 후에는 SSH를 리스타트합니다.

  이제 Kojoney를 설치해야 하는데 이게 파이썬으로 만든거라 파이썬이 없으면 파이썬을 먼저 설치해야 합니다. 덤으로 gcc도 필요하다고 하는데...왜 필요한거지?
yum install gcc python python-devel
  이제 http://kojoney.sourceforge.net/ 에서 최신 버전을 다운받아 압축을 풀어줍니다. 압축을 풀었으면 INSTALL.sh 파일을 실행합니다. 그리고 아래와 같이 실행하면 됩니다.
/etc/init.d/kojoney start
  ...이쯤되니 이걸 왜 포스팅하고 있나 하는 생각이 들지만 그래도 이왕 했으니 끝까지~ 디폴트로 로그가 쌓이는 파일은 /var/log/honeypot.log 파일이 되겠습니다. kojreport나 kojreport-filter를 사용하면 공격자에 관련된 자세한 정보가 추가된 리포트 결과를 볼 수 있습니다.

  삭제는 압축을 풀었을 때 있었던 파일 중 UNINSTALL.sh 파일을 실행하면 됩니다.

2010/11/19 17:22 2010/11/19 17:22
Posted
Filed under 프로그램과 명령어/서버와 서비스
참조 원문 : Setting Up An NFS Server And Client On CentOS 5.5

  CentOS 5.5에서 입문 수준의 간단한 NFS(Network File System: 네트워크를 통해 파일과 디렉토리를 공유하는 프로토콜) 세팅을 단계별로 보여주는 포스트입니다. 말이 CentOS지 일단 설치만 하면 설정이야 다 똑같지만요. 저는 우분투를 가지고 했기 때문에 우분투에서 차이가 있는 부분은 따로 기술하겠습니다.

1. 서버와 클라이언트의 도메인과 IP
  본 포스트에서 사용할 NFS 서버와 클라이언트의 도메인 및 IP는 다음과 같습니다.
  • NFS 서버 : server.example.com, 192.168.0.100
  • NFS 클라이언트 : client.example.com, 192.168.0.101
2. NFS 설치
  서버와 클라이언트 모두 아래의 두 패키지를 설치합니다.
yum install nfs-utils nfs-utils-lib
  덤으로 우분투라면 아래의 명령어를 통해 설치가 가능합니다.
sudo apt-get install nfs-kernel-server
  그리고 서버의 경우 아래의 명령어를 통해 이후 부팅 시 자동으로 NFS 데몬이 실행되도록 만들고 그것과 별도로 바로 데몬을 실행합니다.
chkconfig --levels 235 nfs on
/etc/init.d/nfs start

3. 서버에서 공유할 디렉토리 설정
  이제 서버에서 공유할 디렉토리를 설정해야 하는데 이 작업을 "export"라고 합니다. 이 포스트에서는 /var/nfs라는 디렉토리를 만들어서 export하겠습니다.

  NFS를 이용할 때 알아둬야 할 것이 있는데 바로 서버가 공유한 디렉토리를 클라이언트가 이용할 때 클라이언트에서 NFS를 이용하는 계정의 UID와 GID 값을 서버에서도 사용한다는 겁니다. 그래서 만약 클라이언트에서 UID 값이 100인 사용자가 어떤 NFS 서버의 공유 디렉토리를 이용하는데 그 서버에서 UID가 100인 사용자가 전혀 다른 사용자라면 클라이언트 사용자는 NFS 서버의 공유 디렉토리에서 전혀 다른 사용자 계정의 권한을 가지고 행동할 수 있습니다. 이것이 특히 문제가 되는 경우는 클라이언트에서 root 계정(UID 0)을 가지고 서버의 공유 디렉토리로 접근하는 경우인데 root 계정의 UID는 0이므로 클라이언트의 root가 서버의 공유 디렉토리에서도 root 계정 권한을 가지고 행동할 수 있게 됩니다. 그렇기 때문에 NFS에서는 클라이언트 계정의 UID가 0일 경우 옵션에서 따로 설정하지 않는 한 기본적으로 클라이언트의 UID와 GID를 65534로 바꿔버립니다. 참고로 NFS는 이 UID에 해당하는 계정와 그룹은 각각 nobody와 nogroup라고 가정합니다.

  하지만 클라이언트의 계정이 일반 계정일 경우 어쨌든 문제가 되기 때문에 저는 옵션을 하나 첨가하여 접속하는 모든 계정의 UID와 GID를 65534로 만들어버리겠습니다. 즉, FTP의 anonymous처럼 만들어버리는 거죠. 먼저 /var/nfs라는 디렉토리를 만들고 대충 권한을 755쯤으로 준 다음에 소유자를 nobody, 소유 그룹을 nogroup으로 만듭니다. 우분투의 경우 물론 명령어 앞에 sudo가 필요하겠죠.
mkdir /var/nfs
chown nobody:nogroup /var/nfs     또는    chown 65534:65534 /var/nfs
chmod 755 /var/nfs
  그런데 여기에 또 함정이 있습니다. 서버에서 /etc/passwd와 /etc/group 파일의 nobody와 nogroup의 UID와 GID를 확인하시기 바랍니다. 만약 두 값이 65534가 아니면 위 명령어 중 chown nobody:nogroup /var/nfs 명령어가 나중에 문제가 됩니다. 왜냐하면 NFS는 (앞으로 할 저의 설정에 의해)클라이언트의 UID와 GID를 65534로 취급할 것인데 위의 chown nobody:nogroup /var/nfs 명령어는 nobody와 nogroup의 UID와 GID가 65534일 것이라고 가정하고 내린 것이기 때문입니다. 따라서 nobody와 nogroup의 UID와 GID가 65534가 아니라면 클라이언트는 저 공유 디렉토리 안에서 주인이 아닌 other의 권한을 가지게 됩니다. 따라서 nobody와 nogroup의 UID와 GID를 65534로 바꾸거나 직접 UID와 GID를 지정해주는 chown 65534:65534 /var/nfs 명령어를 사용해야 합니다.

  이제 NFS의 공유 설정을 담당하는 /etc/exports 파일을 편집해야 합니다. 다음과 같은 줄을 추가합니다.
/var/nfs 192.168.0.101(rw,sync,no_subtree_check,all_squash)
  맨 앞에는 공유할 디렉토리 경로를 입력합니다. 그 다음은 한 칸 띄고 접속을 허용할 IP나 도메인을 입력하고 괄호 안에 적용할 옵션을 나열합니다.

  rw는 읽기/쓰기를 허용하는 옵션으로 이 옵션이 없으면 디렉토리의 퍼미션과 상관없이 쓰기를 할 수 없습니다. sync는 요청한 내용이 서버의 스토리지에 적용된 후에만 응답을 주도록 하는 옵션입니다.

  no_subtree_check는 보안과 관련된 옵션으로 파일시스템의 전체가 아닌 서브 디렉토리를 export한 경우 클라이언트가 파일을 요청했을 때 해당 파일이 해당 파일시스템에 진짜 존재하는지까지만 검사할 것인지, 아니면 export한 디렉토리에 진짜 속해있는지까지 검사할 것인지를 결정하는 옵션 중 전자에 해당하는 옵션입니다. 특별히 신경 쓸 필요는 없는 옵션이며 괜히 보안성 높인다고 후자에 해당하는 subtree_check 옵션을 사용할 경우 파일을 열고 있을 때 어떤 이유로 인해 그 파일의 이름이 바뀔 경우 공유에 문제가 발생할 수 있다는 것을 염두해야 합니다.

  all_squash는 모든 클라이언트를 '손님'으로 취급하겠다는 것으로 '손님'의 디폴트 UID/GID 값은 앞서 65534입니다. 이 옵션으로 인해 모든 클라이언트는 동일한 권한을 가지게 됩니다. 앞에서 제가 한 설정에 따르면 nobody/nogroup에 계정에 해당합니다.

  /etc/exports 파일의 수정이 끝났으면 아래의 명령으로 수정한 내용을 적용합니다. 우분투라면 언제나 그렇듯 앞에 sudo를 추가로 써줍니다.
exportfs -a

4. 클라이언트에서 공유 디렉토리 마운트하기
  서버의 설정이 모두 끝났으므로 이제 클라이언트에서 마운트를 하겠습니다. 먼저 마운트할 디렉토리를 만듭니다.
mkdir ~/nfs
  그리고 마운트를 합니다. 우분투 유저는 sudo를 잊지 맙시다.
mount 192.168.0.100:/var/nfs ~/nfs
  df 명령어를 통해 아래처럼 마운트된 NFS 디렉토리들을 볼 수 있습니다.
mirashi@myservlab:/home/mirashi$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             224G  1.9G  211G   1% /
udev                 1003M  216K 1003M   1% /dev
none                 1003M     0 1003M   0% /dev/shm
none                 1003M  544K 1003M   1% /var/run
none                 1003M     0 1003M   0% /var/lock
none                 1003M     0 1003M   0% /lib/init/rw
/dev/sda1             177M   52M  116M  31% /boot
192.168.1.10:/var/nfs
                      224G  1.9G  211G   1% /home/mirashi/nfs
  마운트된 NFS 공유 디렉토리는 umount를 통해 마운트를 해제할 수 있습니다. 역시 루트 권한이 필요하므로 우분투 유저는 sudo를 사용합시다.


2010/11/19 15:18 2010/11/19 15:18