CentOS 7에서 웹 서버 구축을 위한 네트워크 보안 강화 팁
웹 서버는 현대 인터넷의 중요한 부분이므로 웹 서버의 보안을 지키는 것이 매우 중요합니다. 네트워크 보안을 강화하면 위험을 줄이고 잠재적인 공격을 방지할 수 있습니다. 이 기사에서는 CentOS 7에서 웹 서버를 구축할 때 일반적으로 사용되는 네트워크 보안 강화 기술을 소개하고 해당 코드 예제를 제공합니다.
sudo yum update
sudo systemctl list-unit-files --type=service | grep enabled
필요에 따라 다음 명령을 사용하여 해당 서비스를 중지하고 비활성화할 수 있습니다. 예를 들어, FTP 서버를 사용할 필요가 없다면 vsftpd를 중지하고 비활성화할 수 있습니다.
sudo systemctl stop vsftpd sudo systemctl disable vsftpd
서버에 대한 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
먼저 Certbot 및 Certbot Nginx 플러그인을 설치합니다.
sudo yum install certbot python2-certbot-nginx
그런 다음 웹 사이트에 SSL을 활성화합니다.
sudo certbot --nginx
먼저 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
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!