글
centos 5 용 geoip 패치 방법 및 커널 커스텀 rpm
간략버젼입니다.
참조에 있는 URL 들을 보시면 됩니다. 단지 기억하기 위한 한글버젼입니다.
참조:http://irdeal.tistory.com/5 CentOS 커널 rpm 빌드하기
위의 글의 원본이자 업데이트 본은 http://wiki.centos.org/HowTos/Custom_Kernel 입니다.
참조:http://www.debian-administration.org/articles/518 Country-based packet filtering with iptables
1. yum groupinstall "Development Tools"
2. yum install kernel-devel
3. yum install rpm-build rpm-libs
이정도로 개발툴은 대충 끝납니다.
커널소스rpm 이 깔렸는지 확인합니다.
/usr/src/redhat/SPECS 디렉에 가서 다음과 같이 실행합니다.
rpmbuild -bp --target=`uname -m` kernel.spec
그러면 /usr/src/redhat/BUILD 디렉토리에 커널소스가 풀리고 패치가 적용됩니다.
커널을 rpm 으로 만들기 위해서 일단 기존의 디렉토리들을 백업해둡니다. ( 패치 파일로 만들기 위해 )
그럼 이제 geoip 를 위해서 소스를 받아봅니다.
커널을 위한 p-o-m 패치와 iptables 를 새로 컴파일 해야합니다.
http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/ 여기서 p-o-m 을 받습니다.
http://ftp.netfilter.org/pub/iptables/ 여기서 iptables를 받습니다.
적절한 디렉토리에 둘다 소스를 풉니다.
p-o-m 을 먼저 깝니다. 디렉토리에 진입후에
KERNEL_DIR=< \
IPTABLES_DIR=< \
./runme --download
를 해줍니다. ( 이부분이 현재 바뀐 부분입니다. )
그러면 geoip등의 패치를 웹에서 받아서 패치 해줍니다.
( download 하지 않을 경우엔 geoip는 패치 안됩니다. )
위와같이 하고 --download 대신에 geoip 를 넣어서 geoip 를 패치해줍니다.
rpm용 커널의 설정파일을 복사합니다.
cd /usr/src/redhat/BUILD/kernel-버젼/linux-버젼
cp /usr/src/redhat/SOURCES/kernel-버젼-아키텍쳐.config .config
커널을 설정합니다.
make menuconfig
위의 부분에서 geoip 만 모듈로 해주었습니다.
패치파일을 만듭니다. diff 사용법은 검색하면 많이 나옵니다.
그리고 .config 파일의 제일 윗 부분에 다음과 같이 적습니다.
# i386 <-- 64비트가 아닌경우
# x86_64 <-- 64비트인 경우만
그리고 아까의 rpm 설정을 반대로 소스에 복사해줍니다.
cp /usr/src/redhat/BUILD/kernel-버젼/linux-버젼/.config /usr/src/redhat/SOURCES/kernel-버젼-아키텍쳐.config
spec 파일을 수정해줍니다.
/usr/src/redhat/SPECS/kernel.spec 파일을 수정해줍니다.
커널 버젼등의 수정은 알아서 하실것이고.
패치파일을 잘 등록합니다. -__-;;; ( 너무 무책임한가.. )
단 이때 spec에서 #define buildxen 0 로 해줍니다.
xen에는 p-o-m 이든 뭔가 안맞는거 같은데.. 필요가 없어서 고려 않해봤습니다.
rpmbuild -ba --target=`uname -m` kernel.spec
으로 빌드하면 됩니다.
'Security' 카테고리의 다른 글
웹 해킹 서버 분석과 웹쉘 대응방법 1편 (0) | 2009.04.05 |
---|---|
Tomcat 보안 개요 (0) | 2009.03.12 |
MySQL DB 보안(1) (0) | 2007.06.11 |
FreeBSD 보안 하드닝 Tip (0) | 2007.06.11 |
SSH 보안설정 (0) | 2007.06.11 |
RECENT COMMENT