리눅스 서버 보안 및 네트워크 성능 강화를 위한 커널/네트워크 매개변수 설정
sysctl.conf 파일 설정
vim /etc/sysctl.conf
ICMP 리디렉션 비활성화 : 네트워크 경로 변경에 대한 리디렉션 전송을 차단합니다.
net.ipv4.conf.eth0.accept_redirects=0
net.ipv4.conf.lo.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.eth0.send_redirects=0
net.ipv4.conf.lo.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.send_redirects=0
Proxy ARP 비활성화 : 네트워크에서 Proxy ARP를 허용하지 않음.
net.ipv4.conf.eth0.proxy_arp=0
net.ipv4.conf.lo.proxy_arp=0
net.ipv4.conf.default.proxy_arp=0
net.ipv4.conf.all.proxy_arp=0
보안 리디렉션 비활성화 : 게이트웨이 리디렉션 허용을 차단하여 스푸핑 공격을 방지합니다.
net.ipv4.conf.eth0.secure_redirects=0
net.ipv4.conf.lo.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.conf.all.secure_redirects=0
소스 라우팅 비활성화 : 신뢰하지 않는 IP 라우팅을 차단하여 스푸핑 공격을 방어합니다.
net.ipv4.conf.eth0.accept_source_route=0
net.ipv4.conf.lo.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_source_route=0
브로드캐스트 핑 무시 : Smurf 공격을 방어하기 위해 브로드캐스트 핑을 무시합니다.
net.ipv4.icmp_echo_ignore_broadcasts=1
오류가 있는 ICMP 패킷 무시 : 잘못된 ICMP 헤더를 무시하여 불필요한 자원 소모를 방지합니다.
net.ipv4.icmp_ignore_bogus_error_responses=1
Reverse Path 필터 설정 : 각 인터페이스에 대해 스푸핑 차단을 위한 필터 설정.
net.ipv4.conf.eth0.rp_filter=2
net.ipv4.conf.lo.rp_filter=2
net.ipv4.conf.default.rp_filter=2
net.ipv4.conf.all.rp_filter=2
BOOTP 릴레이 비활성화 : BOOTP 패킷 허용하지 않음.
net.ipv4.conf.eth0.bootp_relay=0
net.ipv4.conf.lo.bootp_relay=0
net.ipv4.conf.default.bootp_relay=0
net.ipv4.conf.all.bootp_relay=0
'Martians' 패킷 로그 : 스푸핑된 패킷과 의심스러운 패킷의 로그를 남깁니다.
net.ipv4.conf.eth0.log_martians=1
net.ipv4.conf.lo.log_martians=1
net.ipv4.conf.default.log_martians=1
net.ipv4.conf.all.log_martians=1
IGMP membership 제한 : 초당 수신 가능한 IGMP membership 수를 제한합니다.
net.ipv4.igmp_max_memberships=1
기본 TTL 설정 : 네트워크에서 패킷의 TTL을 64로 설정하여 전송 안정성을 높입니다.
net.ipv4.ip_default_ttl=64
패킷 포워딩 비활성화 : 이 서버가 게이트웨이 역할을 하지 않도록 합니다.
net.ipv4.ip_forward=0
파편화된 패킷의 최대 유지 시간 설정 (초 단위).
net.ipv4.ipfrag_time=15
SYN Flooding 방어 : 연결 백로그 큐의 최대 크기를 설정합니다.
net.ipv4.tcp_max_syn_backlog=1024
SYN 쿠키 활성화 : SYN Flooding 공격 시 사용합니다.
net.ipv4.tcp_syncookies=1
SYN 재시도 제한 : 제한된 수의 재시도로 연결 설정을 최적화합니다.
net.ipv4.tcp_syn_retries=3
net.ipv4.tcp_synack_retries=3
연결 종료를 위한 재시도 횟수 및 제한.
net.ipv4.tcp_retries1=3
net.ipv4.tcp_retries2=7
FIN 연결 종료 시간 단축.
net.ipv4.tcp_fin_timeout=20
Keepalive Probe 설정 : TCP Keepalive 패킷 전송 횟수 및 간격 조정.
net.ipv4.tcp_keepalive_probes=2
net.ipv4.tcp_keepalive_time=30
net.ipv4.tcp_keepalive_intvl=10
TCP 고아 연결 종료 시간 조정.
net.ipv4.tcp_orphan_retries=2
TCP SACK 활성화 : 손실된 패킷 부분만 요청하는 선택적 ACK 활성화.
net.ipv4.tcp_sack=1
설정을 적용합니다.
sysctl -p /etc/sysctl.conf
'리눅스' 카테고리의 다른 글
CentOS 7에서 LANG 설정을 변경하고 영구적으로 적용하는 방법 (0) | 2013.06.19 |
---|---|
mysqladmin 명령어 (0) | 2013.06.19 |
[리눅스] APM 설치(MySQL, Apache, PHP) (0) | 2013.06.19 |
MySQL에서 데이터베이스를 생성하고 사용자에게 권한을 할당하는 방법 (0) | 2013.06.19 |
PHP에서 기본 시간대를 설정하는 방법 (0) | 2013.06.18 |