CentOS 7 보안 업데이트

CentOS 7 보안 업데이트

깨끗한 CentOS 7이 설치되어 있고 이제(보안 검사 후) 알려진 보안 문제를 해결하기 위해 패키지를 업데이트하려고 합니다(모두 CVE 번호가 있고 일부는 이미 오래되었습니다).

어쨌든 CentOS 7은 이러한 보안 문제에 대해 실제로 신경 쓰지 않습니다. (큰 문제는 업그레이드할 좋은 방법 없이 5.4에 멈춰 있는 PHP이기도 합니다.)

단순한 보안 문제 외에 CentOS의 보안 문제를 어떻게 처리해야 합니까 yum update?

답변1

당신은 이렇게 말합니다:

깨끗한 CentOS 7이 설치되어 있고 이제(보안 검사 후) 알려진 보안 문제를 해결하기 위해 패키지를 업데이트하려고 합니다(모두 CVE 번호가 있고 일부는 이미 오래되었습니다).

당황하지 말 것! CentOS 7 설치가 잘 되었습니다.

현실은 CentOS 7이 완벽하게 훌륭하고 "패치되지 않은" 것으로 생각되는 많은 항목이백포트됨. 즉, PHP와 같은 이전 주요 버전의 항목이 있을 수 있지만 CentOS 팀은 CentOS 7의 패키지를 패키지 소프트웨어의 최신 릴리스처럼 모든 수준에서 안정적이고 안전하게 만드는 데 필요한 패치를 백포트합니다.

또한 웹 개발자로서 저는 확실히하지 마라새로운 버전의 PHP에서 "최첨단"이 되기를 원합니다. 나는 알려진 지원 버전에서 안정적인 상태를 유지하고 싶습니다. 그리고 PHP 5.4는 완벽하게 괜찮습니다. 많은 사이트는 여전히 같은 이유로 PHP 5.3(백 포팅)을 사용합니다. PHP의 주요 버전으로 업그레이드하면 설치를 "보안"하는 것보다 더 많은 문제가 발생합니다.

웹사이트 보안 스캔의 "불확실한" 성격.

하지만 "보안 검색"도 언급하셨습니다. "보안 검색"이란 무엇을 의미합니까? 일부 웹 기반 보안 검색 도구는 발견할 수 있는 모든 결함을 나열하고 당황스러운 일반 경고를 내보냅니다. 이러한 당황스러운 경고 중 다수는 표시되는 PHP 5.4와 같은 주요 버전을 기반으로 하며 그 외에는 많지 않습니다.

웹사이트 스캔이 그렇게 반응하는 이유는FUD(불확실함과 의심에 대한 두려움)예를 들어 그러한 서비스의 후원자가 당황한 사용자에게 온라인 서비스 또는 컨설팅 관련 제품을 판매할 수 있도록 이를 사용하는 사람들. 이러한 스캔 중 다수는 어느 정도 유용하지만,강한 소금 알갱이그리고해야한다항상 연구하다귀하에게 우려되는 사항이 있는 경우 추가로 주장하십시오.

나에게 묻는다면 더 큰 문제는 어떻게든 서버가정확한 PHP 버전 노출세계로. 그리고 그것은 CentOS 문제가 아닙니다. 그것은서버 강화 문제. 즉, 잘 보호된 서버는 결함이 존재한다고 생각하는 사람을 방지하기 위해 사용되는 핵심 소프트웨어의 정확한 버전을 결코 공개하지 않습니다.

나의 충고? 작업을 수행했는데 yum update모두 최신 상태라고 표시되면 모두 최신 상태입니다. 하지만 제가 말했듯이 서버 강화는 미리 준비된 보안 스캔으로는 결코 해결되지 않는 것 같은 100% 다른 문제입니다. 그러나 이것이 PHP 관련 문제를 처리하는 방법입니다. 그리고 그 과정은 꽤 쉽습니다.

을 비활성화하여 PHP를 강화합니다 expose_php.

먼저, PHP 구성 파일( php.ini)을 찾아 다음과 같이 엽니다. 이 예에서는 nanoUbuntu의 파일 경로를 사용하고 있지만 개념은 동일합니다.

sudo nano /etc/php5/apache2/php.ini

이제 해당 파일에서 을 구성하는 줄을 검색해 보세요 expose_php. 보고공식 PHP 문서, expose_php다음과 같이 설명됩니다.

HTTP 헤더 내에 PHP 버전을 포함하여 PHP가 서버에 설치되어 있음을 세상에 공개합니다(예: X-Powered-By: PHP/5.3.7).

따라서 보안 검색이 헤더를 보고 반응했다는 것을 알았습니다 X-Powered-By. 그러나 실제 보안 관리를 수행하는 사람이라면 누구나 문제가 버전 번호 자체가 아니라 버전이라는 사실에 있다고 말할 수 있습니다.헤더가 전혀 노출되어 있습니다.. 따라서 해당 expose_php값을 다음과 같이 변경하십시오.

expose_php = Off

그런 다음 Apache를 다시 시작하고 해당 보안 검색을 다시 시도하십시오. 다음과 같이 명령줄에서 서버의 헤더를 확인할 수도 있습니다 curl.

curl -I example.com

반환된 헤더는 이제~ 아니다PHP 버전 번호 정보를 포함합니다.

그 동안 Apache를 강화하십시오.

보안이 중요하다면 Apache도 강화하는 것이 좋습니다. 이 Apache 구성 파일을 엽니다. 다시 Ubuntu를 기반으로 하지만 CentOS에서 이에 상응하는 항목을 찾으세요.

sudo nano /etc/apache2/conf.d/security

그런 다음 다음과 같이 찾아서 ServerTokens"프로덕션"으로 설정합니다.

ServerTokens Prod

그런 다음 찾아서 ServerSignature비활성화하십시오.

ServerSignature Off

마지막으로 TraceEnable해당 항목도 찾아 비활성화합니다.

TraceEnable Off

Apache를 다시 시작하고 헤더를 확인하거나 서버에 대한 보안 검색을 다시 수행하십시오. 이제 당신의 상태는 더 좋아졌을 것입니다.

이러한 간단한 강화 아이디어의 기본 개념은 내부를 세상에 노출하는 기본 구성으로 설정된 웹 사이트가 악성 코드 봇에게 하나, 서버가 기본 상태이고 두 번째, 서버가 "오래된" 상태로 실행되고 있다는 메시지를 보내는 것입니다. 소프트웨어. 따라서 이와 같이 강화되지 않은 서버는 공격의 좋은 대상이 됩니다. 반환된 헤더의 세부 정보를 난독화하면 스크립트가 취약한 대상을 알 수 있는 방법이 없기 때문에 서버를 덜 바람직한 대상으로 만듭니다.

답변2

CentOS가 이러한 보안 문제에 관심이 없다고 생각하는 이유는 무엇입니까? Redhat(및 CentOS) 백포트가 변경되었으므로 문제에 대해 알려진 보안 문제를 백포트했을 가능성이 높습니다.

PHP가 진행되는 한 다음을 추가할 수 있습니다.웹택틱 레포PHP5.6을 얻으려면.

관련 정보