지난 주 한번에 이어 아까 낮에도 블로그에 접속이 되지 않는 현상이 있었다.
sudo /opt/bitnami/ctlscript.sh status 로 보니 서버 데몬들도 잘 떠 있었고, 일단 sudo /opt/bitnami/ctlscript.sh restart 데몬들을 재시작 시켰더니 정상적으로 잘 접속이 됐다.
혹시 눈에 띄는 점이 있나… access_log와 error_ log를 열어 보니 새벽 1시반 경에 의심스러운 기록이 보였다.
access_log 일부.
xxx.xxx.xxx.xxx – – [14/Mar/2022:01:33:39 +0900] “POST /cgi-bin/.%%32%65%%32%65/%%32%65%%32%
65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/bin/sh HTTP/1.1″ 400 226
이번엔 error_log 일부
[Mon Mar 14 01:33:39.964536 2022] [core:error] [pid 5629:tid 140256628164352] [client xxx.xxx.xxx.xxx:35132] AH10244: invalid URI path (/cgi-bin/.%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/bin/sh)
아마 취약점을 찾기 위한 시도가 아닐까 싶은데, 이번 접속 장애가 이것 때문인지 다른 이유때문인지는 모르겠지만 일단 이러한 시도를 하는 IP는 차단하기로 하였다.
차단 방법은 Block A Suspicious IP Address 에 설명이 잘 되어 있다. 리부팅 해도 차단이 유지되도록 cron job에 등록해주었고. 인스턴스 이전할 때 기존에는 워드프레스만 백업받고 복원했는데 이젠 차단 아이피 주소 테이블도 같이 관리해줘야겠다.
[업데이트]@2022.3.15 14:30
차단할 아이피 추가하기
sudo su
iptables -A INPUT -s 1.2.3.4 -j DROP
차단한 아이피 목록 보기
iptables --list
차단한 아이피 삭제하기
sudo su
iptables -D INPUT -s 1.2.3.4 -j DROP
차단한 아이피를 파일로 저장하기
sudo su
iptables-save > /opt/bitnami/iptables-rules
부팅될 때마다 차단된 아이피 목록을 불러와서 적용하기
crontab -e
위 명령어로 cron 작업 목록 맨 끝에 아래 행 추가하기
@reboot /sbin/iptables-restore < /opt/bitnami/iptables-rules