[태그:] 워드프레스
taeho가 운영하고 있는 워드프레스 블로그와 관련된 글입니다.
-
웹서버(wordpress) 메모리 사용량 모니터링 하기
오라클 클라우드 프리티어의 제한된 메모리 환경에서 워드프레스를 안정적으로 운영하기 위한 보안 및 관리 방안을 다룹니다. 독립 서버에서 워드프레스 블로그를 운영할 때 발생하는 보안 위협에 대응하기 위한 웹 방화벽의 필요성과 메모리(RAM) 부족을 해결하기 위한 웹서버와 DB서버의 분리 사례를 보여줍니다. 서버의 실제 물리 메모리 점유율을 정확히 파악하기 위해 RSS 대신 PSS 지표를 활용하는 모니터링 쉘 스크립트를 소개합니다. 이는 아파치나 PHP-FPM처럼 공유 메모리를 사용하는 프로세스의 사용량을 정밀하게 측정하여, 저사양 가 …
-
Googlebot을 사칭하는 악성 봇 탐지하고 차단하기
구글 검색 봇을 사칭해 웹사이트 정보를 무단 수집하거나 해킹을 시도하는 악성 봇 식별 방법을 다룹니다. 정상적인 구글 봇은 리버스 DNS 조회를 통해 도메인을 확인하거나 특정 IP 대역을 체크하여 구분할 수 있으며, 이를 통해 보안 취약점 노출을 방지합니다. fail2ban과 ipset을 활용해 사칭 봇을 차단하고 서버 보안을 강화하는 실무적인 설정법을 제시합니다. 웹 서버 로그의 사용자 에이전트를 모니터링하여 의심스러운 접근을 탐지하되, 실제 구글 IP 대역을 예외 처리하여 정상적인 검색 엔진 최적화 활동은 방해받지 않도록 구성 …
-
방문자가 봇(Bot)인지 확인하는 JS Challenge 구현
필자가 운영하고 있는 이 블로그의 출발은 cybercafe.tistory.com 이라는 도메인 주소를 가진 티스토리였다. 그 후 2013년에 현재의 도메인(blogger.pe.kr)을 구입하여 티스토리에 2차 도메인으로 연결했다. 그리고 3년 전 티스토리에서 독립한 후 티스토리 도메인은 삭제하였다. 너무도 많은 유해 트래픽 독립 서버에서 블로그를 운영하다 보니 대기업의 블로그 서비스를 이용할 때는 알 수 없던 유해트래픽을 온몸으로 느끼고 있다. 실제 검색엔진을 통해 들어오는 "사람"의 방문 트래픽보다 Bot이나 해킹 시도 트래픽은 …
-
Fail2Ban과 ipset으로 구축한 워드프레스 웹 방화벽 적용 후기
fail2ban과 ipset 그리고 iptable의 조합으로 워드프레스 블로그의 웹 방화벽을 구축한지 만으로 3일 정도가 지났다. 그런데 예상보다 그 효과는 더욱 극적이었다. 필자의 블로그에는 하루에도 수천번의 sshd 무작위 로그인 시도와 워드프레스 웹 로그인 시도 그리고 수시로 몰려오는 파일 스캔으로 로그 파일의 사이즈는 커져만 갔었다. 그래서 앞의 포스트에서 많은 고민 끝에 fail2ban과 ipset 그리고 iptable의 조합으로 웹 방화벽을 구축하고 가장 공격이 많은 세가지의 filter와 jail을 만들고 iptabl …
-
Fail2Ban과 ipset으로 워드프레스 웹 방화벽 구축하기
클라우드의 VM 또는 홈서버에 직접 서버를 구축하고 워드프레스와 같은 블로그 또는 웹사이트를 운영하는 사람들은 모든 문제를 직접 해결해야 한다. 검색엔진의 봇이 아닌 불법적인 웹 크롤러와 봇이 무단으로 저작물을 가져가는 것을 막아야 하고 광고 댓글이 달리는 것도 차단해야 한다. 게다가 로그인 페이지를 찾아내 무단으로 접속을 시도하는 것도 막아야 하고 웹서버의 해킹 시도도 차단해야 하며 심지어 운영체제에 직접 로그인하려는 원격접속(SSH) 시도도 방어해야 한다. 필자 또한 많은 고민을 하며 이런 저런 방법으로 공격을 막아내고 있다. …
-
iptable과 ipset을 연동하여 대량 IP 효과적으로 차단하기
Referer 주소가 없는 방문자의 정체 언제부터 인지는 알 수 없지만 필자가 운영하고 있는 워드프레스 블로그의 방문자 로그에 이상한 로그가 잡히기 시작했었다. 바로 다음과 같은 로그다. 방문자 카운터 로그에 기록된 비정상 방문 이력 구글이나 네이버와 같은 검색엔진을 통해 유입이 되는 경우 95% 이상의 비율로 Referer에 Google이나 Naver, Bing 등 검색엔진의 URL 주소가 기록된다. 하지만 앞 화면에 보이는 것과 같은 접속 이력은 Referer 주소가 없다. 이 방문자 접속 이력은 필자의 워드프레스 블로그에 직 …
-
중국의 유해 트래픽을 차단하다
인터넷에는 유해한 트래픽이 넘쳐난다. 그 중에서도 중국에서 다른 나라로 유입되는 트래픽은 유별나게도 유해한 트래픽이 많다. 우리나라로 유입되는 다양한 트래픽도 대부분 유해한 트래픽이라 해도 과언이 아니다. 그리고 그런 중국발 유해 트래픽은 필자의 블로그로도 유입된다. 그런데 최근에 갑자기 그 트래픽이 많아지기 시작했다. 워드프레스 블로그의 방문자 로그 분석 필자는 다음화면과 같이 방문자의 로그를 로그 수집서버에 수집하여 종종 분석하고 있다. 로그는 다음 화면과 같이 시간, 글제목, 글URL, IP, Referer 주소, 플랫폼의 …
-
imgproxy를 사용한 이미지 캐시 서버의 효과
필자가 운영하고 있는 블로그에 Caddy + Nginx + imgproxy 조합의 이미지 캐시 서버를 구축해서 연동한지 1개월 하고도 10여일이 넘게 지났다. 처음 구축했을 때는 안정성을 훼손하지 않을까 염려했는데 성능이나 안정성 측면에서 성공적이라 생각된다. 필자의 블로그에는 대충 어림잡아도 100~250 KB 크기의 이미지 파일이 적게는 3~5개, 많게는 30~40개의 이미지까지도 첨부되기에 포스트 1개만 해도 제법 큰 트래픽이 발생한다. 필자의 워드프레스 블로그(blogger.pe.kr)에는 포스트를 작성할 때 JPG 포맷의 …
-
바이브 코딩으로 가볍고 빠른 워드프레스 테마 만들기
필자의 블로그는 3년 전, 티스토리를 떠나 직접 구축한 독립 리눅스 서버에 설치된 워드프레스에 정착해 있다. 그리고 워드프레스로 블로그를 구축하면 거의 필수적으로 사용하게 되는 테마는 여러 테마를 전전하다 제너레이트 프레스(GeneratePress)를 사용하고 있다. 제너레이트프레스(GeneratePress) 테마 워드프레스 사용자, 특히 한국의 사용자들은 제너레이트프레스 테마를 선호하는 경향이 강하다. 제너레이트프레스 테마를 선호하는 이유는 제너레이트프레스가 다른 상용 테마들 중에서 손꼽히게 가볍고 빠르며 깔끔하고 심플한 테마를 …
-
워드프레스의 글 목록 페이지를 생성하는 플러그인 (대문)
티스토리에서 독립서버의 워드프레스로 이사한 후 가장 애를 먹은 것 중 하나가 대문에 최신글의 목록을 깔끔하게 표시하는 것이었다. 티스토리나 네이버 블로그에서는 너무도 당연하게 블로그 첫 페이지에 표시되는 최신글 목록 기능이 제공된다. 블로그의 메인페이지와 카테고리, 또는 Tag를 선택했을 때에는 글의 제목과 글을 대표하는 이미지 그리고 작성일자, 카테고리와 글의 요약이 표시되어야 한다. 이 당연하다고 생각되는 기능이 워드프레스에서는 당연한 것이 아니다. 워드프레스 블로그의 글 목록 표시 그래서 네이버 블로그나 티스토리를 사용하던 …