보통 서버는 리눅스로 돌아가는 경우가 많은데요. 리눅스의 서버 시간대 설정은 /usr/share/zoneinfo에 영향을 받습니다. 이 디렉토리의 파일들이 지워진다든지 이름만 바뀌어져도 문제가 있을 수 있습니다. 이름이 바뀌거나 지워졌을때 이 결과를 막아두는 처리가 된지는 미확인입니다.
PHP의 경우
https://www.php.net/manual/en/timezones.php
에서 나온대로 PHP에서 쓰는 시간대 정보가 담긴 C 파일과 헤더를 볼 수 있는데요. 이 경우에도 PHP 소스코드를 살피면 이 시간대 정보가 어디서부터 어디까지 영향을 받는지 알 수 있습니다. 보통 date_default_timezone_set() 과 같은 함수가 유의되게 워드프레스 건강 설정에 나온다면 참고를 해야 하는데, 연쇄 반응에 의해 있는 일이라면 위 링크의 파일 외적으로도 원인이 있을 수 있습니다.
소스코드가 공개인 경우 해킹을 받으면 연쇄 반응에 의해 현상을 넘어선 결과가 나올 수 있으므로 잘 살펴보는게 중요합니다.
이런 경우는 특수한 경우로, 대개는
- PHP 설정 파일에 시간대가 바뀌어서 적용되어 있다
- PHP 설정 패널 UI에서만 바뀌어있다
- 둘다 해당이 된다
이런 원인일 수도 있구요.
클라우드웨이즈처럼 서버 이미지로 작업하는 경우 (또는 흡사하게 도커로 작업하는 경우)
서버 생성시 서버에서 어플리케이션 생성에 쓰이는 이미지가 배정되고, 사용자가 요청할때마다 이미지를 설치해서 어플리케이션을 설치한다
이미지가 어떤 이유로 변조되면 시간대 기본값이 서버 소재지 시간대와 다르게 생성된다
이미지 변조가 회원의 서버에서만 있는 일이면 안 알려진다
이런 경우도 있을 것 같습니다. 설정을 직접 하지도 않았는데 있는 일이면요.
그리고 변조가 일어나는 방법은
위에 말한 설치 이미지 변조
웹데이터를 보낼때 변조
이런 것도 원인으로 의심해봐야 하네요.
전에도 말씀드렸지만, 대부분 오리무중에 빠지게 되면 현상에 집중하기에, 위에 소개한 링크처럼 제작사에서도 알려준 범위 내에서만 살펴보고 마는데요. 일종의 힌트로 여기고 그 이상을 살펴보는 것이 중요하네요. 때로는 집중한 원인이 해결되어도 “둘다 해당이 된다”는 판단으로 이어지지 못하면 (연쇄 반응으로 오리무중에 빠지면 종종 이렇게 됩니다) 다른 문제가 여전히 남아있을 수 있습니다. 논리적이라고 할때 한번에 하나만 떠올리게 되는게 일종의 과학적인 것으로 믿는 것을 완벽하게 해내려고 하다보면 이렇게 됩니다.
예를 들면 VPN에 대해 해킹 가능성이 없다고 할때 이렇게 되네요.
- VPN을 PC 계정이 뚫린 이후에 썼거나
- 메모리 상태가 유출되고 메모리 인젝션이 일어나면 로그도 달리 남겨지구요
- 해커가 VPN을 리버스 프록시로 변경해서 운용한다든지
- 암호화키 탈취후 세션당 이루어지는 작동을 우회한다든지
이런 식으로 변용이 되기에 완전 안심을 하면 안됩니다. 보통 안심시켜주려고 아니라고 하면 이게 또 이용됩니다.
일단 원인을 정확하게 알면 대처법도 잘 고안이 되네요.
해킹에 의한 원인이면 이들 가능성이 있네요. 잘 쓰고 UI도 안건드렸는데 일어난 일이면 소스코드를 변조해서 심은 것도 원인이 됩니다. 위에 말한 것이 방법적으로 같은 결과를 내기도 하네요. 변조가 되는 것도 방법적으로 겹치구요.
그리고 보통 IT만 하신 경우에는 표현이 다르면 다른 경우로 보지만, 방법적으로 겹치는 경우가 있습니다. 이것도 판단에 적극 도입해서 해결법으로 적극 수용하면 현상을 넘어선 판단이 가능해집니다.