Server 5

Github Actions로 push 이벤트 발생 시 내 서버로 배포 자동화하기

Github에 만든 리포지토리를 보면 Actions라는 탭이 존재한다. Github Actions은 CI/CD 플랫폼으로 빌드, 테스트, 배포 등을 자동화할 수 있다. 공식 문서 이 Actions 기능을 이용해 브랜치에 push하는 이벤트가 발생할 경우, 설정해 놓은 서버에 배포하는 작업을 자동화해보기로 한다. workflow 파일의 Syntax 문서 를 참고하여 작성 Workflow syntax for GitHub Actions - GitHub Docs A workflow is a configurable automated process made up of one or more jobs. You must create a YAML file to define your workflow configuration..

Server 2023.09.05

아파치 HTTP 인증(Basic/Digest authentication) 적용

files 디렉토리는 HTTP 파일 서버를 위해 일부러 인덱싱이 허용되어있다. 이 중 test 디렉토리는 모두가 접근 가능하게 만들되, public(/home/Tools/)이라는 디렉토리는 접근 가능한 사용자를 제한하고 싶다. 이를 위해 아파치 HTTP 인증을 서버에 적용해보고자 한다. 1. HTTP 인증을 하고 싶은 디렉터리에 .htaccess 파일 생성 2. HTTP 인증 사용자 생성 Basic 인증을 사용할 시 1), Digest 인증을 사용할 시엔 2)을 수행한다. 1) Basic 인증 시 $ htpasswd -c .htpasswd [사용자 ID] 2) Digest 인증 시 $ htdigest -c .htdigest '[Auth Name]' [사용자 ID] 사용자 ID, 2번의 PW 입력 후 .h..

Server 2022.04.28

MYSQL 외부접근 허용하기

워게임 문제로 공부하다보면 자신의 서버로 무언가 요청을 한다던지 db로 원격접속을 시도해야한다던지 그런 유형들의 문제가 있다. 동아리실에서 문제를 풀 때는 네트워크 장비에 의해 요청이 하나같이 차단당해서 외부에 있는 서버가 간절했다. 포트포워딩이 가능하거나 공인아이피를 할당받은 서버가 있다면 mysql 원격접속할 수 있는 계정을 하나 만들어보자. 포트포워딩의 경우 mysql 원격접속 포트 3306(디폴트가 3306. 설정을 건드렸다면 수정한 포트 번호)포트와 외부에서 사용할 포트를 연결 해두자. - 먼저 원격접속을 허용하도록 mysql설정파일을 수정한다. /etc/mysql/mysql.conf.d/mysqld.cnf 파일에서 bind-address = 127.0.0.1을 주석처리하고 bind-addres..

Server 2019.04.11

아파치 보안 설정

1. 서버 정보 숨기기 2. 디렉토리 인덱싱 차단 3. 심볼릭 링크 차단 4. 웹 서버 프로세스 권한 제한 5. HTTP Method 제한 6. 에러페이지 설정 7. SSL 프로토콜 및 알고리즘 설정 8. http 접속 시 https 리다이렉트(RewriteEngine) 9. 특정 디렉터리 내 파일 실행 차단 * 앞으로 시간나면 추가할 예정 1. 서버 정보 숨기기 웹 페이지의 헤더와 404 에러페이지에서 서버에서 사용하고 있는 우분투 버전/ OS 정보가 노출되었다. 1-Day공격으로 이어질 수 있기 때문에 보안 상 당연히 이런 서버 정보가 노출되는 것을 차단하게 권장하고 있다. 버전정보 노출 여부를 설정하는 파일의 위치는 OS별로 아래와 같다. 우분투 : /etc/apache2/conf-available..

Server 2018.04.11