본문 바로가기
728x90

전체 글143

교보문고 합정역점 바로드림 픽업박스 책 구매 교보문고 합정역점 바로드림 픽업박스 책 구매 일요일날 필자는 책을 구매하기 위해 교보문고의 바로드림 서비스를 이용했다. 배송을 하면 내일이나 오겠지만 참을성이 없는 나는 책을 가지러 가기로 했다. 아래 책 정보는 임의로 선택했다. 개인정보는 항시 조심해야 하기...때문에..? 바로드림 주문 수령지점 선택 픽업박스로 받기 결제를 완료하면 아래와 같이 카카오 알림톡과 문자로 인증번호가 온다. 한시간이 지난 후 책을 찾으러 갔다. 필자는 8번출구로 나가서 찾으러 갔는데 알고보니 지하철로도 연결되어 있다. 지하철에서 8번출구 방향으로 가다보면 마포한강 딜라이트스퀘어 출구로 가면 연결되어 있으니 이 글을 보시는 분들은 나처럼 위로 올라갔다가 다시 지하로 내려가는 그런 고생을 하지 마시길 바란다. 교보문고는 지하 .. 2022. 7. 24.
Windows에 PostgreSQL14 설치하기 Windows에 PostgreSQL14 설치하기 개발환경을 구축하기 위해 Windows에 PostgreSQL을 설치하려고 한다. 공식 사이트에 접속하여 PostgreSQL14 설치파일을 다운로드 하자. https://www.postgresql.org/ PostgreSQL The world's most advanced open source database. www.postgresql.org 1. 설치 시작 2. 설치할 디렉토리를 설정한다. 3. 함께 설치할 컴포넌트를 설치한다. 필자는 모두 선택. 4. 데이터가 저장될 디렉토리를 지정한다. 5. 슈퍼유저의 비밀번호(중요하니 메모하거나 기억)를 입력한다. 6. PostgreSQL 구동 시 사용할 Port를 사용한다. 기본값은 5432이다. 7. Locale .. 2022. 7. 22.
Spring Boot 기본 설정 Port, ContextPath, Session Timeout Spring Boot 기본 설정 Port, ContextPath, Session Timeout Spring Boot의 내장톰캣을 사용하는 경우 application.properties의 해당 값을 수정하여 Port, Context Path, Session Timeout 값을 수정할 수 있다. 필자의 경우 SpringBoot 2.7.x 버전을 사용하고 있으며 SpringBoot1 버전의 경우에는 속성값이 다를 수 있다. ※ 별도의 외부 WAS를 사용하면 위 설정으로 동작되지 않으므로 유의해야 한다. 외장 톰캣을 사용하는 경우 server.xml에서 port와 context path를 수정할 수 있으며 web.xml에서 session timeout값을 수정할 수 있다. Port 기본적으로 8080포트를 사용.. 2022. 7. 22.
[Spring Boot] Spring Security (1) - 기본 프로젝트 생성 [Spring Boot] Spring Security (1) - 기본 프로젝트 생성 개발환경 Eclipse IDE 2022-06 Spring Boot 2.7.2 Gradle 7.0 Lombok PostgreSQL Spring Security는 Spring Boot의 하위 프레임 워크이며 Java 어플리케이션에 인증과 권한 부여를 제공하는데 중점을 둔 프레임워크이다. Spring에서는 사실상 Spring Security를 표준으로 하여 보안기능을 제공하며 필터기반으로 처리한다. 사용자의 ID와 PASSWORD를 입력받아 인증을 하고 역할 및 권한을 부여할 수 있으며 CSRF(Cross Stie Script Forgery) 같은 취약점에도 대응이 가능하다. 우선 샘플 프로젝트를 생성하여 얕은 지식과 기능을 .. 2022. 7. 21.
[Apache] mod_security를 이용한 아파치 서버 정보 노출 방지 [Apache] mod_security를 이용한 아파치 서버 정보 노출 방지 Apache를 이용하여 웹 서비스를 제공하는 경우 응답헤더에서는 다음과 같이 아파치 서버의 정보를 노출한다. cURL을 이용한 연결 $ curl -I www.playground.co.kr 서버의 정보를 그대로 노출하기 때문에 공격자는 해당 취약점을 악용할 수 있으므로 Apache의 mod_security 모듈을 통해 정보 노출을 방지해보자 .mod_security 설치 $ yum -y install mod_security ... Installed: mod_security.x86_64 0:2.9.2-1.el7 Complete! mod_security.conf # Apache 홈의 conf.d 디렉토리로 이동 $ cd /etc/ht.. 2022. 7. 20.
[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.
[Centos7] root 계정이 아닌 일반 계정으로 Apache Tomcat 실행하기 [Centos7] root 계정이 아닌 일반 계정으로 Apache Tomcat 실행하기 root계정으로 톰캣 실행 시 보안측면에서 문제가 발생한다. root 계정이기 때문에 마음대로 파일 업로드를 하거나 업로드한 파일을 이용해 root 권한을 탈취하여 악의적인 코드를 실행시킬 수 있다. 그래서 tomcat이라는 일반계정을 생성한 후 앞으로는 tomcat 계정으로 Apache Tomcat을 구동시키도록 한다. # root 계정으로 실행된 톰캣 프로세스 $ ps -ef | grep tomcat root 4054 1 0 14:24 ? 00:00:14 //bin/java -Djava.util.logging.config.file=/usr/share/tomcat10/conf/logging.properties -Dj.. 2022. 7. 15.
[Centos7] Apache Tomcat10 설치 [Centos7] Apache Tomcat10 설치 Apache Tomcat 구동 시 JAVA 설치가 미리 되어있어야 한다. 2022.07.14 - [OS/Linux] - [Centos7] Open JDK11 (JAVA Development Kit) 설치 [Centos7] Open JDK11 (JAVA Development Kit) 설치 [Centos7] Open JDK11 (JAVA Development Kit) 설치 JAVA 설치 여부 확인 $ java -version -bash: java: command not found $ which java /usr/bin/which: no java in (/usr/local/bin:/usr/bin:/usr/loc.. jiurinie.tistory.com htt.. 2022. 7. 15.
728x90