Nginx 구멍 복구 패 치 과정

3067 단어 nginxcentos7
빈틈 보고
최근 에 안전 부서 의 안전 스캐닝 보 고 를 받 았 다.내용 은 다음 과 같다.
nginx     (CVE-2018-16845)          nginx     nginx           Igor Sysoev         Web   /            (IMAP/POP3)     。 Nginx 1.15.5       1.14.1    ngx_http_mp4_module          ,             MP4  。                        。        :                 ,      : http://mailman.nginx.org/pipermail/nginx-announce/2018/000221.html

위험한 구멍 이 있 으 니, 서둘러 인터넷 에서 자 료 를 조회 하여 복 구 를 준비 해라.
복구 프로 세 스
패 치 주소 로 패 치 를 가 져 오 면 이 내용 을 볼 수 있 습 니 다.
Patch for the issue can be found here:

http://nginx.org/download/patch.2018.mp4.txt

클릭 하여 패 치 정보 보기:
--- src/http/modules/ngx_http_mp4_module.c
+++ src/http/modules/ngx_http_mp4_module.c
@@ -942,6 +942,13 @@ ngx_http_mp4_read_atom(ngx_http_mp4_file
                 atom_size = ngx_mp4_get_64value(atom_header + 8);
                 atom_header_size = sizeof(ngx_mp4_atom_header64_t);
 
+                if (atom_size < sizeof(ngx_mp4_atom_header64_t)) {
+                    ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
+                                  "\"%s\" mp4 atom is too small:%uL",
+                                  mp4->file.name.data, atom_size);
+                    return NGX_ERROR;
+                }
+
             } else {
                 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
                               "\"%s\" mp4 atom is too small:%uL",

첫 번 째 줄 과 두 번 째 줄 은 구멍 이 발생 한 문 서 를 수정 해 야 한 다 는 것 을 나타 낸다.
세 번 째 줄 은 복구 전의 구멍 위치 가 942 줄 뒤 6 줄, 942, 13 패 치 에 추 가 된 위 치 를 13 줄 로 표시 합 니 다.
진짜 추가 할 부분 은?+ 번호 부분, 정 해진 구멍 파일 을 복사 하려 면 삭제 해 야 합 니 다.+ 번 (+이어서 nginx 의 시작 폴 더 에 가서 컴 파일 매개 변수 정 보 를 보십시오.
./nginx -V

다음 정 보 를 얻 을 수 있 습 니 다:
nginx version: nginx/1.11.5 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)  built with OpenSSL 1.0.1c 10 May 2012 TLS SNI support enabled configure arguments: --prefix=/app/nginx/nginx --with-pcre=/app/nginx/soft/pcre-8.35 --with-zlib=/app/nginx/soft/zlib-1.2.8 --with-openssl=/app/nginx/soft/openssl-1.0.1c --with-http_ssl_module --with-http_realip_module

필요 한 내용 은configure arguments: 이후 의 내용
nginx 소스 디 렉 터 리 컴 파일
cd nginx-1.11.5 && ./configure --prefix=/app/nginx/nginx --with-pcre=/app/nginx/soft/pcre-8.35 --with-zlib=/app/nginx/soft/zlib-1.2.8 --with-openssl=/app/nginx/soft/openssl-1.0.1c --with-http_ssl_module --with-http_realip_module  && make 

메모: make install 하지 마 세 요. 그렇지 않 으 면 기 존 을 덮어 씁 니 다.
컴 파일 이 성공 하면 디 렉 터 리 objs 를 만 들 고 디 렉 터 리 에 들 어 갑 니 다.
cd objs

컴 파일 로 생 성 된 실행 가능 한 파일 을 원래 nginx 의 sbin 디 렉 터 리 로 복사 합 니 다.
cp nginx /app/nginx/nginx/sbin

복사 하기 전에 원래 의 것 을 백업 하 는 것 을 권장 합 니 다.sbin 파일
프로 세 스 전환:
make upgrade

바 꿀 sbin 디 렉 터 리
,./nginx -s reload

좋은 웹페이지 즐겨찾기