요즘 CentOS(Stream), RedHat, Rocky Linux를 설치하면 기본적인 방화벽 패키지로 「Firewall」 설치됩니다. 필자는 대부분 테스트서버에서 적응을 위해 그대로 이용을 했었으나, 사용하기 불편하고 가독성도 떨어져서 어느 순간부터 사용하지 않게 되었습니다. 대신 오래전부터 계속 사용해 왔던 「IPtables」를 다시 활용하면서 좀 더 효율적으로 보안 관리를 위해 IP주소를 국가별로 관리할 수 있는 「GeoIP」를 적용해 보도록 하겠습니다. ※ 「GeoIP Databases」 파일을 다운로드하기 위해서는 「MAXMIND」 가입이 필수, 본문에 설명하면서 같이 다루도록 하겠습니다.◇ 테스트 OSRocky Linux release 8.8 (Green Obsidian) - 최소 설치※ 커..
호스팅 업무를 하다 보면 많이 접수되는 것 중하나는 SSL/TLS 인증서 관련한 문의입니다. 대부분 어떻게 인증서를 구입 및 적용하는지, 인증서를 꼭 적용해야 하는지 등에 대한 FAQ가 많아서 이것을 개인적인 지식과 SSL발급 업체 홈페이지 안내의 정보를 최대한 한 포스팅에 정리하여 담고자 합니다. ※ 모든 정보는 개인서버에서 직접 테스트한 결과만을 가지고 안내를 드리도록 하겠습니다. 주로 Linux Server「Rocky Linux」, Windows Server「2019/2022」에서 테스트를 진행하였습니다.※ SSL 인증서는 무료 발급「Let's Encrypt」을 이용 : 「포스팅 참고」※ 해당 포스팅을 통해 실서버 적용 시 문제 발생에 대하여 책임지지 않습니다.SSL/TLS란?SSL「Secure S..
최근 여러 보안팀 업체에서 「HTTP/2 취약점」 점검으로 확인 요청이 들어와 내용을 확인해 보니 다음과 같습니다. 사용자가 엣지「Edge」나 크롬「Chrome」 같은 브라우저를 이용하여 대다수의 일반적인 「HTTP/1(1.1)」서버에 하나의 요청「Request #1」이 들어오면 1:1로 「Response #1」 응답을 합니다. 하지만 네이버나 구글 같은 대형 포털 사이트의 경우는 클라이언트에서 여러 개의 동시 「Request #1-100」 요청 및 「Response #1-100」 응답을 처리하기 위해 최소 「HTTP/2」 서버 서비스를 이용합니다. 하지만 공격자들은 이런 좋은 기능을 악용하여 하나의 클라이언트에서 여러 요청을 무한정으로 요청하여 DDoS의 형태로 공격하는 「Rapid Reset Atta..
①증상 발생 ◇ 홈페이지 접속 시 500 Internal Server Error 발생 ② 아파치 실시간 에러로그 확인 [root@]# tail -f error.log [error] [client IP] Response header name 'P3P ' contains invalid characters, aborting request ※ 응답 헤더 이름 'P3P'에 잘못된 문자가 포함되어 요청을 중단하였다는 메시지 확인 ③ P3P header를 사용하는 파일 찾기 [root@]# find /home -type f -exec grep -l p3p {} \; ※ /home 부분은 사이트가 연결된 「홈 디렉터리 경로」를 잡아주면 됩니다. /home/bbs/data/파일.PDF /home/bbs/lib.php [..
CentOS 8 - Apache log manage(rotatelogs) 웹호스팅을 운영하다 보면 골칫거리 중 하나가 로그 관리입니다. 가상 호스트로 여러 개의 도메인을 등록하여 이용하다 보니 Access_log Error_log 각 로그에 전부 쌓이기 때문에 시간이 지날수록 용량이 커지는 것을 무시할 수가 없습니다. 커지는 만큼 서버에 사용해야 하는 용량과 리스크(위험) 부담이 생기며 무시할 경우 100% 사용률에 따른 예상치 못한 오류가 발생합니다. 로그를 안 쌓이게 설정할 수도 있지만 간혹 접근 기록, 에러, 웹로그 분석을 위해 확인이 필요한 경우도 있으므로 기본적으로는 쌓이도록 설정하는 게 좋습니다. 그럼 로그를 좀 더 편하게 관리하기 위해 Rotatelogs 사용방법을 알아보도록 하겠습니다. ※..
CentOS 8 - Apache virtual host config □ 가상 호스트[Virtual Host]란? 기본적으로 웹서버에 존재하는 주 호스트 즉 예로 [aaa.com]이라는 도메인을 등록하여 사용하고 있지만 추가적으로 한 서버에 [bbb.com] [ccc.com] 등 여러 도 메인을 등록하여 사용한다는 의미입니다. 가상 호스트에도 여러 종류의 방면으로 운용을 할 수 있지만 일반적으로 하나의 PC(서버)나 IP로 여러 이름의 도메인으로 각각 운용할 수 있다는 부분입니다. 일반적인 웹서버 (서버 3대) 가상호스트 웹서버 (서버 1대) AAA.com (IP : 192.168.0.1) AAA.com (IP : 192.168.0.1) BBB.com (IP : 192.168.10.2) BBB.com (I..
[테스트 환경] □ OS : Rocky Linux release 8.5 (Green Obsidian) □ DB : 10.6.7-MariaDB MariaDB를 설치를 하면 기본 데이터 디렉토리[Datadir]가 설치되는 경로는 [/var/lib/mysql] 입니다. [root@Rocky85 /]# mysql -u root -p [DB 접속] MariaDB [(none)]> select @@datadir; [기본 데이터 디렉토리 경로 확인] 하지만 기본 데이터 디렉토리의 경우 파일 시스템을 별도로 분리를 하지 않았다면 [ /(ROOT) ] 루트 경로에 설치가 되므로 관리를 하지 않아 해당 경로에 사용량(Use) 100% FULL 발생하게 되면 시스템 문제에 영향을 줄 수 있습니다. 실서버를 운영하게 되면 기..
공식 문서 참고 : https://mariadb.com/kb/en/authentication-from-mariadb-104/ 하여 작성을 하였으며, MariaDB 10.4 이상부터는 작업을 보다 쉽고 직관적으로 만들기 위해 인증 프로세스에 여러 변경 사항을 도입했다고 합니다. 그중 가장 이슈가 되는 부분은 바로 ROOT 패스워드 입력 없이 Unix_socket 방식을 이용하여 바로 DB에 접속하는 방식을 말합니다. 먼저 이것을 설명하기 위해 바로 테스트를 진행해보도록 하겠습니다. [테스트 환경] □ OS : Rocky Linux release 8.5 (Green Obsidian) □ DB : 10.3.28-MariaDB □ DB : 10.4.24-MariaDB [10.4.X 이상] □ DB : 10.6...
DB를 운영하다 보면 예상치 못하게, 데이터베이스나 테이블이 깨지는 경우가 발생할 수 있습니다. MariaDB(Mysql) 자체에 체크(check), 복구(repair) 기능이 있지만, 이것으로도 해결을 못하면 말 그대로 데이터가 날아가게 됩니다. 일반적으로 자동으로 발생하는 경우는 드물며, 정전으로 인해 서버가 갑자기 죽어서 DB를 재시작하거나 데이터를 이전 복구하는 경우에 많이 발생합니다. 때문에 주기적으로 백업을 할 필요가 있습니다. 여기서는 백업/복구 및 자동으로 백업하는 방법을 알아보도록 하겠습니다. [테스트 환경] □ OS : Rocky Linux release 8.5 (Green Obsidian) □ DB : 10.6.7-MariaDB ■ 데이터베이스 전체 백업 [root@localhost ..
◆ Plugin 「Persistent Login」「Persistent login」은 RoundCube 1.6.7 버전에 기본적으로 없는 Plugin입니다. 「autologon」라는 Plugin이 있긴 하나 소스단에 직접 ID/PASSWORD 정보를 적어야 하는 취약점이 있습니다. 그래서 RoundCube 사용 관리자들은 대부분 DB에 직접 「AuthTokens(토큰 기반 인증)」 정보를 저장할 수 있는 「Persistent login」 플러그인을 따로 설치하여 사용한다고 합니다. 「Persistent」 단어는 한국어로 끈질긴, 집요한, 끊임없이 지속되는 것을 의미합니다. 라운드큐브 메일서비스에서는 쿠키초기화나 세션만료에 의해 로그아웃되지 않고 계속 로그인을 유지시켜 주는 기능을 뜻합니다. ※ 로그인 ID..
◆ Plugin 「Managesieve」「Managesieve」은 RoundCube 1.6.7 버전에 기본적으로 설치되어 Plugin입니다. 「Sieve」라는 단어는 한국어로 체(가루/물 등을 거르는 데 쓰는 부엌 도구)를 의미합니다. 즉 라운드큐브 메일서비스에서는 수신받은 메일을 특정 메일함으로 「자동분류」를 해주는 기능을 말합니다. 해당 플러그인을 사용하면 자동분류뿐만 아니라 「자리비움(부재중 응답)」과 「자동전달(다른 이메일주소로 전달)」도 사용이 가능합니다. 웹메일서비스를 제공하는 솔루션이라면 편의상 많이 채용하는 기술입니다. 특히 자동분류는 바이어(Buyer) 업체나 상황에 따라 메일함 분류를 할 수 있어 업무효율을 높일 수 있는 좋은 기능입니다. RoundCube# 플러그인에서는 해당 이름으..
◆ Plugin 「Newmail_notifier」「newmail_notifier」은 RoundCube 1.6.7 버전에 기본적으로 설치되어 Plugin입니다. 이름에서 유추할 수 있듯이 새로운 메일이 수신되면 팝업창이나 소리로 알려주는 기능입니다. 필수 기능은 아니지만 상용 기업메일에서도 은근히 찾는 기능 중 하나입니다. 다른 업무를 하고 있어도 팝업창이나 소리로 새로 수신된 메일을 알려주니 효율적으로 메일을 확인할 수 있는 좋은 기능이라고 생각합니다. RoundCube# 플러그인 검색을 할 때에는 「kitist/html5_notifier」 이름으로 검색해야 합니다. RoundCube에 공식적으로 채용하면서 지금의 이름으로 등록을 한 것으로 보입니다.① newmail_notifier 플러그인 활성화 하..
◈ 리턴 메시지550 5.7.0 encryption too weak 128 less than 256「번역」 암호화가 너무 약합니다. 추가 수신 측 연결 테스트 시[root@]# telnet xxx.xxx.xxx.xxx(hostname 또는 IP) 25Trying xxx.xxx.xxx.xxx...telnet: connect to address xxx.xxx.xxx.xxx: Connection refused (연결 거부) 리턴 사유를 보면 「Encryption too weak」 암호화가 너무 약함이라는 문구가 보이며, SMTP(25) 포트 연결을 거부했습니다. 메일 발송 서버가 「TLS」 암호화 통신이 아닌 평문으로 발송시도가 되어 메일을 받는 것을 거부했다는 것을 추측할 수 있습니다. 실제로 「Broadc..
◈ 리턴 메시지550 Mailbox full「번역」 메일함이 가득 찼습니다. ※ 비슷한 패턴550 (Mailbox) Quota Violation 「번역」 (메일함) 할당량을 위반(초과) 하였습니다. 550 The recipient's mailbox is full「번역」 수신자의 메일함이 가득 찼습니다. 552 The recipient’s mailbox is over its storage limit 「번역」 수신자의 사서함(메일박스)이 저장 한도를 초과했습니다. 452:452-4.2.2 The recipient's inbox is out of storage space. Please direct the 452-4.2.2 recipient to 452 4.2.2 https://support.google.c..
◈ 리턴 메시지550 sorry, your envelope sender domain must exist (#5.7.1)「번역」 죄송합니다. 봉투(메일) 발신자 도메인이 존재해야 합니다.(반대의 뜻으로 발신자의 도메인이 없다는 뜻) ※ 비슷한 패턴553 5.1.8 Domain of sender address does not exist 「번역」 발신자 주소 의 도메인이 존재하지 않습니다. 451 Sender Domain Must Resolve「번역」 발신자 도메인이 해결되어야 합니다.▣ 리턴메시지가 발신자 도메인이 존재하지 않는다고 응답을 했다면 본인이 이용하는 메일주소 Domain> 도메인 부분이 기간이 만료되어 더 이상 제 역할을 하지 못하는 상태라고 보면 됩니다. 여러 수신 측에서 무조건 못 받는 것..
최근에 여러 PC 및 스마트폰을 대부분 최신으로 변경하였습니다. 집 인터넷은 KT 기가 인터넷 최대 1G를 지원하는「인터넷 에센스」를 사용 중이며 「GiGA WiFi Premium」 장비가 포함되어 있습니다. 하지만 KT WiFi 장비 연식이 2016년 도라 오래되기도 했고 「Wi-Fi 5 (IEEE 802.11ac)」가 기가를 지원해도 최신 제품을 사용하다 보면 속도나 연결이 불안정하다는 느낌이 있었습니다. 그래서 최신에 걸맞은 안정된 속도를 느끼기 위해 별도의 공유기를 구입하기로 마음먹었습니다. 무난하게 IPTIME제품을 구매하려다 TP-LINK에서 안테나가 보이지 않는 초박형 형태의 「Wi-Fi6 (IEEE 802.11ax)」 공유기가 신규 제품으로 나온 게 있어 신기한 마음에 구입을 해보았습니다...
여러 케이스를 조립하면서 느낀 점이 있습니다. 스펙에 맞게 적당한 크기 이상의 케이스를 사용하는 게 좋다는 것을... 「JONSBO Z20 White」는 작으면서 M-ATX 보드를 지원하는 것은 좋지만 결국 공간이 부족하여 억지로 선을 연결하는 것은 장기적으로 봤을 때 예민한 기기에게도 별도 좋지 않을 것 같다는 생각이 들었습니다. 공랭만 사용하는 입장에서 온도도 민감합니다. 결국 돌고 돌아 기본적으로 PCIe 4.0 라이저 케이블을 지원하는 HYTE의 「Y40」을 구입하게 되었습니다. 요즘은 화이트라고 안 하고 컬러를 판다「Panda」라고 표시하고 있네요. 마침 서린에서 블프데이로 할인을 하고 있어서 고민도 없이 구입했는데 딱 하나 남았었는지 바로 품절이 돼버리네요. JONSBO에 세팅했던 부품을 그대..
이미 기존에 Seagate IRONWOLF PRO HDD 20TB를 구입하여 사용 중이었습니다. 하지만 고급 시놀로지를 샀는데 디스크 하나만 사용하기에는 아쉽고, 중요한 데이터를 저장할 일도 많아져서 레이드를 위해 20TB를 하나 더 구입하게 되었습니다. 대신 환율 때문에 구입 당시 새 거를 똑같은 가격에 사기에는 부담스러워서 고민 끝에 조금 더 저렴한 리퍼비시(Refurbished) 제품으로 구입, 해외에서 직구로 구입을 하여 어떻게 진행하고 적용을 했는지에 대해 정보를 남기려고 포스팅하게 되었습니다. 모든 사진은 직접 스마트폰으로 촬영 및 실 테스트 기반으로 작성하였습니다. (※ 스압 주의) ■구입 제품 이름 : Seagate IRONWOLF PRO HDD 20TB (ST20000NE000)판매가(정..
여러분들은 PC 컴퓨터의 사양/정보를 확인을 어떻게 하시나요? 소프트웨어 프로그램이 없다면 기본적으로 Windows 자체에서 확인하는 방법은 다음과 같습니다. ① 시작 ▷ 설정 ▷ 시스템 ▶ 정보 ② [시작 : 마우스 오른쪽] or [단축키 : 윈도우KEY + X] or [실행 : devmgmt.msc 입력] ▶ 장치 관리자 ③ [실행 or 검색도구 : dxdiag 입력] ▶ DirectX 진단 도구 와 같이 대략적인 시스템 사양 정보를 확인할 수 있습니다. 하지만 상세정보까지는 나오지 않기 때문에 소프트웨어 프로그램의 도움을 받는 게 좋습니다. 그중에서는 가장 유명한 CPUID 소프트웨어 개발 기업의 프로그램을 이용합니다. 공식 홈페이지[CPUID] : https://www.cpuid.com/ ① CP..
CCleaner 해외산 유틸리티로 개발자 Piriform(Software)에 의해 개발된 PC 클린 프로그램입니다. 해당 도구를 이용해 쉽게 드라이버 업데이트, PC 최적화(레지스트리, 시스템, 웹 쿠키 등을 청소) 및 상태 확인, 시스템 분석을 쉽게 할 수 있습니다. 해외에서 인기가 높으며, 국내에서 많이 알려지면서 프로버전을 구입하여 많이 이용하는 것으로 보입니다. 물론 가정용 무료 버전이라고 해서 일반 사용에는 문제가 없습니다. 저의 경우는 가장 마음에 드는 부분이 하드 디스크를 양도하거나 중고로 팔 경우 기존 저장 데이터를 복구할 수 없도록 하는 드라이브 보안 삭제 기능이 무료에도 포함이 되어 있다는 점(이게 핵심)입니다. 파티션 제어의 경우는 유명한 [MiniTool Partion Wizard]..
Nameserver query program - DNSDataView 도메인 네임서버를 관리하다 보면 정상적으로 등록이 되고 적용이 되고 있는지를 확인할 필요가 있습니다. 일반적으로 네임서버를 질의할 때 윈도우/리눅스(유닉스) 자체에 제공하는 "nslookup"명령어를 많이 이용합니다. 간단하긴 하지만 창을 뛰우고 명령어를 사용하여 질의를 해야 하는 불편함이 있습니다. ※ Windows 명령 프롬프트[CMD]에서 nslookup 명령어 ※ 리눅스[Linux]에서의 nslookup 명령어 그런 불편함을 해결하기 위해 GUI로 만들어진 [DNSDataView] 프로그램이 있습니다. □ DNSDataView 이 유틸리티는 Windows 운영체제와 함께 제공되는 NSLookup 도구의 GUI 대안 프로그램입니다..
2024-10-11 (금요일) ~ 2024-10-12 (토요일)오랜만에 대구에 사는 친구가 서울에 놀러 온다고 하여 어디를 갈까 고민하던 중 1년 전 글램핑 간 게 생각나서 동일하게 캠핑장에 놀러 가기로 약속이 되었다. 마침 휴가 타이밍이 맞아서 친구는 하루 전 일찍 점심에 출발하였으나 그날따라 차가 많이 막혔는지 내가 퇴근 시간 이후에 도착하였다. 밖에 나와서 한잔하고 싶었지만 내일도 장거리 운전을 해야 하는데 힘들까 봐 미리 족발세트를 하나 시켜놓고 집에서 간단하게 소맥 한잔을 하였다. 예전 같으면 부어라 마셔라 했겠지만 이제 서로 나이도 있고 내일 아침 일찍 움직여야 해서 적당히 취기가 올라올때즘 정리하고 그렇게 하루를 보냈다. 다음날 아침 화장실 가고 싶어서 일찍 눈이 떠졌는데 생각보다 숙취가 없..
레고「LEGO」 중 이번에는 레이싱 카 모델을 위주로 모여 있는 「스피드 챔피언」 완구 구입을 해보았다. 해당 시리즈는 「30,000원 ~ 70,000원」 가격대로 구성되어 있어 부담되지 않고, 크기가 작아도 사실적인 표현으로 인기가 많은 시리즈인 것 같다. 필자는 가장 최근(2024-10월 기준)에 나온 제품으로 「Mercedes-AMG G 63 & Mercedes-AMG SL 63」 2개가 한 세트, 가격은 쿠팡에서 「55,350원(공식 홈페이지 69,900원)」에 구매를 하였다. 쿠팡이 레고 정품 제품을 특가로 좀 더 저렴하게 판매하는 경우가 많은 것 같다. 역시나 배송비 없이 국내배송으로 주문 하루 만에 물건을 받았다. ※ 모든 사진은 직접 스마트폰으로 촬영하였습니다. (※ 스압 주의)◈ 언박싱「..
레고「LEGO」에는 다양한 시리즈가 있다. 그중 아이콘 시리즈「Icons」 부분에서 신제품인 「레트로 라디오」를 발견하여 구입을 해보았다. 어떻게 딱 수집가가 좋아할 만한 색감과 디자인으로 이목을 제대로 끌고 있다. 설명에는 소리가 나는 사운드 브릭이 있어 다이얼을 돌리면 음악이 나온다고 해서 조립을 매우 기대하고 있다. 가격은 그냥 네이버쇼핑에서 「148,500원(공식 홈페이지 149,900원)」에 구매를 하였다. 배송비가 없고 국내배송이라 주문 하루 만에 물건을 받았다. 이래서 시작을 안 했는데 레고 테크닉 한번 조립하고 나서 돈 많이 드는 취미로 빠지고 있다. ※ 모든 사진은 직접 스마트폰으로 촬영하였습니다. (※ 스압 주의)◈ 언박싱「Unboxing」 제품명 「#10334」, 부품수는 「906」,..