버그 해결을 위한 모든 질문을 던져
0 votes
127 views

안녕하세요, PHP로 서버측 스크립트를 작업하고 있습니다.

서버로 VM 2대(Debian 8 Jessie)를 사용하고 있고, NAS로 사용자 데이터를 담은 파일들을 동기화하고 있습니다.

개별 파일들은 평균 3~4MB 내외로, 그렇게 큰 편은 아닙니다. NFS로 NAS를 마운팅하고 있구요, 타임아웃 5s, lookup cache는 비활성화, sync 모드로 마운팅되어 있습니다.

업데이트 시에 서버 내부에 심볼릭 링크가 깨지는걸 방지하기 위해서 PHP 코드를 SVN으로 서버들에 배포하고 있구요. 물론, VM을 증설했을 때에도 마찬가지로 1차적으로 SVN으로 코드들을 모두 배포한 뒤에 초기화 스크립트를 실행, NAS가 자동 마운팅되도록 구성되어 있습니다.

그리고 더욱 놀라운건, PHP 코드상에 해당 파일들을 삭제하는 코드가 없는데도 불구하고, 파일이 손실되는 현상이 지속적으로 발생하고 있습니다. 발견될 때 마다 백업본을 긁어오는 방식으로 대응하고 있지만, 매번 그러다보니 스트레스가 이만 저만이 아니네요 ㅠㅠ. 

(한번 생성되면 변경되지 않는 파일이라 가능한... 그런 방식이며, 심지어, 현재 출시하여, 운영중인 서비스입니다)

 

dmesg에 뭔가 찍혀 있을까 싶어서, 확인을 해봐도 딱 두줄 밖에 안떠있네요. (게다가 그게 에러에 관한 메시지도 아닙니다)

[91873.676108] nfs: server 172.27.128.1 not responding, still trying
[91873.690715] nfs: server 172.27.128.1 OK

다른 로그 파일들은 매우 깨끗합니다. 에러조차 기록되어있지 않습니다. 

처음엔 서버가 공격받은 것으로 의심했지만,...

Nov 11 13:55:08 VM1559127502355 sshd[4884]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.52.86  user=root
Nov 11 13:55:10 VM1559127502355 sshd[4884]: Failed password for root from 222.186.52.86 port 30136 ssh2
Nov 11 13:55:12 VM1559127502355 sshd[4884]: Failed password for root from 222.186.52.86 port 30136 ssh2
Nov 11 13:55:14 VM1559127502355 sshd[4884]: Failed password for root from 222.186.52.86 port 30136 ssh2
Nov 11 13:55:14 VM1559127502355 sshd[4884]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.52.86  user=root
Nov 11 13:56:12 VM1559127502355 sshd[4975]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=simplexhimes.com  user=root
Nov 11 13:56:14 VM1559127502355 sshd[4975]: Failed password for root from 165.22.16.90 port 51460 ssh2
Nov 11 13:58:27 VM1559127502355 sshd[5174]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.190.92  user=root
Nov 11 13:58:30 VM1559127502355 sshd[5174]: Failed password for root from 222.186.190.92 port 26176 ssh2
Nov 11 13:58:33 VM1559127502355 sshd[5174]: Failed password for root from 222.186.190.92 port 26176 ssh2
Nov 11 13:58:36 VM1559127502355 sshd[5174]: Failed password for root from 222.186.190.92 port 26176 ssh2
Nov 11 13:58:50 VM1559127502355 sshd[5199]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.190.92  user=root
Nov 11 13:58:52 VM1559127502355 sshd[5199]: Failed password for root from 222.186.190.92 port 54222 ssh2
Nov 11 13:58:56 VM1559127502355 sshd[5199]: Failed password for root from 222.186.190.92 port 54222 ssh2
Nov 11 13:58:59 VM1559127502355 sshd[5199]: Failed password for root from 222.186.190.92 port 54222 ssh2
Nov 11 13:59:02 VM1559127502355 sshd[5199]: Failed password for root from 222.186.190.92 port 54222 ssh2
Nov 11 13:59:05 VM1559127502355 sshd[5199]: Failed password for root from 222.186.190.92 port 54222 ssh2
Nov 11 13:59:09 VM1559127502355 sshd[5199]: Failed password for root from 222.186.190.92 port 54222 ssh2
Nov 11 13:59:09 VM1559127502355 sshd[5199]: Disconnecting: Too many authentication failures for root from 222.186.190.92 port 54222 ssh2 [preauth]
Nov 11 13:59:09 VM1559127502355 sshd[5199]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.190.92  user=root
Nov 11 13:59:11 VM1559127502355 sshd[5236]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.190.92  user=root
Nov 11 13:59:14 VM1559127502355 sshd[5236]: Failed password for root from 222.186.190.92 port 29616 ssh2
Nov 11 13:59:17 VM1559127502355 sshd[5236]: Failed password for root from 222.186.190.92 port 29616 ssh2
Nov 11 13:59:18 VM1559127502355 sshd[5236]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.190.92  user=root
Nov 11 13:59:20 VM1559127502355 sshd[5245]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=47.74.231.192  user=root
Nov 11 13:59:22 VM1559127502355 sshd[5245]: Failed password for root from 47.74.231.192 port 46840 ssh2

SSH Private-Key로만 접속이 가능한 서버다 보니, 접속 자체가 막혀있는 상황입니다. (공격자가 지우려면 다 지웠겟죠....)

(회사가 규모가 작아서 서버/보안 전담하는 엔지니어가 없어서 부족한 지식으로 직접하고 있지만...)

어떻게 해결하면 좋을까요, 아니, 원인조차 불명이라 자세한 원인을 알고 싶습니다.

 

asked (12 point) , 127 views

질문에 대한 답변을 하려면 로그인 또는 가입해야합니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

255 질문
388 answers
396 댓글
509 users