CentOS 7 / mod_security 설치하는 방법

mod_security는 아파치 웹서버에 사용할 수 있는 방화벽 모듈입니다.

ModSecurity is an open source, cross-platform web application firewall (WAF) module. Known as the "Swiss Army Knife" of WAFs, it enables web application defenders to gain visibility into HTTP(S) traffic and provides a power rules language and API to implement advanced protections.

설치

yum install mod_security mod_security_crs

설치 후 아파치 웹서버를 재시작하거나 다시 로드합니다.

systemctl reload httpd.service

설정 파일

설정 파일은 /etc/httpd/conf.d/mod_security.conf입니다. 기본 설정은 모든 사이트에 사용하는 것입니다. 사용을 중지하고 싶으면

SecRuleEngine On

를 다음과 같이 바꿉니다.

SecRuleEngine Off

도메인별로 사용 여부 설정하기

버추얼 호스트 설정에서 Directory에 위 코드를 넣어 사용 여부를 정할 수 있습니다.

<Directory "/xxx">
  <IfModule mod_security2.c>
    SecRuleEngine On
  </IfModule>
</Directory>
<Directory "/xxx">
  <IfModule mod_security2.c>
    SecRuleEngine Off
  </IfModule>
</Directory>
같은 카테고리의 다른 글
CentOS 7 / Webmin / 설치하는 방법

CentOS 7 / Webmin / 설치하는 방법

Webmin은 웹브라우저를 통해 시스템 관리를 하는 툴이다. CentOS라면 아래의 순서로 설치할 수 있다. 저장소 추가 webmin 저장소를 추가한다. vi 등 텍스트 에디터로 저장소 파일을 만들고... # vi /etc/yum.repos.d/webmin.repo 아래의 내용을 추가하고 저장한다. name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1 키 추가 PGP key를 다운로드하고... # wget http://www.webmin.com/jcameron-key.asc 설치한다. # rpm --import jcameron-key.asc 설치와 설정 webmin을 설치한다. # yum install webmin 10000 포트를 열어준다. # firewall-cmd --add-port=10000/tcp 접속 https://<server-ip>:10000으로 접속한다. 공인 인증서가 없으므로, 웹브라우저에 ...

CentOS 8 / 화면 해상도 변경하는 방법

CentOS 8 / 화면 해상도 변경하는 방법

바탕화면에서 마우스 우클릭하고 Display Settings를 클릭합니다. Resolution에서 원하는 해상도를 선택합니다. 오른쪽 위의 Apply를 클릭합니다. Keep Changes를 클릭합니다. 해상도 변경이 완료되었습니다.

CentOS 8 / Squid로 Proxy Server 만드는 방법

CentOS 8 / Squid로 Proxy Server 만드는 방법

리눅스로 프록시 서버(Proxy Server)를 만들 때 스퀴드(Squid)를 주로 사용합니다. 오픈 소스이고, 대부분의 리눅스 배포판에 패키지로 포함되어 있습니다. 스퀴드(squid)는 대중적인 오픈 소스(GPL)소프트웨어 프록시 서버이자 웹 캐시이다. 반복된 요청을 캐싱함으로 웹서버의 속도를 향상시키는 것부터, 네트워크 자원을 공유하려는 사람들에게 웹, DNS와 다른 네트워크 검색의 캐싱을 제공하고, 트래픽을 걸러줌으로써 안정성에 도움을 주는 등에 이르기까지 광범위 ...

CentOS 7 / Samba / 설치하고 공유 폴더 만드는 방법

CentOS 7 / Samba / 설치하고 공유 폴더 만드는 방법

Samba 설치 Samba 패키지 이름은 samba입니다. yum install samba 방화벽 설정 Samba가 사용하는 포트를 열어줍니다. firewall-cmd --permanent --zone=public --add-service=samba 방화벽을 다시 로드합니다. firewall-cmd --reload 참고 : CentOS 7 / firewall-cmd 명령어로 방화벽 관리하기 SELinux SELinux를 적절히 설정하거나 끕니다. 참고 : CentOS 7 / SELinux 끄는 방법 Samba 사용자 추가 사용자가 Samba를 사용할 수 있도록 해줍니다. 만약 사용자계정이 user1이라면 다음과 같이 합니다. smbpasswd -a user1 Samba 설정 Samba 설정 ...

CentOS 7 / yum으로 phpMyAdmin 설치하는 방법

CentOS 7 / yum으로 phpMyAdmin 설치하는 방법

phpMyAdmin은 MySQL 또는 MariaDB를 관리하는 유용한 툴입니다. 그런데 CentOS 7 기본 패키지에는 포함되어 있지 않습니다. 하지만, EPEL Repo를 추가하면 yum으로 설치하고 업그레이드를 할 수 있습니다. EPEL Repo 추가 yum install epel-release phpMyAdmin 설치 yum install phpmyadmin 설정 파일 /etc/httpd/conf.d/phpMyAdmin.conf 기본 설정은 외부 접속 불가입니다. 접속하는 PC의 IP를 추가하면 외부 접속이 가능합니다. 접속 주소 http://server-ip/phpMyAdmin

CentOS 7 / Let’s Encrypt에서 무료 SSL 인증서 발급 받는 방법

CentOS 7 / Let’s Encrypt에서 무료 SSL 인증서 발급 받는 방법

CentOS 7에서 Let’s Encrypt 인증서를 발급 받는 방법을 요약합니다. 환경 CentOS 7 Apache Web Server 설치 저장소 추가 yum install epel-release 설치 yum install python-certbot-apache 인증서 발급 abc.com 인증서 발급 certbot --apache -d abc.com abc.com과 www.abc.com 인증서 동시 발급 certbot --apache -d abc.com -d www.abc.com 인증서 갱신 Let’s Encrypt 인증서는 90일마다 갱신해야 합니다. certbot renew

CentOS 8 / 언어 변경하는 방법

CentOS 8 / 언어 변경하는 방법

현재 언어 확인하기 # localectl System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us 사용 가능한 언어 확인하기 # localectl list-locales C.utf8 en_AG en_AU en_AU.utf8 en_BW en_BW.utf8 en_CA en_CA.utf8 en_DK en_DK.utf8 en_GB en_GB.iso885915 en_GB.utf8 en_HK en_HK.utf8 en_IE en_IE.utf8 en_IE@euro en_IL en_IN en_NG en_NZ en_NZ.utf8 en_PH en_PH.utf8 en_SC.utf8 en_SG en_SG.utf8 en_US en_US.iso885915 en_US.utf8 en_ZA en_ZA.utf8 en_ZM en_ZW en_ZW.utf8 ko_KR.euckr ko_KR.utf8 언어를 한글로 변경하기 # localectl set-locale LANG=ko_KR.utf8 # localectl System Locale: LANG=ko_KR.utf8 ...

CentOS 8 / 원격 데스크톱으로 연결하는 방법

CentOS 8 / 원격 데스크톱으로 연결하는 방법

서버용으로 CentOS를 사용하는 경우 보통 Minimal로 설치하고, 원격 접속은 SSH로 한다. 하지만 하드웨어 사양이 좋아지고 사용의 편리함으로 GUI(Graphical User Interface)를 설치하는 경우도 많아지고 있다. GUI가 설치되어 있다면 SSH보다는 원격 데스크톱으로 관리하는 게 편하다. CentOS에 원격 데스크톱으로 접속하는 방법을 알아본다. 패키지 설치 다음과 같이 명령하여 EPEL(Extra Packages of Enterprise Linux) 저장소를 추가한다. yum install ...

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

서비스 관리는 보통 systemctl 명령어로 합니다. systemctl 명령어의 enable을 이용하면 시스템이 부팅할 때 서비스가 자동으로 시작하게 할 수 있습니다. 예를 들어 systemctl enable httpd.service 는 서버가 부팅할 때 httpd 서비스를 자동으로 시작합니다. 만약 이러한 서비스 관리를 명령어로 하는 불편하다면 ntsysv를 사용해보세요. TUI로 자동으로 시작하는 서비스를 관리할 수 있습니다. 다음과 같이 명령하여 ntsysv 패키지를 설치합니다. yum install ntsysv 다음과 같이 ...

CentOS 7 / SELinux 끄는 방법

CentOS 7 / SELinux 끄는 방법

방법 1 다음과 같이 명령하면 SELinux가 꺼진다. 재부팅하면 다시 SELinux가 켜진다. setenforce 0 만약 다시 SELinux를 사용하고 싶다면 다음과 같이 명령한다. setenforce 1 방법 2 /etc/selinux/config에 다음과 같은 코드가 있다. SELINUX=enforcing 다음과 같이 바꾼다. SELINUX=disabled 시스템을 재부팅하면 적용된다. 방법 1과는 달리 재부팅해도 설정이 유지된다.