728x90 OS & Server33 [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. [Centos7] Open JDK18 (JAVA Development Kit) 업데이트 [Centos7] Open JDK18 (JAVA Development Kit) 업데이트 JAVA 설치 여부 확인 $ java -version openjdk version "11.0.15" 2022-04-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.15+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+9-LTS, mixed mode, sharing) 설치 가능한 JDK 목록 조회 $ yum list java*jdk-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Available Packages java-1.6.0-open.. 2022. 7. 15. [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/local/sbin:/usr/sbin) 설치 가능한 JDK 목록 조회 $ yum list java*jdk-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Available Packages java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base.. 2022. 7. 14. [Centos7] 아파치 Apache (httpd) 업데이트 [Centos7] 아파치 Apache (httpd) 업데이트 Apache/2.4.55 Centos7에서는 Yum으로 아파치 설치 시 2.4.6버전이 최대이지만 설정을 통해 업데이트할 수 있다. 보안업데이트 권고로 Apache HTTP Server의 버전을 최신버전(2.4.55)으로 업데이트 해보자. 현재 Apache(httpd) 버전 확인 $ yum info httpd Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Installed Packages Name : httpd Arch : x86_64 Version : 2.4.6 Release : 97.el7.centos.5 Size : 9.4 M Repo : installed.. 2022. 7. 11. [Centos7] 아파치 Apache(httpd) 설치 [Centos7] 아파치 Apache (httpd) 설치 Yum으로 설치 가능한 Apache(httpd) 버전 확인 $ yum list httpd Loaded plugins: fastestmirror Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Loading mirror speeds from cached hostfile Available Packages httpd.x86_64 2.4.6-97.el7.centos.5 updates Yum으로 Apache(httpd) 설치 $ yum install httpd Loaded plugins: fastestmirror Determining fastest mirrors base .. 2022. 7. 11. [Centos7] firewall 방화벽 명령어 firewall 방화벽 명령어 추가 (포트,서비스) $ firewall-cmd --permanent --zone=public --add-port=22/tcp $ firewall-cmd --permanent --zone=public --add-service=http 제거 (포트,서비스) $ firewall-cmd --permanent --zone=public --remove-port=22/tcp $ firewall-cmd --permanent --zone=public --remove-service=http 재시작 $ firewall-cmd --reload 설정파일 $ cat /etc/firewalld/zones/public.xml 복잡한 룰(rich-rule) 추가 $ firewall-cmd --perma.. 2022. 7. 5. [Centos7] systemctl 명령어 사용법 systemctl 명령어 사용법 서비스 재실행 (예 : sshd) $ systemctl restart sshd.service 서비스 중지 (예 : sshd) $ systemctl stop sshd.service 서비스 시작 (예 : sshd) $ systemctl start sshd.service 서비스 상태보기 (예 : sshd) $ systemctl status sshd.service 부팅시 서비스 시작하기 (예 : sshd) $ systemctl enable sshd.service 부팅시 서비스 시작하지 않음 (예 : sshd) $ systemctl disable sshd.service 부팅시 실행되는 서비스인지 검사 (예 : sshd) $ systemctl is-enabled sshd 서비스 목록.. 2022. 7. 5. 이미 사용중인 포트 프로세스 확인 및 제거 이미 사용중인 포트 프로세스 확인 및 제거 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.1) 2022-07-05 11:24:59.227 INFO 9632 --- [ main] kr.co.urlrewrite.UrlrewriteApplication : Starting UrlrewriteApplication using Java 11.. 2022. 7. 5. telnet으로 원격 서버 포트 확인 / How to check a remote port is open telnet으로 원격 서버 포트 확인 / How to check a remote port is open 원격 서버의 작업 중 클라이언트에서 접근 불가 시 네트워크상 방화벽의 문제인지 서버의 설정 오류인지 확인할 수 있는 방법입니다. 예를 들어 서버의 http데몬을 올렸는데 인터넷으로 접근이 불가능할 경우 이를 통해 문제점을 유추할 수 있습니다. 시작 - cmd telnet www.naver.com 80 네이버의 80포트로 telnet을 연결합니다. 위와같이 검은화면으로 커맨드창이 변경되는 경우 원격지의 80포트는 열려 있으며, 정상적으로 접근이 가능한 것을 알 수 있습니다. 이 경우 네이버의 사이트에 인터넷을 통한 접근이 불가능하다면, 네트워크 또는 방화벽의 문제가 아닌 서버의 문제라고 유추해볼 수 있습.. 2022. 7. 4. 이전 1 2 3 다음 728x90