apache, tomcat 최신 버전 패치(1)
목표
- apache 2.4.52 업데이트
https://httpd.apache.org/security/vulnerabilities_24.html - tomcat 7.0 버전 중 가장 최신 버전 업데이트
https://tomcat.apache.org/security-7.html
상황(조건)
- apache에 보안 취약점이 발견되어 최신 버전으로 업데이트가 필요하다.
https://www.dailysecu.com/news/articleView.html?idxno=132866 - apache와 tomcat이 설치된 서버는 Linux를 사용한다.
조치 과정 - httpd 컴파일하여 apache 만들기
(0) 사전 확인
# apache가 설치된 디렉터리로 이동한다.
cd build/
vi config.nice
→ httpd 컴파일 시 해당 내용과 같게 컴파일한다.(./configure 참고)
(1) tomcat과 apache 최신 버전을 다운로드 받는다.
- tomcat-7.0.109.tar.gz, httpd-2.4.52.tar.gz 다운로드(이 글을 작성한 시점의 가장 최신 버전)
- httpd 컴파일을 위한 연관 라이브러리 다운로드(가장 최신 버전으로 다운로드)
https://apr.apache.org/download.cgi
- apr-1.7.0.tar.gz
- apr-util-1.6.1.tar.gz
https://sourceforge.net/projects/pcre/files/pcre/
- pcre-8.45.tar.gz
https://tomcat.apache.org/download-connectors.cgi
- tomcat-connectors-1.2.48-src.tar.gz
(2) 로컬에서 Linux 환경 구성하기
- 실패
i) AWS에서 무료 EC2(가상머신)를 만들어 EC2에서 httpd 컴파일하여 apache 생성
→ httpd 컴파일 시의 라이브러리 버전이 EC2와 서버가 달라 서버에서 apache 기동 불가
- 성공
ii) 로컬에 Virtual Box 설치 → 게스트 확장 모드 설치
※ Virtual Box 설치 후 Linux 서버의 OS 버전과 같은 이미지를 다운로드 하여 가상머신을 생성한다.
※ 게스트 확장 모드 설치 후 로컬 - VirtualBox 사이 파일 이동이 가능해야 한다.(공유 폴더 or 드래그&드롭)
# 운영중인 apache 위치와 같게 디렉토리 생성
cd /
mkdir /home
sudo chown apache:apache /home
# VirtualBox에 있는 tar.gz 파일 /app으로 이동
cd /media/sf_shared_folder # VirtualBox - 로컬의 공유 폴더
sudo mv * /home
# tar.gz 파일의 소유자 및 권한 변경
cd /home
sudo chmod 764 *
sudo chown apache:apache *
# gz 파일 압축 해제
tar -xvf httpd-2.4.52.tar.gz
tar -xvf apr-1.7.0.tar.gz
tar -xvf apr-util.1.6.1.tar.gz
tar -xvf pcre-8.45.tar.gz
# apr과 apr-util을 httpd로 이동
mv apr-1.7.0 ./httpd-2.4.52/srclib/apr
mv apr-util-1.6.1 ./httpd-2.4.52/srclib/apr-util
# httpd 컴파일시 필수 라이브러리 다운로드
sudo yum install -y gcc gcc-c++ make
sudo yum install -y expat-devel
sudo yum install -y openssl-devel
# 설치 완료 후 운영 중인 서버의 패키지와 버전이 동일한지 확인!!!
# pcre 라이브러리 VirtualBox에 설치
cd pcre-8.45
./configure
make
sudo make install
# httpd 컴파일(prefix 파라미터 값으로 새로운 apache를 놓을 경로 입력)
cd /home/httpd-2.4.52
./configure --prefix=/home/apache-2.4.52 --with-included-apr --enable-module=ssl --enable-ssl --with-ssl=/usr/local/openssl
make
make install
----------------------------------------
# apache - tomcat 연동된 경우 tomcat-connectors 라이브러리 추가
cd /home
tar -xvf tomcat-connectors-1.2.48-src.tar.gz
cd tomcat-connectors-1.2.48-src/native
./configure --with-apxs=/home/apache-2.4.52/bin/apxs
make
make install
----------------------------------------
# 신규 apache 기동 테스트
sudo /home/apache-2.4.52/bin/httpd -k start
ps -ef | grep apache # 기동된 apache 프로세스가 반드시 있어야 한다!!!
sudo /home/apache-2.4.52/bin/httpd -k stop
# 압축
cd /home
tar -cvf apache-2.4.52.tar /home/apache-2.4.52
chmod 764 apache-2.4.52.tar
mv apache-2.4.52.tar /media/sf_shared_folder/
# apache-2.4.52.tar를 VirtualBox에서 로컬 PC로 가져오면 된다.
iii) 필요한 apache 개수만큼 위 과정을 반복한다.(apache 설치 경로가 다른 경우)
(4) 새로운 apache와 tomcat을 서버의 지정된 디렉터리로 업로드한다.
※ apache, tomcat 설정 방법은 기존 버전과 유사하게 설정한다.
※ apache, tomcat 최신 버전 패치(2) - apache, tomcat 설정 편
apache, tomcat 최신 버전 패치(2)
※ apache, tomcat 최신 버전 패치(1) - apache 소스 컴파일 편 apache, tomcat 최신 버전 패치(1) 업무 apache 2.4.52 업데이트 https://httpd.apache.org/security/vulnerabilities_24.html tomcat 7.0 버전 중..
woshcareer.tistory.com
참고자료
[Tomcat 마이너 버전 업그레이드 방법]
https://mkil.tistory.com/512
[나무위키 - apache]
https://namu.wiki/w/%EC%95%84%ED%8C%8C%EC%B9%98%20HTTP%20%EC%84%9C%EB%B2%84
[jackerlab님 - VirtualBox에 CentOS7 설치]
https://jackerlab.com/virtualbox-centos7-install/
[무한대로님 - VirtualBox 게스트 확장 설치]
https://sidepower.tistory.com/43
[linuxconfig.org - VirtualBox 게스트 확장 설치]
https://linuxconfig.org/how-to-install-virtualbox-guest-additions-on-centos-7-linux
[mer1-97님 - CentOS 사용자 계정에 sudo 권한 추가]
https://velog.io/@mer1-97/Error-sudoers-%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BC%EC%97%90-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.-%EC%9D%B4-%EC%8B%9C%EB%8F%84%EB%A5%BC-%EB%B3%B4%EA%B3%A0%ED%95%A9%EB%8B%88%EB%8B%A4
[제타위키 - 아파치 컴파일 설치] https://zetawiki.com/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%EC%BB%B4%ED%8C%8C%EC%9D%BC_%EC%84%A4%EC%B9%98
[새랑님 - apache 설치 방법]
https://lsk925.tistory.com/96
[장윤재의 정리노트 - Linux에서 Apache 설치]
https://shonm.tistory.com/614
[삵 - Apach 2.4 컴파일 중 에러 발생 조치]
https://sarc.io/index.php/httpd/2149-amazon-linux-apache-http-server-2-4