Security_웹 서버(리눅스) 보안 구축

심볼릭 링크 기능 비활성화

  1. 공격자의 서버 디렉토리 경로에 대한 접근을 막기 위해서는 심볼릭 링크 기능 비활성화 필요
  2. /etc/apache2/apache2.conf 파일의 /var/www/ 안에 있는 Options Indexes FollowLinks에서 FollowSymLinks를 삭제
  3. 삭제 후 systemctl restart apache2 명령어를 통해 수정 내용을 서버에 반영

* 심볼릭 링크: 파일이나 폴더에 대한 참조를 포함하는 파일을 말함(ex: 윈도우 바로가기)

 

디렉터리 리스팅 비활성화

  1. /etc/apache2/apache2.conf 파일의 Options Indexes를 Options None으로 수정
  2. 웹 서버를 다시 실행하여 수정 내용을 서버에 반영

웹 서버 정보 노출 차단

  1. /etc/apache2/apache2.conf 파일 가장 아래에 ServerTokens Prod, ServerSignature Off 코드를 추가
  2. 위 코드는 웹 서버 정보 노출 설정 최소화, 웹 브라우저 정보 노출 비활성화 코드임
  3. 웹 서버를 다시 실행하여 수정 내용을 서버에 반영

접근 가능한 파일 IP 설정

  1. 방화벽 뿐만 아니라 웹 서버에 가상 호스트 별로 접근 제어 기능을 통해 IP 대역 차단 가능
  2. /etc/apache2/apache2.conf 파일에 아래 코드를 작성
<Location />
  <RequireAll>
    Require all granted
    Include /etc/apache2/ipblacklist.conf
  </RequireAll>
</Location>

 

  3. /etc/apache2/apache2.conf 파일에 아래 코드 작성

Require not ip 192.xxx.xxx.xx #차단하고 싶은 ip 대역 작성

 

  4. 이후 웹 서버를 재부팅하여 수정된 내용 서버에 반영

 

 

불필요한 파일 제거

  1. 웹 서버를 개발할 때 사용했던 파일들이 공격자에게 공격 기회를 제공 할 수도 있음
  2. 예를 들어 웹 서버 설치후 보이는 기본 페이지, back 백업 파일, 테스트 페이지등 웹 서버를 운영할 때 불필요한 파일이 있을경우 제거하거나 공격자가 파일 이름을 추측하기 어려운 이름으로 변경하는 것이 좋음

 

HTTP 메서드 제한

  1. 다양한 HTTP 프로토코 메서드 중에 보안에 취약한 메서드 중 불필요한 메서드는 차단이 필요
  2. /etc/apache2/apache2.conf 파일에서 <Directory /var/www/> 부분에 아래명령어를 입력
<LimitEcept GET POST>
  Order XXXX #허용 메서드
  Deny XXXX #차단 메서드
</LimitEcpet>

 

   3. 이후 웹 서버를 재부팅 하여 수정된 내용 서버에 반영

 

 

HTTPS를 통한 보안 서버 구축

  •  HTTP는 암호화를 하지 않고 일반 통신을 하기 때문에 패킷을 제 3자가 확인 가능
  •  SSL/TLS(HTTPS)를 구축하면 통신 구간을 안전하게 암호화 처리가 가능
  • 사설 SSL/TLS 인증서를 생성하여 적용 (일반적으로 내부망에서 개발 할 때 사용)
  • 최신 웹 브라우저는 사설 인증서를 신뢰 X 
  • CA에서 정식 SSL/TLS 인증서를 구매하여 적용하는 것이 제일 보안 신뢰도가 높음
  • 비용이 부담되는 경우 ISRG의 Let's Encrypt에서 제공하는 무료 인증서를 적용 가능

'Security' 카테고리의 다른 글

Security_원격 접속 해킹  (0) 2025.01.23
Security_데이터베이스 해킹 & 보안  (1) 2025.01.13
Security_웹 서버 취약점 및 해킹 분석  (1) 2025.01.08
Security_PAM 활용 사용자 계정 보안  (0) 2025.01.07
Security_방화벽  (0) 2025.01.07