블로그.지오닷컴
우분투에서 CSF 명령으로 아마존 서버 접속을 모두 차단하기 본문
최근에 관리하는 우분투 서버로 ec2-18-188-20-56.us-east-2.compute.amazonaws.com 와 같은 host 접속이 과도하게 일어나는 것을 확인하였습니다. 하나의 host도 아니고 다양한 지역의 IP를 가지고 접속을 하기 때문에 평소보다 10배 많은 트래픽이 발생하여 손실이 발생하였습니다. 이 때문에 bot 으로 의심되는 compute.amazonaws.com를 모두 차단하여 평소와 같은 트래픽으로 줄일 수 있었습니다.
이번 해결 과정에서는 아래 2개의 게시물을 참고하였습니다.
- CSF 사용법 참조 : https://ko.linux-console.net/?p=9525
- 아마존 웹서버 전체 차단 참조 : https://www.plothost.com/kb/block-amazon-aws-traffic/
이 방법을 알아내는 과정에서 How to block amazonaws.com 라고 검색했던 것이 주효한 것 같습니다. 여러분도 문제가 생기면 영문으로 검색해보는 것도 좋을 것 같습니다. 저와 같은 문제로 고생한 분들이 꽤 많은 것 같습니다. 저는 .htaccess 로는 해결이 안 되었습니다.
CSF 설치 및 설정
#우분투에서 설치
wget https://download.configserver.com/csf.tgz
tar xvfvz csf.tgz
cd csf
sudo ./install.sh
#처음 실행
sudo /etc/csf/csftest.pl
#충돌이 일어날 수 있는 APF 및 BFD 등을 제거
sudo /etc/csf/remove_apf_bfd.sh
#기본 설치는 테스트 모드이므로 적용 모드로 설정 파일 변경(아래 내용 참고)
sudo vi /etc/csf/csf.conf
# Change to 0 to disable TESTING mode
TESTING = "0"
. . .
# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443"
# Allow incoming UDP ports
UDP_IN = "20,21,53"
# Allow outgoing UDP ports
UDP_OUT = "20,21,53,113,123"
. . .
#변경된 설정 파일 적용을 위해 재시작
sudo csf -r
아마존 서버 IP 목록 가져오기
# 아마존 서버 IP 목록 파일 가져오기
wget https://ip-ranges.amazonaws.com/ip-ranges.json
# 가져온 아마존 서버 IP 목록 확인하기
grep ip_prefix ip-ranges.json | awk '{print $2}' | tr -d \",
...
3.5.140.0/22
35.180.0.0/16
52.93.178.234/32
52.94.76.0/22
52.95.36.0/22
120.52.22.96/27
...
CSF로 아마존 서버 IP 모두 차단하기
#가져온 아마존 서버 IP를 모두 CSR 차단 목록으로 만들기
ip-ranges.json | awk '{print $2}' | tr -d \", >>/etc/csf/csf.deny
#CSR을 재실행하여 아마존 서버 IP를 모두 차단하기
csf -r
#실행 시 perl 설치가 안 되었다는 경고 메세지 발생 시, apt-get으로 관련 모듈 설치
- *WARNING* URLGET set to use LWP but perl module is not installed, fallback to using CURL/WGET
apt-get install libwww-perl liblwp-protocol-https-perl libgd-graph-perl
서버에 접속한 IP(host)별 트래픽을 확인하는 방법은 아래 링크에서 설명해 두었습니다. 실제로 차단되는 트래픽을 확인하시는데 도움이 되실 것입니다.
우분투에서 접속한 IP(host)별 트래픽 확인하기
서버를 관리하다보면 트래픽이 예상외로 트래픽이 많이 나타나는 날이 있습니다. 그럴 때는 누가 서버에 접속해서 트래픽을 유발하고 있는 지 확인하고 싶습니다. 그럴 때 사용할 수 있는 프로
blog.zieo.com
다음에 또 좋은 정보로 찾아오겠습니다.
반응형
'노하우 > 웹서비스 개발' 카테고리의 다른 글
PHP에서 특정 host 이름으로 접속 차단하기 (0) | 2024.04.26 |
---|---|
우분투에서 프로그램별 트래픽 확인하기 (0) | 2024.04.25 |
우분투에서 접속한 IP(host)별 트래픽 확인하기 (0) | 2024.04.25 |
검색엔진최적화(SEO)를 위한 기본 - 메타 태그(Meta Tag) (0) | 2014.04.30 |
jQuery 적용을 위한 기본 소스 (0) | 2014.04.30 |
Comments