티스토리 뷰

Elasticsearch 하이재킹을 당하다.

오늘 재미난 경험을 했습니다. 만일 실제로 운영중인 서비스가 이런 상황이었다면, 정말 눈물이 앞을 가렸을 지도 모르겠어요.

상황은 이렇습니다. 그냥 집에서 공부하려고 설치한 엘라스틱이 있습니다.

제가 이걸 공유기에서 포트포워딩으로 외부 아이피와 내부 아이피를 동일하게 해서 외부로 개방한것이 문제였던거 같습니다.

노트북은 CentOS 였고, 웹포트는 80이 아닌 전혀 다른 포트로 개방하였고, 나머진 전부 내부 아이피였거든요.

인덱스와 매핑을 만들어서 넣어두었고, 학습용 문서들도 인덱싱해서 넣어두었었는데,

오늘 확인해보니 싸~악 없어져 있었습니다.

그래서

GET http://192.168.0.8:9200/please_read/info/_search

로 확인해보니 다음과 같은 내용이 있었습니다.

{
    "took": 2,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
    },
    "hits": {
        "total": 1,
        "max_score": 1,
        "hits": [
            {
                "_index": "please_read",
                "_type": "info",
                "_id": "AVmac8bX42z4YR-M9t2D",
                "_score": 1,
                "_source": {
                    "Info": "Your DB is Backed up at our servers, to restore send 0.5 BTC to the Bitcoin Address then send an email with your server ip",
                    "Bitcoin Address": "12JNfaS2Gzic2vqzGMvDEo38MQSX1kDQrx",
                    "Email": "elasticsearch@mail2tor.com"
                }
            }
        ]
    }
}

짧은 영어이지만 의역해보자면,

당신의 DB는 우리의 서버에 감춰져 있습니다. 복구하고 싶으면 Bitcoin Adress로 0.5 BTC 를 보내고 email로 당신의 서버 아이피를 보내세요.

푸하하하. 예전에 제 멘토가 했던 말이 기억나네요.

“집에 있는 서버의 포트를 함부로 개방하지 말아라. 봇들 엄청나게 들어오더라. 검색봇은 전혀 없고, 죄다 랜섬웨이나 하이재킹봇들이더라”

항상 백업과 보안점검을 놓치지 말자라는 생각이 드는 하루였습니다.