오늘 갑자기 워드프레스를 사용하는 서비스 쪽에서 접속이 느린 현상이 발견되었습니다.
access_log 를 확인하니 특정 아이피가 계속 xmlrpc.php 를 요청하고 있더군요. (초당 4~5회)
ddos 공격이라고 하기에는 너무 수가 없을 지 몰라도 사양이 좋지 않은 서버라 그런지 많은 영향이 있었습니다.
“vhost 로 세팅된 모든 서비스가 영향을 받았기 때문입니다.”
해당 아이피는 “46.166.139.20” 입니다. 해외이고 네덜란드 쪽인거 같다고 하네요.
일단 apache 의 httpd.conf 에서 deny 설정을 추가했습니다. (Directory 안에 설정하면 됩니다.)
Order allow,deny
Allow from all
deny from 46.166.139.20
그래도 access_log 에서 403 으로 응답을 보내고 있어서 원천적인 차단이 안됐습니다.
iptables 쪽에 DROP 으로 설정합니다.
/etc/sysconfig/iptables 에 “-A INPUT -s 46.166.139.20 -j DROP”
다른 설정으로 인해 특정 포트가 ACCEPT 가 되어 있을 경우 해당 설정 상위에 위치해야 합니다.
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 46.166.139.20 -j DROP
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
저는 이걸 상위에 설정하지 않아서 계속 접속이 되는 바람에 결국 PHP스쿨호스팅에 문의를 했네요. ㅜ.ㅜ
그래도 친절히 확인해주시고 설정을 변경해주셔서 해결이 되었습니다.
아직 특별히 추가적으로 할만한 게 없어서 일단 나머지는 그냥 뒀네요.
좀 더 찾아보다 조치를 취할만한 부분이 있으면 처리 해야겠습니다.
필터를 넣거나 xmlrpc.php 를 삭제하라는 내용이 있어서 수정합니다.
전 사용하지 않기 때문에 삭제했습니다.
필터는 아래와 같습니다.
1. WordPress 내에 필터 설정
add_filter( ‘xmlrpc_methods’, function( $methods ) {
unset( $methods[‘pingback.ping’] );
return $methods;
} );
사용한다면 위 내용을 참고하는게 좋을 것 같네요.