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이상으로 설정하려면 커널소스를 수정하고 다시 컴파일 해야 한다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
246 | debian / ubuntu 에서 ntsysv(rcconf) 사용하기 | 호스트웨이 | 2012.11.01 | 18268 |
245 | 리눅스 파티션 볼륨 레이블 설정 | 호스트웨이 | 2012.11.01 | 3177 |
244 | Web site에서 php error log 출력하지 않기 | 호스트웨이 | 2012.11.01 | 5048 |
243 | 리눅스 wc 명령어 | 호스트웨이 | 2012.10.26 | 3474 |
242 | TCp syn Flooding 공격시 대처방법 TIP | 호스트웨이 | 2012.10.26 | 2239 |
241 | 리눅스 du 사용법 | 호스트웨이 | 2012.10.25 | 17843 |
240 | 리눅스 시스템상에서 하드웨어사양 확인 | 호스트웨이 | 2012.10.24 | 2369 |
239 | ls 명령어의 파일 사이즈 쉽게 확인하기 | 호스트웨이 | 2012.10.23 | 177473 |
238 | history 삭제 막기 | 호스트웨이 | 2012.10.19 | 3967 |
237 | Disk I/O 줄이기 | 호스트웨이 | 2012.10.18 | 18478 |
236 | 리눅스 tac 명령어를 통해 파일내용 역순으로 출력하기 | 호스트웨이 | 2012.10.18 | 4489 |
235 | 리눅스 파일명 일괄변경하기 | 호스트웨이 | 2012.10.18 | 4469 |
234 | VNC-server 설치 및 설정 | 호스트웨이 | 2012.10.12 | 4155 |
233 | lrzsz 사용해보기 | 호스트웨이 | 2012.10.12 | 6063 |
232 | 문자열 치환하기 | 호스트웨이 | 2012.10.12 | 12662 |
231 | ispell 명령어를 통한 철자 검사 및 수정하기 | 호스트웨이 | 2012.10.12 | 2523 |
230 | 리눅스 vsftp 자세한 log남기는 설정 | 호스트웨이 | 2012.10.11 | 18063 |
229 | ssh port 번호 변경하기 | 호스트웨이 | 2012.10.05 | 16491 |
228 | /dev/null 과 /dev/zero의 차이 | 호스트웨이 | 2012.10.05 | 4303 |
227 | fstab 손상으로 / 파티션이 Read-Only 상태일 때 Remount 하는 방법 | 호스트웨이 | 2012.10.05 | 30738 |