웹서버 다운 원인 분석중입니다.
워드프레스 홈페이지가 다운 되었다고 메일이 날라와서 그 시간대 로그를 확인해보았습니다.
2023년 2월 17일 (금일 아침) 7시 47분 ~ 8시 8분 대략 22분정도 다운이 되었습니다.
위의 파일은 serverChecker.php 파일을 1분마다 다운로드 받는것인데 제가 만들어놓은 스크립트가 있습니다.
그걸 사용하시면 언제 웹서버가 다운되었는 정확하게 알 수 있습니다.
파일 크키가 0일때 서버가 다운된것이므로 파일 크기 0일때를 조사해보았습니다.
ll -SSh /root/_TION/_logs_tionServerMonitor/ | grep ^-
3일정도를 분단위로 로그를 저장하고 있는데 하루에 한번씩 20분정도 서버가 멈추는 것으로 파악되었습니다.
그리고 의문의 한가지가 있는데요.
같은 시각 다른 서버에서도 동일한 흔적이 있었습니다.
같은서버가 아님에도 불구하고 같은 시간 동일하게 서버가 다운되었습니다.
그래서 로그를 확인해보니… 해킹시도로 인한 서비스 다운이 된듯합니다.
최근에 관리자 접속이 계속 잠기고 로그인 할 수 없었는데 해커 2명정도가 계속 서버에 붙어서 로그인 시도를 하고 있었네요. 안타깝습니다.
지금 확인하고 있는 가운데에도 계속 저렇게 해킹시도를 하고 있으니…
이벤트 로그에서 해킹시도가 명백해졌으므로 IP 차단으로 해결할 문제는 아닌듯하고
서버 root 접속 시도하는 모든 아이피를 자동으로 차단하도록 해야될꺼같단 생각이 들었습니다.
아마존 EC2 운영은 보안서버가 EC2 서버 앞단에 있어서 방화벽으로IP를 제어할수 있지만
ESXi, Xenserver 같은 개인서버를 운영할 경우 방화벽 단계가 없다보니 애시당초 로그인 자체를 못하게 막아야합니다.
로그인 아이디 단 1번이라도 틀리면 접속을 못하도록 막아버려야 할꺼같습니다.
ESXi 서버를 운영할 경우에는 아래 항목을 찾아서 변경합니다.
Security.AccountLockFailures
사용자 계정을 잠그기 전 허용되는 최대 로그인 실패 횟수입니다. 0은 계정 잠금을 사용하지 않습니다.
5
Security.AccountUnlockTime
허용되는 최대 로그인 시도 실패 횟수를 초과한 후 사용자의 계정을 잠그는 기간(초)입니다.
900
저는 숫자를 900 기본값에서 999999999초로 변경하였습니다.
31년동안 접속못하도록 막는 수치입니다.
해커 IP가 31년 차단 당했네요.
우리 31년 후에 만나자!~
안녕.
동시에 방화벽 설정에 접속 허용 IP를 지정해버렸습니다.
완벽하게 접속하지 못하는것을 확인하였습니다.
혹시나 유동IP 바뀌면 안되므로 고정아이피 3개랑 유동아이피 3개를 넣었습니다.
바뀌더라도 어느 하나는 접속 가능하겠죠 ㅎㅎ
해결 완료!