7/10/2009

yum 이 안될때

얼마전에 개인용도으로 Redhat을 깔았는데.
yum이 안되더군요 yum을 누르면 아래와 같은 메시지가 뜹니다.

This system is not registered with RHN

CentOS는 Redhat의 쌍둥이 클론입니다. 즉 같은 rpm을 사용한다고 보시면 됩니다.
(Redhat 5 Update 2 => CentOs 5.2 와 같이 Update 버전에 따라서 서브 버전이 나뉩니다.)

게다가, 말로만 듣던 gcc버그때문에, gcc를 업데이트할 일이 있어서.
구글링을 하다가 관련 자료를 찾아서 함 시도해보았습니다.
(http://www.linuxquestions.org/questions/linux-software-2/using-centos-repos-under-rhel-644632/)

1. /etc/yum.repos.d/rhel-debuginfo.repo 을 백업하고 삭제합니다.
2. /etc/yum/pluginconf.d/rhnplugin.conf 을 수정합니다.
(사실 이건 상관없을것 같은데. 기분상 해줍니다 -_-)
[main]
enabled = 0
gpgcheck = 1

3. /etc/yum.repos.d 디렉토리에 아무 파일이나 만들어서 .repo 를 생성합니다.
현재 전 WS5 update1 버전입니다..  빨강 부분을 주의하세요 :)

# Cent.repo
[base]
name=CentOS-5 - Base
baseurl=http://mirror.centos.org/centos/5/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-5 - Updates
baseurl=http://mirror.centos.org/centos/5/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-5 - Addons
baseurl=http://mirror.centos.org/centos/5/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-5 - Extras
baseurl=http://mirror.centos.org/centos/5/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5 - Plus
baseurl=http://mirror.centos.org/centos/5/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

yum update 로 확인해본다-

7/08/2009

rkhunter


해킹 여부를 알려줍니다. 일종의 PC의 백신 같은 역할을 하는데 치료는 직접해야 합니다. 지속적인 업데이틀 통해 리눅스 바이러스를 체크해 줍니다. 

- 설치 

다음에서 최신 버젼을 다운로드 받습니다. 

http://www.rootkit.nl/projects/rootkit_hunter.html 

설치를 하고 나서 실행을 해 봅니다. 

rkhunter -c -sk 

에러들이 나오고 마지막에 결과가 정리되어 나옵니다. 
Possible infected의 숫자가 0이 아닌 것이 나오면 바이러스에 걸린 것이니 로그를 보고 해당 부분에 대한 조치(주로 삭제)를 취해야 합니다. 

로그 

/tmp/rkhunter.log 

업데이트 

rkhunter --update 

bin이나 sbin 등의 유틸리티의 경우는 동일한 OS의 서버에서 복사해 오면 복구가 가능합니다. 

삭제를 했는데 권한이 없다고 나오면 

chattr -isa 해당 파일 

clamv

rkhunter가 시스템 rootkit 위주로 검사를 하는 반면 clamav는 PC의 바이러스처럼 전체 파일을 검사해서 바이러스 유무를 알려 줍니다. 

- 설치 

yum -y install clamav* 

사용 방법 

clamscan -ri /home >/root/clamscan.log 2>&1 

home을 검색해서 clamscan.log에 결과를 저장합니다. 

저장된 내용을 보고 바이러스를 제거 합니다. 

업데이트가 필요하면 다음을 실행합니다. 

/usr/bin/freshclam --quiet --no-warnings 

바이러스가 많을 경우 일일이 찾아서 삭제하기 어려우니 다음 코드로 virusrm.php 같은 식으로 만들어 실행을 하면 로그 파일을 읽어서 자동으로 삭제해 줍니다. 

$filename = "clamscan.log"; 
$fp = fopen($filename, "rb") or die("fopen failed"); 
while(!feof($fp)) { 
$fileStr = fgets($fp, 1024); 
if ( strstr($fileStr,"home")) { 
$query = explode(": ",$fileStr); 
$query = $query[0]; 
$check = system("rm -rvf $query"); 
echo "rm $query"; 
} 
} 


$filename = "clamscan4.log"; 
$fp = fopen($filename, "rb") or die("fopen failed"); 
while(!feof($fp)) { 
$fileStr = fgets($fp, 1024); 
if ( strstr($fileStr,"home")) { 
$query = explode(": ",$fileStr); 
$query = $query[0]; 
$check = system("rm -rvf $query"); 
echo "rm $query"; 
} 
} 
fclose($fp) or die("fclose failed"); 

?> 

vnstat

네트워크 트래픽 모니터링이 가능한 도구이다.
보통 webalizer를 많이 사용하는데 이게 더 사용하기가 편한거 같다.

파일다운로드(다운로드가 안되면 제작사홈페이지에서 직접다운받기 바란다.)
#wget http://humdi.net/vnstat/vnstat-1.7.tar.gz 

압축풀기
#tar zxvf vnstat-1.7.tar.gz
#cd vnstat-1.7

gcc 라이브러리 필수설치
#yum install gcc

./configure가 필요없으며, make 만으로 프로그램을 설치한다.
#make && make install

데이타베이스 생성(사용할 인터페이스 지정)
#vnstat -u -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0". 처음에 실행시 나오는데 그냥무시

설정파일 수정(인터페이스 및 기타수정)
#vi /etc/vnstat.conf

데몬으로 실행(php로 모니터링할때는 필요사항아님.)
#vnstatd -d

쉘상에서 리포트보기
#vnstat -h

뭐가 잘못된것지 전송량이 정확히 안맞는거 같다. 약간의 오차는 있는듯.

자세한 내용은 제작사 홈페이지 참고
http://humdi.net/vnstat/ 

php 보고서는 아래사이트 참고
http://www.sqweek.com/sqweek/index.php?p=1 

php로 보고서 보기

다운로드
#wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.4.1.tar.gz 

압축풀고 폴더명 변경, 아파치 디렉토리로 이동.
#tar zxvf vnstat_php_frontend-1.4.1.tar.gz
#mv vnstat_php_frontend-1.4.1 vnstat
#mv vnstat_php_frontend-1.4.1 /home/test/www

config.php 수정
#vi /home/test/www/vnstat/config.php

필요없는 부분 삭제
$iface_list = array('eth0', 'eth1', 'sixxs');
$iface_title['eth1'] = 'Internet';

디렉토리 수정
$vnstat_bin = '/usr/bin/vnstat';

크론탭에 매5분마다 업데이트 작업 등록
#crontab -e
*/5 * * * * vnstat -u -i eth1

확인은 도메인/vnstat/ 으로 접속
익스플로러에서는 이미지가 표시되지 않음. 파이어폭스나 사파리는 잘나옴.