Server 5

SFTP Chroot 감옥 사용자 생성

일부 사용자끼리 특정 디렉터리 내 읽기/쓰기 권한을 주어 파일을 공유하고 싶다.공유 계정은 아래의 조건을 만족해야 한다. 공유 계정은 SSH 접근 불가능지정된 공유 디렉터리 상위로 이동 불가SSH 서버의 sshd_config 설정을 통해 어렵지 않게 구현할 수 있다. 1. 사용자 생성먼저 공유할 계정을 생성한다.쉘 접근이 불필요한 계정일 경우 nologin으로 설정한다.$ useradd share$ passwd share$ vi /etc/passwdshare:x:1010:1010::/home/share:/usr/sbin/nologin 2. sftp & Chroot 적용아래의 sshd_config 설정을 적용하면 ssh로 쉘에 접근 할 수 없다.$ vi /etc/ssh/sshd_configSubsystem..

Server 2024.04.01

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

GitHub 리포지토리의 Actions 탭에서 CI/CD 플랫폼을 이용해 빌드, 테스트, 배포 등을 자동화할 수 있다. 공식 문서이 GitHub Actions를 이용해 특정 브랜치에 push 이벤트가 발생할 때 설정된 서버로 자동 배포를 구현해보기로 한다.  1. GitHub Actions 설정 리포지토리의 Actions 탭을 클릭하면 자동화된 워크플로우를 설정할 수 있다.  "Set up a workflow yourself" 옵션을 선택하여 직접 작성할 수 있다.  GitHub Actions의 워크플로우는 YAML 파일로 작성되며, 공식 문서를 참고하여 문법을 확인할 수 있다. Workflow syntax for GitHub Actions - GitHub DocsA workflow is a config..

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