웹사이트 해킹 의심으로 Discourse 설정 중단

안녕하세요, Digital Ocean 드롭렛에 Discourse를 설정하는 중입니다.

원클릭 설치 단계를 성공적으로 완료했습니다(적어도 오류는 없었죠). 그런데 해당 스크립트가 완료된 후, 설치를 계속하기 위해 새 설치 URL(www.nzarchitecture.net.nz)을 입력했는데, Discourse와 관련된 화면 대신 해당 URL에서는 다음 내용만 확인되었습니다! image|690x486 D:\Jobs\Screen Captures\Screenpresso\2020-01-04_06h49_44.jpg

하지만 브라우저를 새로 고침하면 이제 해당 URL에 연결조차 할 수 없고, 브라우저에서 ‘err timed out’ 응답을 받습니다.

이것은 설정 과정에서 무언가가 탈취되었음을 시사하는 것일까요? Discourse 설정 파일 자체가 어떤 방식으로든 손상되었을 수도 있나요? 아니면 다른 곳에서 악성 코드가 주입되고 있는 걸까요?
이것이 알려진 문제인가요? … 그리고 어떻게 해야 할까요? 드롭렛을 삭제하고 처음부터 다시 시작해야 하나요? - 하지만 그렇게 해도 동일한 문제가 재발하지 않도록 막을 수 있는 방법이 있을까요?

불행히도 Digital Ocean의 원클릭 설치에 대해서는 도움을 드릴 수 없습니다. 공식 설치 지침만 지원합니다: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

게르하르트님, 안녕하세요.

저는 기본적으로 그 가이드를 따랐습니다.

‘원클릭’ 부분은 클라우드 서버를 생성했을 뿐이고, Ubuntu와 discourse 설정 파일이 이미 설치되어 있는 상태였을 것 같습니다. (가이드의 1단계와 동일하며, PuTTy를 통해 서버에 연결하자마자 ./discourse-setup이 자동으로 실행되었죠.)

그 이후의 모든 단계는 가이드에 따라 진행했으며, 모든 사전 요구 사항도 가이드에 명시된 대로 충족했습니다.

Droplet을 삭제하고, Ubuntu만 설치된 새 Droplet을 만들어서 가이드를 따라 처음부터 다시 시도해야 할까요?

네. 정확히 그렇게 하시면 됩니다. 작동하는 인스턴스를 만들어도 DigitalOcean 설치 스크립트가 얼마나 최신 상태인지 알 수 없기 때문에 지원되지 않습니다.

도메인이 다른 IP 주소로 해석되고 있었던 건 아닐까요?

Tobias, 안녕하세요. 감사합니다.

제안하신 대로 진행했습니다. 그러나 권장된 절차를 (표면적으로는 성공적으로) 완료한 후에도, 제 Discourse 사이트로 접속을 시도하면(어떤 브라우저를 사용하든) 여전히 브라우저 타임아웃만 발생하고 있습니다.
www.nzarchitecture.net.nz

도메인 등록 업체에서 이 도메인이 Digital Ocean의 네임서버를 가리키도록 설정했는지 확인했습니다. 그렇다면 해당 URL이 올바른 주소로 해석(resolve)되고 있어야 하지 않을까요?

Digital Ocean의 DNS 설정에서 이전의 드롭렛(이미 폐기한 상태) IP 주소를 가리키고 있던 잘못된 A 레코드를 발견했습니다. 하지만 이 레코드를 수정하고 https://ipinfo.info/html/ip_checker.php를 사용하여 URL이 이제 올바른 IP 주소와 연결되어 있음을 확인했음에도 불구하고, 여전히 타임아웃만 발생합니다.

그렇다면 다른 어떤 문제가 있을 수 있을까요?

몇 번 확인했을 때 잘못된 도메인이었지만, 지금은 올바르게 표시되고 있습니다. 다만 사이트가 열리지 않습니다.

검색해 보니, 옛날 포럼이라고 추정되는 기록이 나옵니다.

네, 도메인이 현재 165.22.107.139를 가리키고 있는데, 이 IP는 ping에 응답하지 않아 해당 위치에 활성 서버가 있는 것으로 보이지 않습니다.

일부 노드에서 이 도메인과 연관된 다른 IP 주소인 167.172.115.196은 활성 서버가 있지만, 페이지를 서빙하지 않고 있습니다.

안녕하세요, Robert 감사합니다.

저도 핑이 작동하지 않는 것을 확인했습니다.
방금 Windows CMD 창에서 제 도메인에 대해 Tracert를 실행해 보았는데, 뉴질랜드에 있는 저와 지리적으로 가장 가까운 서버로 선택된 싱가포르의 Digital Ocean 서버 사이에 문제가 발생하고 있습니다. 이것이 문제의 원인이 될 수 있을까요? 그렇다면 어떻게 해결해야 하나요?

새 사용자에 대한 최대 2개 링크 제한 때문에 이 게시물에 Tracert 결과를 붙여넣을 수 없습니다(Tracert 결과에는 링크가 가득 차 있습니다).

DNS A 레코드를 165.22.107.139로 변경한 것으로 보입니다.

하지만 해당 IP 주소에는 활성 머신이 없습니다. 먼저 드롭릿이 이 IP 주소와 연결되어 있는지, 그리고 드롭릿이 활성 상태인지 확인해야 합니다.

로버트 씨, 안녕하세요 - 네, 말씀하신 변경 사항을 적용했습니다. 이전 IP 주소는 처음 생성했다가 삭제한 첫 번째 드롭렛과 연결되어 있었던 것으로 생각됩니다. 처음부터 다시 시작하기 위해 그렇게 했거든요.

제가 아는 한, 해당 위치에 활성 머신이 있는 것 같습니다(적어도 대시보드에서는 켜져 있는 것으로 표시되고, 설정 과정 중에는 CPU 및 네트워크 활동의 흔적이 약간은 보이거든요). 하지만 완전한 초보자인 저는 아마도 중요한 무언가를 놓치고 있는 것 같습니다… 설정 과정에서 서버가 꺼졌을 수 있을까요?

D:\Jobs\Screen Captures\Screenpresso\2020-01-04_14h44_00.jpg

그것은 오해의 소지가 있을 수 있습니다. DO(디지털 오션) 지원팀에 연락하는 것이 좋습니다. 분명히 문제가 있는 것 같습니다.

'console’을 클릭하면 어떤 일이 발생합니까?

콘솔에 접속하면 콘솔 창이 열리며 로그인하라는 메시지가 표시됩니다.
root로 로그인하면 성공적으로 로그인할 수 있으며, 몇 가지 기본 통계가 표시됩니다.
'eth0:'와 'docker0:'에 대한 주소가 각각 하나씩 보입니다. A 레코드에는 첫 번째 주소를 사용해야 하는 것 같습니다.

DO(디지털오션)에 지원 티켓을 제출했습니다(실제로 몇 시간 전에 제출했죠). 아직 응답이 없습니다. 저 같은 소규모 사용자에게 얼마나 많은 지원을 제공하는지 잘 모르겠습니다. (특히 1클릭 설치 도구를 최종적으로 사용하지 않은 경우라면요?)

좋아요, 확실히 네트워크 문제입니다. 해당 IP 주소가 '공개’되지 않았을 수 있습니다. DO(디지털오션) 지원팀에 확인해 보세요.

알겠습니다 - 도움 주셔서 감사합니다

좋습니다. 아직 티켓에 대한 답변은 없지만, 같은 문제를 겪고 있는 다른 분들을 위해 그동안 제가 시도한 내용을 공유합니다. 저는 먼저 이미지 백업을 만들고, 드롭렛을 삭제한 뒤 잠시 기다렸다가 드롭렛을 복원했습니다. 이렇게 하면 새로운 IP 주소가 할당됩니다.

그 후 DO의 DNS A 레코드를 해당 IP 주소와 일치하도록 업데이트했습니다.

새로운 IP 주소로는 ping이 가능했지만, www.nzarchitecture.net.nz URL에 접속할 때는 여전히 동일한 타임아웃 오류가 발생했습니다.

하지만 www를 붙이지 않고 nzarchitecture.net.nz만 입력하면 웹페이지가 표시되었습니다. 이유를 모르겠지만, 'Lamp’를 설정하려면 SSH로 연결하라는 프롬프트가 나타났습니다.

이론적으로 두 URL은 동일한 위치로 가야 합니다. CNAME 레코드를 사용하여 한 URL을 다른 URL의 별칭으로 설정했기 때문이죠. 이 점만으로도 이상합니다.

그래서 PuTTY를 통해 새로운 IP 주소에 접속하고 cd /var/discourse를 입력한 뒤 ./discourse-setup를 실행했습니다. 이미지에 모든 파일과 설정이 그대로 남아 있는 것이 명확했습니다.

하지만 설정 과정을 다시 진행해 보며 뭔가 새로고침되길 바랐는데… 이번에는 성공한 것 같습니다! 이제 새로운 계정을 등록하라는 Discourse 웹페이지가 표시됩니다.

아니, 문제 발생!

LAMP 설치를 권장하고 있다면, 해당 드롭렛을 배포할 때 선택한 운영체제(OS)에 심각한 문제가 있는 것입니다.

위 드롭렛을 Ubuntu 18.04로 다시 설치해 주세요. 애플리케이션 경로를 따르거나 원클릭 애플리케이션 기능을 사용하지 마세요. Ubuntu 18.04만 선택하고 시스템이 처리하도록 두세요. 완료되면 설명에 따라 discourse 설치를 진행해 주세요.

반누, 고마워요 - 제가 한 것도 대충 그런 방식이었고, 잘 작동한 것 같아요.