2008.06.25 00:16
커널 변수를 제어하는 방법이다.
sysctl -a 는 모든 커널 파라미터의 값을 출력한다.
우선 /etc/sysctl.conf 의 내용을 보자.
[root@linuxian root]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
[root@linuxian root]#
위 net.ipv4.ip_forward 의 값을 1 로 변경하고 시스템을 재시작 하거나
sysctl -w 명령을 사용하면 변경된 파라미터 값이 시스템에 적용된다.
echo 1 > /proc/sys/net/ipv4/ip_forward 라고 해도 된다.
그러나 시스템을 재시작 했을 경우 sysctl.conf 파일을 읽어들이기 때문에 값은 다시 0 으로 초기화 된다.
SYN flooding 공격에 대비하려면 /etc/sysctl.conf 에 아래의 값들을 입력하고 sysclt -w 을 실행하거나
시스템을 재시작한다.
net.ipv4.tcp_syncookies=1
net/ipv4/tcp_max_syn_backlog=1024
아래는 위 파라미터에 대한 간단한 설명이다.
net.ipv4.tcp_syncookies
--> SYN패킷의 도착빈도가 일정한 횟수보다 많을 때 해당 요청을 허용하지 않을 때 사용한다.
net/ipv4/tcp_max_syn_backlog
--> TCP프로토콜에서 한 소켓이 동시에 SYN요청을 처리하기에기는 한계가 있는데
이 한계가 백로그(backlog)이다. 백로그는 연결 요청이 아직 완전히 처리되지
아니한 대기상태에 있는 큐의 길이이다. 이 백로그 큐가 꽉차게 되면 이후 들어오는
SYN요청은 무시되며 이러한 공격이 위에서 말한 SYN Flooding공격이다.
값을 1024이상으로 설정하려면 커널소스를 수정하고 다시 컴파일 해야 한다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
346 | /proc/sys/net/ipv4 활용 서버보안 -2- | 호스트웨이 | 2015.09.18 | 3136 |
345 | 리눅스 파티션 볼륨 레이블 설정 | 호스트웨이 | 2012.11.01 | 3175 |
344 | 리눅스 관리툴 webmin 설치하기 | 호스트웨이 | 2012.12.07 | 3192 |
343 | UTF-8 환경의 Linux 에서 SAMBA 한글 인코딩 문제 해결 방법 | 호스트웨이 | 2015.09.09 | 3288 |
342 | iptables를 이용한 ssh 스캐닝 공격 방어 | 호스트웨이 | 2012.09.21 | 3334 |
341 | vsftpd 패시브 모드 설정 | 호스트웨이 | 2015.09.13 | 3345 |
340 | tcpdump 활용 | 호스트웨이 | 2015.09.16 | 3349 |
339 | samba 설치 | 호스트웨이 | 2014.04.14 | 3372 |
338 | Ctrl+Alt+Del로 재부팅 방지 하기 | 호스트웨이 | 2012.12.13 | 3441 |
337 | 리눅스 wc 명령어 | 호스트웨이 | 2012.10.26 | 3474 |
336 | CPU 사용률 제한 | 호스트웨이 | 2015.09.18 | 3484 |
335 | 리눅스 SSH Port 추가하기 | 호스트웨이 | 2015.09.16 | 3525 |
334 | nl명령어를 사용해 파일내용 출력시 행번호 붙이기 | 호스트웨이 | 2012.12.20 | 3667 |
333 | 패스워드 정책 변경 | 호스트웨이 | 2015.09.03 | 3725 |
332 | 리눅스 who 명령어 | 호스트웨이 | 2012.12.12 | 3738 |
331 | Route 경로 추가 | 호스트웨이 | 2015.09.18 | 3755 |
330 | apache log rotatelogs 관리 | 호스트웨이 | 2015.09.08 | 3787 |
329 | scp, ssh, rsync를 사용할 때 SSH 암호 묻는 것 피하는 법 | 호스트웨이 | 2015.09.13 | 3787 |
328 | 모든 파일 안의 문자열 치환하기 | 호스트웨이 | 2015.09.21 | 3964 |
327 | history 삭제 막기 | 호스트웨이 | 2012.10.19 | 3966 |