리눅스 네트워크 보안을 위한 커널 옵션 설정

돌아다니면서 구한 자료로 공부하는 공간입니다..

틀린부분이 있다면 말씀해주시면 수정하도록 하겠습니다.

※ 남을 비방하거나 욕 / 정치적인 글은 삭제 대상이 됩니다. ※

리눅스 네트워크 보안을 위한 커널 옵션 설정

만키로군 0 4557 0

사용전에 sysctl -a 명령을 사용하여 적용가능한 목록을 확인

설정명이 OS마다 조금 다를수 있음

미리 기본 설정값을 확인


적용완료후 # sysctl -p 명령 실행

리부팅해주면 가능할경우 리부팅


1. 핑 차단하기

핑 차단은 iptables를 통해 차단할수 있지만 커널옵션 설정을 통한 설정도 가능


/etc/sysctl.conf 파일 설정

net.ipv4.icmp_echo_ignore_all=1


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/icmp_echo_ignore_all=1

또는 sysctl -w net.ipv4.icmp_echo_ignore_all=1




2. 브로드캐스트 핑 차단

브로드캐스트로 들어오는 ICMP들오어오는 패킷으로 인하여 발생하는 트래픽을 방지하기 위해



/etc/sysctl.conf 파일 설정

net.ipv4.icmp_echo_broadcasts=1


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/icmp_echo_broadcasts=1

또는 sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1




3. TCP SYN Flooding 공격 차단

과도한 SYN 패킷으로 인하여 서버의 엄청난 트래픽을 유발 시켜 서버너 네트워크를 다운시키는

서비스 거부 공격을 커널 차원에서 차단하는데 효과적


/etc/sysctl.conf 파일 설정

net.ipv4.tcp_syncookies=1


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/tcp_syncookies=1

또는 sysctl -w net.ipv4.tcp_syncookies=1




4. 아이피 스푸핑(IP Spoofing) 악용 차단

자신의 네트워크가 아이피 스푸핑 공격에 악용되지 않도록 하기 위해


/etc/sysctl.conf 파일 설정

net.ipv4.conf.all.rp_filter=1

net.ipv4.conf.lo.rp_filter=1

net.ipv4.conf.eth0.rp_filter=1

net.ipv4.conf.default.rp_filter=1


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/conf/all/rp_filter=1

# sysctl -w /proc/sys/net/ipv4/conf/lo/rp_filter=1

# sysctl -w /proc/sys/net/ipv4/conf/eth0/rp_filter=1

# sysctl -w /proc/sys/net/ipv4/conf/default/rp_filter=1

또는

# sysctl -w net.ipv4.conf.all.rp_filter=1

# sysctl -w net.ipv4.conf.lo.rp_filter=1

# sysctl -w net.ipv4.conf.eth0.rp_filter=1

# sysctl -w net.ipv4.conf.default.rp_filter=1




5. 세션 종료 시간 설정

TCP 세션 유지할 시간 조절

FTP나 ssh 접속시 오랫동안 세션을 유지할 수 없도록 시간을 조절해 줄수 있다.

기본값은 60초 이다


/etc/sysctl.conf 파일 설정

net.ipv4.tcp_fin_timeout=30


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/tcp_fin_timeout=30

또는 # sysctl -w net.ipv4.tcp_fin_timeout=30




6. TCP 연결유지(Keep Alive) 시간 조절

기본값은 7200초(2시간)이며, 네트워크 부하를 줄이기 위해서는 시간을 줄여주는것이 좋다.


/etc/sysctl.conf 파일 설정

net.ipv4.tcp_keepalive_time=1800


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/tcp_keepalive_time=1800

또는 # sysctl -w  net.ipv4.tcp_keepalive_time=1800




7. 서버 날짜 정보 유출 방지

외부 네트워크에서 서버의 날짜 정보를 유출할수 업도록 함


/etc/sysctl.conf 파일 설정

net.ipv4.tcp_timestamps=0


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/tcp_timestamps=0

또는 # sysctl -w net.ipv4.tcp_timestamps=0




8. IP 소스 라우팅(source routing) 차단하기

공격자가 소스 라우팅된 패킷을 이용하여 마치 신뢰받은 호스트처럼 위장할수 있는 위험성

으로부터 보호하기 위해


/etc/sysctl.conf 파일 설정

net.ipv4.conf.all.accept_source_route=0

net.ipv4.conf.lo.accept_source_route=0

net.ipv4.conf.eth0.accept_source_route=0

net.ipv4.conf.default.accept_source_route=0


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/conf/all/accept_source_route=0

# sysctl -w /proc/sys/net/ipv4/conf/lo/accept_source_route=0

# sysctl -w /proc/sys/net/ipv4/conf/eth0/accept_source_route=0

# sysctl -w /proc/sys/net/ipv4/conf/default/accept_source_route=0

또는

# sysctl -w net.ipv4.conf.all.accept_source_route=0

# sysctl -w net.ipv4.conf.lo.accept_source_route=0

# sysctl -w net.ipv4.conf.eth0.accept_source_route=0

# sysctl -w net.ipv4.conf.default.accept_source_route=0




9. ICMP Redirect 차단하기(허용패킷 차단)

공격자가 ICMP redirect 패킷을 변조하여 되면 호스트의 라우팅 테이블을 변경하여 특정 경로로

리다이렉트시켜 트래픽을 유발시킬 수 있으므로, 이러한 공격을 차단하도록 ICMP 리다이렉트

허용기능을 차단시킴


/etc/sysctl.conf 파일 설정

net.ipv4.conf.all.accept_redirects=0

net.ipv4.conf.lo.accept_redirects=0

net.ipv4.conf.eth0.accept_redirects=0

net.ipv4.conf.default.accept_redirects=0


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/conf/all/accept_redirects=0

# sysctl -w /proc/sys/net/ipv4/conf/lo/accept_redirects=0

# sysctl -w /proc/sys/net/ipv4/conf/eth0/accept_redirects=0

# sysctl -w /proc/sys/net/ipv4/conf/default/accept_redirects=0

또는

# sysctl -w net.ipv4.conf.all.accept_redirects=0

# sysctl -w net.ipv4.conf.lo.accept_redirects=0

# sysctl -w net.ipv4.conf.eth0.accept_redirects=0

# sysctl -w net.ipv4.conf.default.accept_redirects=0




10. ICMP Redirect 차단하기(발송 패킷 차단)

ICMP redirect 발송 패킷을 차단


/etc/sysctl.conf 파일 설정

net.ipv4.conf.all.send_redirects=0

net.ipv4.conf.lo.send_redirects=0

net.ipv4.conf.eth0.send_redirects=0

net.ipv4.conf.default.send_redirects=0


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/conf/all/send_redirects=0

# sysctl -w /proc/sys/net/ipv4/conf/lo/send_redirects=0

# sysctl -w /proc/sys/net/ipv4/conf/eth0/send_redirects=0

# sysctl -w /proc/sys/net/ipv4/conf/default/send_redirects=0

또는

# sysctl -w net.ipv4.conf.all.send_redirects=0

# sysctl -w net.ipv4.conf.lo.send_redirects=0

# sysctl -w net.ipv4.conf.eth0.send_redirects=0

# sysctl -w net.ipv4.conf.default.send_redirects=0




11. IP 스푸핑, 소스 라우팅, 리다이렉트된 패킷 로그 파일에 저장하기

IP 스푸핑, 소스 라우팅, 리다이렉트된 패킷등의 공격여부를 분석할수있도록 로그파일에 저장되도록


/etc/sysctl.conf 파일 설정

net.ipv4.conf.all.log_martians=0

net.ipv4.conf.lo.log_martians=0

net.ipv4.conf.eth0.log_martians=0

net.ipv4.conf.default.log_martians=0


sysctl 명령

# sysctl -w /proc/sys/net/ipv4/conf/all/log_martians=0

# sysctl -w /proc/sys/net/ipv4/conf/lo/log_martians=0

# sysctl -w /proc/sys/net/ipv4/conf/eth0/log_martians=0

# sysctl -w /proc/sys/net/ipv4/conf/default/log_martians=0

또는

# sysctl -w net.ipv4.conf.all.log_martians=0

# sysctl -w net.ipv4.conf.lo.log_martians=0

# sysctl -w net.ipv4.conf.eth0.log_martians=0

# sysctl -w net.ipv4.conf.default.log_martians=0

0 Comments
제목