수년 동안 다시 시작되지 않은 Linux 웹 서버는 안전할 수 있습니까?

수년 동안 다시 시작되지 않은 Linux 웹 서버는 안전할 수 있습니까?

보고서 내용 /proc/uptime:

48973211.37 1627573879.70

48973211초는 서버가 다시 시작되지 않고 567일 동안 작동된다는 의미입니다.

그 이후로 Linux 커널에는 많은 심각한 보안 수정 사항이 적용되었습니다. 내 서버가 다시 시작되지 않았기 때문에 해당 패치가 모두 누락된 것 같습니다. 저는 유럽의 대형 웹 호스팅 업체에 근무하고 있습니다. 하지만 누구를 탓하고 싶지 않아서 이름은 밝히지 않겠습니다.

작은 웹 공간입니다. 저는 PHP + MySQL을 사용하고 있습니다(특별한 것은 없습니다).

나는 그것을 시도하지 않았지만 PHP의 exec() 함수를 사용하여 실행 파일을 실행하여 커널 호출을 직접 수행하는 것이 가능할 수도 있습니다. 하지만 불가능하더라도 누락된 패치가 문제라고 생각합니다.

그렇다면 어떻게 안전할 수 있습니까? 나는 주변에 다양한 가상화 기술이 있다는 것을 알고 있습니다. 어쩌면 그들 중 하나가 그것을 설명할까요?

답변1

아니요, 그렇게 오랫동안 보관된 상자는 안전하지 않습니다.

보안(및 품질) 업데이트를 받으려면 범용 운영 체제를 1년에 여러 번 재부팅해야 합니다. 결국 애플리케이션, C 라이브러리, TLS 라이브러리 등에 대한 수정 사항이 있으므로 모든 프로세스가 영향을 받게 됩니다. 전체 시스템을 중단하고 웜 부팅이 가능하다는 것을 증명하는 것이 더 쉽습니다.

라이브 패치는 제한된 기술입니다. 일부 엔터프라이즈 배포판은 주로 보안 커널 업데이트에 대해 재부팅 없는 업데이트를 제공하는 문제를 겪습니다. 그러나 이것이 모든 것을 고칠 수는 없으며 대부분의 응용 프로그램에는 그러한 문제가 없습니다.

이것이 VM 게스트라고 가정하면 그 아래의 하이퍼바이저도 가끔 유지 관리가 필요합니다. 실시간 마이그레이션 또는 메모리 상태 저장으로 인해 게스트가 물리적 호스트를 전환하는 경우에도 계속 실행되는 것처럼 보일 수 있습니다. 그러나 이는 여전히 자체 업데이트가 필요한 게스트 패치에는 아무런 영향을 미치지 않습니다.

관리형 호스팅 서비스를 사용할 때 컴퓨팅 게스트와 호스트는 다른 사람의 책임이지만 여전히 확신을 얻을 수 있습니다. 일반적으로 소프트웨어 업데이트 정책이 무엇인지 공급자에게 문의하십시오. 마찬가지로, 그들은 이에 대해 명시적으로 책임을 지며, 빈도는 분기별 또는 기타입니다. 대답이 없거나 의도적으로 수년 동안 작업을 실행하도록 놔두는 것은 무능함을 나타내는 지표입니다.

가용성이 문제라면 다중 노드 고가용성 솔루션이 있어야 합니다. 한 호스트의 가동 시간이 아니라 제공되는 전체 서비스입니다.

답변2

아니요. 보안되지 않습니다.

컨테이너화와 같은 가상화 기술은 Linux 웹 서버에 일정 수준의 보안을 제공할 수 있지만 정기적인 업데이트 및 모니터링을 대체할 수는 없습니다. 잠재적인 위협으로부터 서버를 격리하는 데 도움이 될 수 있지만 기본 운영 체제를 최신 상태로 유지하고 문제가 있는지 모니터링하는 것도 여전히 중요합니다.

관련 정보