저는 웹 서버에 대한 보안 위협을 연구해 왔습니다. 이로 인해 Raspbian OS 시스템에서 자신을 안전하게 보호하고 싶습니다. 서버에 설치하거나 구성할 권장 또는 선택적 콘텐츠 목록은 무엇입니까?
나는 현재 다음을 가지고 있습니다:
조개 바이러스
실패 2 금지
아파치 httpd
또한 원격으로 작업할 예정이므로 SSH를 포함하여 이러한 패키지를 최대한 안전하게 구성할 수 있는 방법을 알려주시기 바랍니다.
답변1
1. 모든 것을 업그레이드하세요
apt update && apt upgrade -y
2. 보안 SSH
grep -P ^Pass /etc/ssh/sshd_config
PasswordAuthentication no
3. SSH 및 https만 허용하도록 iptables(또는 ufw 등)를 구성합니다.
apt install -y iptables-persistent
iptables --flush
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 255 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
iptables-save > /etc/iptables/rules.v4
ip6tables --flush
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -A INPUT -j REJECT
ip6tables -A FORWARD -j REJECT
ip6tables-save > /etc/iptables/rules.v6
4. 아파치가 스크립트(PHP 등)를 실행하지 못하도록 막거나 코드가 양호한지 확인하세요.
5. 오프사이트 에어갭 백업, 계층화된 보안, 침입 탐지 시스템, 전체 디스크 암호화 및 작업별로 컴퓨터를 분리합니다.
6. 정적 분석 사용
- https://www.ssllabs.com/ssltest/
- https://securityheaders.com/
- https://developers.google.com/web/tools/lighthouse/
- https://jigsaw.w3.org/css-validator/
- https://github.com/exakat/php-static-analytic-tools
- 등
6. 스스로 교육하라...