본문 바로가기
728x90

OS & Server/Linux25

[Apache Tomcat] Context docBase를 이용하여 웹 어플리케이션에서 파일 시스템 접근 [Apache Tomcat] Context docBase를 이용하여 웹 어플리케이션에서 파일 시스템 접근 Apache Tomcat에서 Context의 docBase는 웹 어플리케이션의 기본 디렉토리 경로를 지정하는데 사용된다. 이를 통해 웹 어플리케이션에서 해당 경로에서 파일시스템에 접근하여 리소스를 찾을 수 있다. 예를 들어 리눅스 파일 시스템의 /data/image 라는 디렉토리안에 여러 이미지 파일들을 넣으면 웹 어플리케이션에서 경로에 있는 이미지 파일들에 접근이 가능한 것이다. Context docBase를 이용하면 웹 어플리케이션에서 따로 소스코드를 작성하여 파일시스템 접근하는 불편함을 없애준다. 아래 코드를 이용하여 확인해보자. 디렉토리 생성 $ mkdir /data/image 웹 어플리케이션.. 2023. 6. 2.
[LINUX] CIFS를 이용한 외부 서버 파일 시스템 접근 [LINUX] CIFS를 이용한 외부 서버 파일 시스템 접근 CIFS를 이용하여 외부 파일시스템에 접근하려면 외부 시스템에서 먼저 Samba를 이용한 서버가 구성이 되어 있어야 한다. 우선 외부 서버가 Samba로 구성된 서버가 있다고 가정하고 CIFS를 이용해 접근하는 방법에 대해 알아보자. CIFS는 Common Internet File System의 약자로, cifs-utils는 Linux에서 CIFS/SMB (Server Message Block) 파일 시스템을 관리하기 위한 유틸리티다. cifs-utils 라는 유틸리티를 설치하면 외부 서버의 파일시스템에 접근이 가능하다. cifs-utils 확인 설치가 되어 있다면 아래와 같이 cifs-utils의 정보가 출력된다. 정보가 출력되지 않는다면 설.. 2023. 6. 2.
[Apache Tomcat] maxPostSize, maxParameterCount [Apache Tomcat] maxPostSize, maxParameterCount Apache Tomcat에서 서버로 Post 방식을 이용한 Submit 시 파라미터 개수와 사이즈를 확인하여 그 이상 범위일 경우에는 아래와 같은 설정을 변경하여야 한다. 해당 속성의 설명과 기본 값은 아래 Apache Tomcat 문서를 통해서도 확인이 가능하다. Apache Tomcat 9 Configuration Reference (9.0.73) - The HTTP Connector This Connector supports all of the required features of the HTTP/1.1 protocol, as described in RFCs 7230-7235, including persistent .. 2023. 3. 29.
[Linux] 리눅스 마운트 디렉토리 경로 변경 [Linux] 리눅스 마운트 디렉토리 경로 변경 마운트란 물리적인 기계 영역을 특정 파일 시스템과 연동시키는 것이다. 흔히 우리가 사용하는 윈도우에서는 P&P(Plug And Play : 꼽기만 하면 사용)를 지원하므로 USB를 꼽으면 자동으로 PC에서 인식되어 내 컴퓨터에 USB라는 드라이브가 자동으로 생성된다. 이와 달리 리눅스는 관리자가 직접 특정 디렉토리를 USB나 HDD 등 물리장치를 연결해주는 작업이 필요하다. 이러한 연결 작업 또는 해제 작업을 mount / unmount 라고 표현한다. 데이터 파일 관리를 위해 /data로 마운트되어 있는 경로를 /attachments로 변경하고자 한다. 이 작업은 일반 계정이 아닌 root 계정으로 진행할 수 있다. 아래와 같이 /data 디렉토리안에는 .. 2023. 2. 21.
[Linux] 리눅스에서 쉘 스크립트(Shell Script)로 명령어 실행 [Linux] 리눅스에서 쉘 스크립트(Shell Script)로 명령어 실행 리눅스에서 쉘 스크립트(Shell Script)를 만들어 명령어 자동실행 프로그래밍을 할 수 있다. 윈도우에서는 배치파일을 실행하면 그 안에 프로그래밍된 명령어들이 자동으로 실행되는데 윈도우 배치파일의 리눅스 버전이 쉘 스크립트이다.쉘 스크립트를 자동실행함으로써 효율적이고 간편하게 작업처리를 할 수 있다. 다만 쉘 스크립트는 인터프리터 방식으로 한줄 한줄씩 실행하여 다소 속도가 느릴 수 있다. 필자의 경우에는 데이터베이스에 저장되어 있는 특정 파일명들을 실제 리눅스에서 지울 때 쉘 스크립트를 이용하여 간단하게 삭제할 수 있었다. 쉘 스크립트 만들기 쉘 스크립트를 생성하기 위해 vi 편집기를 이용해 파일 하나를 만든다. $ vi .. 2023. 2. 15.
[Linux] 날짜를 기준으로 생성 및 수정된 파일 찾기 [Linux] 날짜를 기준으로 생성 및 수정된 파일 찾기 웹 서버 소스코드의 잘못된 업로드, 중요 설정 파일의 수정 등으로 인한 정상적인 시스템 가동이 불가능할 수 있다. 이 경우 수정된 파일이 무엇인지 모를 때, 또한 해킹으로 인한 권한 탈취 문제로 공격자에 의해 파일이 생성되거나 기존의 파일(소스코드)이 수정될 수 있는데 이때 해당 파일이나 디렉토리를 찾을 때 사용한다. 기준 날짜 이후로 변경 내역 출력 2023년 1월 1일 이후로 수정된 파일과 디렉토리를 출력한다. 파일 또는 디렉토리를 지정하려면 -type 옵션을 사용한다. (-type f 또는 -type d) .은 현재 디렉토리를 대상으로 조회되며 검색 디렉토리도 지정 가능하다 # find . -newermt '2023-01-01' # find .. 2023. 1. 25.
OpenSSL을 이용한 .PFX 인증서를 .CRT & .KEY로 변환하기 OpenSSL을 이용한 .PFX 인증서를 .CRT & .KEY로 변환하기 OpenSSL은 TLS(전송 계층 보안) 및 SSL(Secure Sockets Layer) 프로토콜을 위한 강력한 상용 등급의 ​​모든 기능을 갖춘 범용 암호화 라이브러리이며, 자세한 내용은 공식 웹사이트를 방문하면 확인할 수 있다. .https://www.openssl.org /index.html Welcome to OpenSSL! The OpenSSL Project develops and maintains the OpenSSL software - a robust, commercial-grade, full-featured toolkit for general-purpose cryptography and secure communica.. 2022. 8. 3.
[Centos7] Apache 도메인 네임 리다이렉트 [Centos7] Apache 도메인 네임 리다이렉트 도메인 네임이 변경되어 사용자가 이전 도메인으로 접속 시 변경되는 도메인으로 자동으로 리다이렉트해주는 기능을 적용해보자. 아파치의 VirtualHost 태그에 Rewrite 모듈을 사용한다. 아래와 같이 설정하면 80포트 또는 443 포트로 들어오는 www.playground.co.kr 로 들어오는 모든 연결을 https://www.test.co.kr 로 리다이렉션 시켜준다. vhost.conf # httpd.conf에서 conf.d 디렉토리의 conf로 끝나는 모든 파일을 아래와 같이 include 하므로 필자는 https 리다이렉션을 하기 위해 vhost.conf라는 파일을 만들어놓은 상태이다. # IncludeOptional conf.d/*.co.. 2022. 7. 20.
[Centos7] Apache HTTP -> HTTPS로 리다이렉트 [Centos7] Apache HTTP -> HTTPS로 리다이렉트 2022.07.19 - [OS & Server/Linux] - [Centos7] Apache SSL 설정 [Centos7] Apache SSL 설정 [Centos7] Apache SSL 설정 OpenSSL 설치 # openSSL 설치 확인 $ find / -name openssl # openSSL 설치 $ yum install openssl mod_SSL 설치 $ yum -y install mod_ssl 개인키 생성 > CSR 생성 > 자체적.. jiurinie.tistory.com 지난 시간에 위와 같이 Apache에 SSL 설정을 하여 HTTPS 프로토콜로 웹 서비스를 제공할 수 있도록 하였다. 위 설정은 HTTPS통신은 제공하지만 .. 2022. 7. 19.
[Centos7] Apache SSL 인증서 비밀번호 검증 없애기 [Centos7] Apache SSL 인증서 비밀번호 검증 없애기 2022.07.19 - [OS & Server/Linux] - [Centos7] Apache SSL 설정 [Centos7] Apache SSL 설정 [Centos7] Apache SSL 설정 OpenSSL 설치 # openSSL 설치 확인 $ find / -name openssl # openSSL 설치 $ yum install openssl mod_SSL 설치 $ yum -y install mod_ssl 개인키 생성 > CSR 생성 > 자체적.. jiurinie.tistory.com $ service httpd start Redirecting to /bin/systemctl start httpd.service Enter TLS privat.. 2022. 7. 19.
[Centos7] Apache SSL 설정 [Centos7] Apache SSL 설정 OpenSSL 설치 # openSSL 설치 확인 $ find / -name openssl # openSSL 설치 $ yum install openssl mod_SSL 설치 $ yum -y install mod_ssl 개인키 생성 > CSR 생성 > 자체적으로 서명한 crt파일 # httpd 홈 디렉토리로 이동 $ cd /etc/httpd # ssl 디렉토리 생성 $ mkdir ssl # ssl 디렉토리로 이동 $ cd ssl # 개인키 생성 $ openssl genrsa -aes256 -out playground.key 2048 Generating RSA private key, 2048 bit long modulus ........................... 2022. 7. 19.
[Apache Tomcat] 톰캣 일자별 로그 나누기 [Apache Tomcat] 톰캣 일자별 로그 나누기 Apache 와 Apache Tomcat을 연동하여 사용하다보면 톰캣의 로그(catalina.out)가 일자별로 쌓이지 않고 하나의 파일로 계속 쌓이게 된다. 이 로그파일은 나중에 무분별하게 커져 서버가 셧다운될 수 있으니 Apache의 rotatelogs 기능을 사용하여 일자별로 나누어보자. rotatelogs를 찾을 수 없는 경우에는 Apache(httpd)를 설치해준다. # rotatelogs 찾기 $ find / -name rotatelogs /usr/sbin/rotatelogs # 톰캣 홈의 bin 디렉토리로 이동 $ cd /usr/share/tomcat10/bin $ vi catalina.sh 1. touch "$CATALINA_OUT" 을.. 2022. 7. 19.
[Centos7] mod_jk를 이용한 Apache 와 Tomcat 연동 [Centos7]mod_jk를 이용한 Apache 와 Tomcat 연동 아파치는 웹 서버(Web Server) 이고 톰캣은 웹 어플리케이션 서버(Web Application Server)이다. 사실 톰캣은 웹 서버의 기능과 웹 어플리케이션 서버의 기능 둘다 가능하다. 그러나 상대적으로 가벼운 정적인 데이터의 통신은 아파치가 담당하고 무거운 동적인 데이터는 톰캣이 담당하여 부하를 줄여줄 수 있으며 아파치에서는 톰캣에서 제공하지 않는 여러 모듈들을 제공해 사용자로 하게끔 더 많은 기능을 활용할 수 있게 한다. 보안적인 측면에서 보자면 리눅스 정책상 톰캣을 일반 유저로 구동 시 포트는 1024까지만 가능하여 톰캣을 80포트로 직접 사용할 수 없다. 물론 iptables나 friewalld의 PREROUTING.. 2022. 7. 19.
[Apache Tomcat] 오류 발생 시 버전 노출 방지 [Apache Tomcat] 오류 발생 시 버전 노출 방지 Apache Tomcat(이하 톰캣)의 서버 구동 시 오류 페이지를 따로 지정하지 않으면 기본적으로 톰캣에서 제공하는 오류 페이지를 보여준다. 이 오류는 필자가 /err이라는 존재하지 않는 페이지를 호출했을 때 나타난다. 이러한 톰캣의 기본 오류페이지에서는 버전 정보를 노출하므로 공격자는 이를 악용할 소지가 있다. 이 부분에 대한 조치를 취해보자. # 톰캣 홈의 lib 디렉토리로 이동 $ cd /usr/share/tomcat10/lib # catalina.jar 압축 풀기 $ jar xf catalina.jar # catalina.jar 백업 $ mv catalina.jar catalina.jar.bak # 설정 디렉토리로 이동 $ org/apa.. 2022. 7. 18.
[Apache Tomcat] 응답 헤더의 서버 정보 노출 방지 [Apache Tomcat] 응답 헤더의 서버 정보 노출 방지 Apache Tomcat(이하 톰캣)8 버전 이하에서는 응답 헤더(Resposne Header)에 Server값을 노출한다. 톰캣은 기본적으로 Apache-Coyote라는 값이 쓰여져 있어 공격자는 해당 취약점을 악용할 수 있으므로 server.xml 파일을 수정해보자. 톰캣8.5 버전부터는 해당 설정을 보여주지 않으므로 수정할 필요는 없다. $ curl -I www.playground.co.kr:8080 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Mon, 18 Jul 2022 05:2.. 2022. 7. 18.
728x90