Ubuntu 7

[Apache]GeoIP 사용하여 해외 접속 차단하기(+로그에 국가 출력)

📢 이 게시글은 아래의 사양을 기준으로 작성되었습니다. Server OS : Ubuntu 20.04.3 LTS WebServer : Apache 2.4 목차 MaxMind 회원가입 액세스 키 생성 GeoIP Update 패키지 설치 apache 모듈 설치 모듈 적용하기 apache 로그에 국가 표시 개인용 또는 개발용 웹서버의 로그를 확인하면 이상한 주소로 접속을 한 기록이 많이 있다. 대부분이 해외 해커들이다. 오래된 버전의 웹서버를 사용하는 곳의 취약점을 노리는 것으로 하루에 몇번이고 공격을 시도한다. 해외에서 접속을 할 일이 없기에 완전히 차단을 하려면 IP로 구별을 해야하는데 일일이 해외IP를 구분해서 접속 금지 목록에 추가를 하는 것은 불가능한 일이다. 이럴 때 GeoIP를 사용하면 쉽게 접속자..

[Ubuntu]zsh, oh-my-zsh 사용하여 터미널 꾸미기(powerlevel10k 테마)

📢 이 게시글은 아래의 사양에서 진행되었습니다. Server OS : Ubuntu 20.04.3 LTS on WSL2 SSH Client : MobaXterm v21.3 우분투를 처음 설치한 후 터미널을 실행하면 아주 투박한 bash가 반겨준다. 기능에 문제는 없지만 여러가지로 눈에 들어오는 디자인은 아니다. 물론 bash도 테마를 적용할 수 있지만 zsh가 bash를 포함하여 기능 개선이 이루어졌고 플러그인도 많이 지원하고 있다. 그래서 이 글에서는 zsh와 플러그인을 관리하는 oh-my-zsh를 설치하고 powerlevel10k 테마를 적용해 보았다. zsh 설치 및 기본 셸 변경 # zsh 설치 sudo apt install zsh # 터미널 기본 셸 변경 chsh -s $(which zsh) zs..

Ubuntu/기타 2021.11.27

[OpenSSL] error:1416F086 해결하기

OpenSSL을 업데이트 하기 전에는 잘 작동하던 PHPMailer나 curl이 업데이트 이후 에러를 출력하며 작동이 되지 않았다. 뭔가 꼬였다 생각하여 테스트 서버를 포맷 후 OpenSSL 업데이트를 먼저 하고 apache와 php를 설치했는데도 composer를 설치하려니 에러를 출력하며 진행이 되지 않았다. error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in Command line code on line 1 해결방안을 검색해보니 대부분 SSL 인증을 끄고 self-sign을 허용하면 해결된다는 것이었다. 그러나 근본적인 해결책도 아니고 보안을 생각하면 좋지 않은 방법이다. 그러다 curl 홈페이..

Ubuntu/OpenSSL 2021.11.22

[OpenSSL] OpenSSL 업데이트(직접 빌드하여 적용)

OpenSSL은 https 서비스를 사용하기 위해 필요한 SSL 인증서를 무료로 발급하여 사용할 수 있는 오픈소스다. 통신에 사용되다 보니 주기적인 업데이트를 통하여 취약점을 막는 것이 중요하다. 2021년 8월에 새로운 취약점이 발견되었다는 소식이 공식 사이트에 올라왔다. 이를 KISA에서 번역하여 보안 공지에 올려두었다. 링크: https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36192 KISA 인터넷 보호나라&KrCERT KISA 인터넷 보호나라&KrCERT www.boho.or.kr 내용을 보면 서비스 거부(DoS) 및 정보 노출 취약점이 발견되었다고 한다. 이는 매우 심각한 취약점이므로 업데이트를 하는 것이 바람직..

Ubuntu/OpenSSL 2021.10.31

[Ubuntu]apache 서버로 webdav 적용하기

webdav는 http를 확장하여 문서나 파일의 관리를 쉽게 하기 위해 만들어진 프로토콜이다. 그렇기에 http 포트로 서버에 접근을 한다. 물론 https도 가능하다. 필자가 사용하고 있는 개인 서버에도 webdav를 적용하기 위해 여러 글을 찾아봤는데 계속 적용이 되지 않아서 며칠동안 시도를 하다가 겨우 성공을 했다. 혹시 비슷한 상황이거나 새로 적용하려는 사람들에게 도움이 되고자 적용 방법을 정리해 보았다. 서버 환경 : Ubuntu 20.04 LTS, Apache2 (version 2.4.41) webdav를 사용하기 위해서는 apache2와 관련 모드가 포함되어 있는 apache2-utils를 설치해야 한다. sudo apt install apache2 apache2-utils 설치가 되었으면 ..

[Ubuntu]Let's Encrypt 무료 SSL 인증서로 HTTPS 적용하기( + Apache)

페이스북, 카카오 같이 소셜 서비스를 운영하는 업체들은 API를 제공하고 있다. 이 API를 사용하고자 하는 사이트가 HTTPS가 적용이 되어 있어야 기능을 제공한다. Let's Encrypt는 무료로 SSL 인증서를 발급하여 HTTPS를 사용할 수 있게 해주는 고마운 인증 기관이다. 적용을 하는 것도 매우 간단하다. 여러 방법이 있지만 이 글에서는 인증서를 발급하는 certbot 패키지를 활용하여 간편하게 등록하는 방법으로 진행하였다. 참고로 ubuntu 20.04, Apache 환경을 기준으로 한다. [사전 준비] https를 적용하기 위해서는 등록된 도메인이 필요하다. 사용하고 있는 도메인이 있으면 본문으로 넘어가면 되고, 없으면 도메인을 등록해야 한다. 도메인도 마찬가지로 유료와 무료 등록이 있다..

Ubuntu/보안 2021.01.29

우분투 vi 명령어

학교에서 우분투를 배울 때 GUI버전을 설치해서 gedit을 사용했었다. GUI가 익숙했기에 CLI는 낯설고 사용하기 불편했다. 그러다 vi로 작업하는 일이 조금씩 생기면서 오히려 vi가 더 편해졌다. vi는 명령어를 통해 작동한다. 그리고 아직 완전히 익숙해진 게 아니라서 간혹 헷갈리는 경우가 있다. 그래서 다시 볼 겸 자주 쓰는 명령어를 정리해 보았다. 1. 현재 커서의 위치에 문자 추가하기 - i i는 현재 커서의 위치에 문자를 입력할 수 있는 입력 모드로 진입하는 명령어다. 입력 모드를 종료하고 명령 모드로 바꾸고 싶으면 Esc를 누르면 된다. 2. 현재 커서의 위치 뒤에 문자 입력하기 - a i와 같이 입력모드로입력 모드로 진입하는 명령어다. 차이점은 커서가 한 칸 뒤로 이동한 후에 입력 모드로..

Ubuntu/기타 2021.01.29