네트워크 전문가가 아닌 입장에서 클라우드 서버에서 돌발 상황이 발생하게 되면 좀 당황스러운 상황이 됩니다.
오늘도 그러한 상황중 하나가 아닌가 합니다.
클라우드 서버기반 워드프레스를 운영하면서 다양한 문제가 발생하고 그때마다 나름대로 해결책을 찾아 대응하고는 했습니다.
이전에는 내부적인 설정과 관련된 문제였지만 오늘 발생한 문제는 외부적인 요소로 생각됩니다.
클라우드 서버 CPU 점유율 100% 문제점 해결(?)
전일까지 크게 문제가 없던 사이트가 오늘 접속시 “데이터베이스 연결중 에러” 나 엄청나게 느린 속도로 로딩되는 상황이 발생했습니다.
클라우드 서버의 콘솔을 확인한 결과 서버의 CPU 점유율이 100%가 되면서 실질적으로 접속이 멈춰버린 상황이 발생했습니다.
서버를 재부팅하고 다시 점검해도 순식간에 100%로 CPU 점유율이 치솟으면서 문제가 지속되었습니다. 이런 경우는 처음이였고 갑작스럽게 문제가 발생하여 당혹스러운 상황이였습니다.
주간 트래픽 현황을 모니터링 해보더라도 평상시와 다르게 CPU 점유율과 네트워크 트래픽이 급증한 상황(적색 점선박스)를 볼수가 있습니다.
아무래도 외부의 공격으로 예상되었고 클라우드 서버에 보안솔루션 프로그램을 추가로 설치하였습니다.
정확한 진단과 처방인지 아니면 우연의 일치인지 좀 더 시간이 지나야 확인이 되겠지만 서버에 별도의 보안대책을 마련하지 않으셨다면 미리 확인하여 대비하셔야 하겠습니다.
디도스공격등은 막기힘들겠지만 해킹시도는 대비를 하시는것이 좋을듯 하며 아래에서 설명하는 Fail 2 ban 모듈등의 대응책을 준비해두시면 좋겠습니다.
Brute force attack에 대응하는 모듈 “Fail 2 ban”
추천드릴만한 리눅스 보안모듈은 brute force attack에 대응할수 있는 fail 2 ban 입니다. 이 모듈은 특정한 서비스에 프로그램을 이용하여 자동 로그인시도 공격을 하는 brute force attack에 대처할수 있습니다.
ssh,ftp의 계정을 해킹하기 위해서 반복적인 시도를 하는 IP를 찾아내 특정한 횟수가 반복되면 자동으로 차단IP 목록에 포함시킵니다.
Centos 기준으로 설치 방법은 다음과 같습니다.
1) 설치여부 확인
rpm -qa | grep fail2ban
만약 설치되어 있지 않다면 아무런 표시가 나타나지 않습니다.
2) yum을 이용한 설치
yum install fail2ban
진행이 종료되고 y를 눌러 확인해주시면 됩니다.
3) fail2ban 설정하기
cd /etc/fail2ban/
설정파일이 있는 상기 디렉토리로 이동합니다. 이후 vi 편집기를 이용하여 설정파일인 jail.conf 파일을 수정합니다.
4) 설정파일 jail.conf 파일 수정
vi jail.conf
vi 편집기를 실행시킨후 3곳의 항목을 수정합니다.
Ignoreip : 원격접속하는 관리자 PC의 IP를 등록해둡니다. 관리자가 실수로 암호를 틀려서 차단되는 것을 막기위함입니다.
bantime : 암호입력에 실패하는 IP를 차단하는 시간입니다.
Maxretry : 암호입력 허용숫자 즉 여기서 설정한 횟수이상으로 암호입력이 실패하면 차단됩니다.
5) 마무리 설정
이제 서비스를 시작해야 동작이 됩니다.
service fail2ban start
서비스가 시작된 이후에 한가지 추가작업을 해주어야 합니다. 서버가 재부팅될 때 자동으로 실행되도록 하는 작업입니다.
chkconfig –levels 235 fail2ban on
이제 서버가 재부팅되더라도 fail2ban 모듈이 자동실행되게 됩니다.
- 워드프레스 테마 오픈마켓 테마포레스트- Theme forest
- 워드프레스 추천테마 관련 포스트 - AVADA / JARIDA / SAHIFA / GOODNEWS