아파치 보안관련 기본설정

 🔧 기본 설정 항목들 1. ServerTokens & ServerSignature 설명 : Apache가 클라이언트에게 서버 정보를 얼마나 제공할지 결정함. 보안 권장 설정 : ServerTokens Prod ServerSignature Off Prod : 버전 정보 없이 "Apache"만 반환. Off : 에러 페이지나 디렉토리 목록에 서버 정보 숨김. 2. Timeout 설명 : 클라이언트와의 연결에 대해 Apache가 기다리는 시간. 권장 설정 (성능 및 DoS 방지): Timeout 30 기본값 60초 → 30초로 줄이면 유휴 연결을 빠르게 정리 가능. 3. KeepAlive & MaxKeepAliveRequests 설명 : 하나의 TCP 연결로 여러 요청을 처리할 수 있게 함. 권장 설정 : KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 KeepAliveTimeout 은 너무 길면 자원 낭비. 일반적으로 2~5초 권장. 4. 디렉토리 보호 설정 <Directory /var/www/html>     Options -Indexes     AllowOverride None     Require all granted </Directory> -Indexes : 디렉토리 인덱싱 비활성화. -  AllowOverride None : .htaccess 비활성화하여 보안 강화. Apache에서 HttpOnly 쿠키 설정하기 ✅ 방법 1: Apache에서 Set-Cookie 에 HttpOnly 추가하기 <IfModule mod_headers.c> Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure" </IfModule> 🔎 설명: mod_headers 모듈을 사용하여 모든 Set...

Rocky 9.3 오프라인 리눅스 저장소 생성

 /* rocky 9.3버전 오프라인 rocky 리눅스 저장소 생성 */ /* 공식사이트 */ https://rockylinux.org/ko-KR/download 로키 리눅스 Rocky-9.3-x86_64-dvd.iso 파일을 다운 받는다. dvd 이미지를 다운받아서 이미지를 윈도우에 마운트해서 들어가면 AppStream, BaseOS 폴더가 있다. 이 두개 폴더가 패키지가 들어 있는 폴더다. 이폴더를 오프라인 리눅스 서버에 카피한다. 카피할 폴더를 리눅스에 만든다 mkdir /local-repo cd /local-repo 여기 폴더에 ftp로 다운받은 dvd에 있는 폴더를 올린다.(AppStream,BaseOS) [root@0052e15da7b4 local-repo]# ll total 16 drwxr-xr-x 4 root root 4096  4월 15 10:26 . drwxr-xr-x 1 root root 4096  4월 15 11:03 .. drwxr-xr-x 4 root root 4096  4월 15 10:25 AppStream drwxr-xr-x 4 root root 4096  4월 15 10:26 BaseOS [root@0052e15da7b4 local-repo]# /* 로컬저장소를 인식할수 있게 설정한다. */ cd /etc/yum.repos.d /* 이동후 거기에 있는 파일들은 백업을 해둔다. 온라인 저장소에서 받아오는 파일들이다. 로컬저장소에서만 가져와야 하기 때문에 온라인 저장소 설정 파일은 백업폴더로 이동한다. */ mkdir ./backup mv *.repo ./backup /* 로컬저장소 파일을 생성한다. */ vi local.repo [local-BaseOS] name=Rocky Linux 9.3 - BaseOS baseurl=file:///local-repo/BaseOS enabled=1 gpgcheck=0 [local-AppStream] name=Rocky Linux 9.3 - AppStre...

아파치서버설치 (modcluster) 적용 및 Wildfly 서버 이중화 구성 방법

이미지
 /* 아파치 서버 2대 + Wildfly 서버 2대 2중화 구성 방법 */ 🗺️ 네트워크 구성도 (Architecture Overview)            /* 서버 운영제제  Rocky Linux 9.3 */  /* 아파치 서버 설치 버전 apache-2.4.63 */ 🧱 1. 사전 준비 🔹 필수 패키지 설치 dnf groupinstall "Development Tools" -y dnf install gcc gcc-c++ make cmake autoconf pcre pcre-devel openssl-devel expat-devel wget net-tools apr-devel apr-util-devel libxml2-devel -y mod_http2 , mod_ssl , mod_deflate , mod_proxy , mod_security , mod_cluster 등을 컴파일할 때 필요 📥 2. Apache 소스 다운로드 및 컴파일 🔹 Apache 2.4.63 + APR, APR-util 다운로드 1. 아파치 소스 리눅스에서 직접 다운로드 설치 cd /usr/local/src  wget https://downloads.apache.org/httpd/httpd-2.4.63.tar.gz 압축해제 tar -xvf httpd-2.4.63.tar.gz //2. apr 다운로드 wget https://downloads.apache.org/apr/apr-1.7.5.tar.gz 압축을 푼다 tar -xvf apr-1.7.5.tar.gz //3. apr-util 다운로드 wget https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz tar -xvf apr-util-1.6.3.tar.gz /* 압축해제한 파일들을 apache소스의 srclib폴더로 이동한다. */ mv apr-1.7.5 httpd-2.4.63...

리눅스 NFS 디렉토리 공유 설정

 /* 리눅스 NFS 디렉토리 공유 설정 */ 1. 서버설정 스크립트( nfs_server.sh) #!/bin/bash # 공유할 디렉토리 경로 SHARE_DIR="/data" # NFS 패키지 설치 dnf install -y nfs-utils # 공유 디렉토리 생성 및 권한 설정 mkdir -p $SHARE_DIR chown nobody:nobody $SHARE_DIR chmod 777 $SHARE_DIR # NFS 설정 파일 수정 echo "$SHARE_DIR *(rw,sync,no_root_squash,no_subtree_check)" | tee -a /etc/exports # rw: 읽기/쓰기 가능 # sync: 데이터 쓰기 요청을 디스크에 동기화 # no_root_squash: 클라이언트의 root 계정을 서버에서도 root로 인정 # no_subtree_check: 하위 디렉토리 경로 검사 생략 # NFS 서비스 시작 및 활성화 systemctl enable --now nfs-server # 방화벽 설정 # firewall-cmd --permanent --add-service=nfs # firewall-cmd --permanent --add-service=mountd # firewall-cmd --permanent --add-service=rpc-bind # firewall-cmd --reload echo "NFS 서버 설정 완료: $SHARE_DIR" # 서버에서 공유목록 확인 # exportfs -v ======================================================= 2. 클라이언트 설정 스크립트 (nfs_client.sh) #!/bin/bash # 서버 IP 및 공유 경로 SERVER_IP="172.17.0.2"  SERVER_SHARE="/data" MOUNT_POINT="/data" # NFS 패키지 설...