>  기사  >  운영 및 유지보수  >  CentOS 7에서 웹 서버 구축을 위한 네트워크 보안 강화 기술

CentOS 7에서 웹 서버 구축을 위한 네트워크 보안 강화 기술

WBOY
WBOY원래의
2023-08-05 13:12:26854검색

CentOS 7에서 웹 서버 구축을 위한 네트워크 보안 강화 팁

웹 서버는 현대 인터넷의 중요한 부분이므로 웹 서버의 보안을 지키는 것이 매우 중요합니다. 네트워크 보안을 강화하면 위험을 줄이고 잠재적인 공격을 방지할 수 있습니다. 이 기사에서는 CentOS 7에서 웹 서버를 구축할 때 일반적으로 사용되는 네트워크 보안 강화 기술을 소개하고 해당 코드 예제를 제공합니다.

  1. 시스템 및 소프트웨어 업데이트
    먼저 시스템과 소프트웨어가 최신 상태인지 확인하세요. 다음 명령을 사용하여 CentOS 7에서 패키지를 업데이트할 수 있습니다.
sudo yum update
  1. 불필요한 서비스 끄기
    시스템 보안을 향상하려면 일부 불필요한 서비스를 꺼야 합니다. 다음 명령을 사용하여 현재 설치된 서비스를 볼 수 있습니다.
sudo systemctl list-unit-files --type=service | grep enabled

필요에 따라 다음 명령을 사용하여 해당 서비스를 중지하고 비활성화할 수 있습니다. 예를 들어, FTP 서버를 사용할 필요가 없다면 vsftpd를 중지하고 비활성화할 수 있습니다.

sudo systemctl stop vsftpd
sudo systemctl disable vsftpd
  1. 방화벽 구성
    방화벽 구성은 웹 서버를 보호하기 위한 중요한 조치 중 하나입니다. CentOS 7에서는 Firewalld를 사용하여 방화벽을 관리할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 방화벽 규칙입니다.

서버에 대한 HTTP 및 HTTPS 트래픽 허용:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

서버에 대한 SSH 연결 허용:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

인바운드 연결 수 제한:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" limit value="5/m" accept'
sudo firewall-cmd --reload
  1. HTTPS를 사용하여 통신 암호화
    HTTPS는 SSL 또는 TLS 암호화를 사용하여 웹 서버와 클라이언트 간의 통신을 보호하는 보안 프로토콜입니다. Certbot 도구를 사용하여 웹 사이트에 대한 SSL 인증서를 자동으로 생성하고 구성할 수 있습니다. 다음은 CentOS 7에 Certbot을 설치하고 구성하는 샘플 명령입니다.

먼저 Certbot 및 Certbot Nginx 플러그인을 설치합니다.

sudo yum install certbot python2-certbot-nginx

그런 다음 웹 사이트에 SSL을 활성화합니다.

sudo certbot --nginx
  1. 웹 응용 프로그램 방화벽 설치 및 구성
    Web 애플리케이션 방화벽(WAF)은 웹 애플리케이션에 대한 공격을 탐지하고 차단할 수 있습니다. CentOS 7에서 ModSecurity는 일반적으로 사용되는 WAF 도구입니다. 다음은 CentOS 7에서 ModSecurity를 ​​설치하고 구성하는 샘플 명령입니다.

먼저 ModSecurity 및 Nginx 모듈을 설치합니다.

sudo yum install mod_security mod_security_crs nginx-mod-http-modsecurity

그런 다음 ModSecurity를 ​​활성화합니다.

sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/httpd/conf.d/mod_security.conf

마지막으로 Nginx를 다시 시작합니다.

sudo systemctl restart nginx
  1. 로그인 보호 구성
    웹 서버의 로그인 페이지를 보호하려면 로그인 페이지에 액세스하는 IP 주소를 제한할 수 있습니다. 다음은 Nginx를 사용하여 로그인 보호를 구성하는 샘플 코드입니다.

Nginx 구성 파일 편집:

sudo nano /etc/nginx/nginx.conf

"http" 블록에 다음 코드 추가:

map $remote_addr $limited_access {
    192.168.1.1     '';
    10.0.0.0/24     '';
    default         1;
}

server {
    ...
    location /login {
        deny all;
        allow $limited_access;
        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

구성 파일을 저장하고 종료합니다. 그런 다음 로그인 확인을 위한 사용자 이름과 비밀번호를 만듭니다.

sudo htpasswd -c /etc/nginx/.htpasswd username

마지막으로 Nginx를 다시 시작합니다.

sudo systemctl restart nginx

이 기사에서는 CentOS 7에서 웹 서버를 구축할 때 일반적으로 사용되는 네트워크 보안 강화 기술을 소개합니다. 시스템 및 소프트웨어 업데이트, 불필요한 서비스 끄기, 방화벽 구성, HTTPS를 사용한 통신 암호화, 웹 애플리케이션 방화벽 설치 및 구성, 로그인 보호 구성을 통해 웹 서버의 네트워크 보안을 향상시킬 수 있습니다. 위의 팁이 도움이 되기를 바랍니다.

위 내용은 CentOS 7에서 웹 서버 구축을 위한 네트워크 보안 강화 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.