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이상으로 설정하려면 커널소스를 수정하고 다시 컴파일 해야 한다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
366 | 터미널 창으로 메시지 보내기 | 호스트웨이 | 2008.05.19 | 44221 |
365 | 리눅스 Sleep 명령어 | 호스트웨이 | 2012.08.10 | 42158 |
364 | openssl 간단 사용법 | 호스트웨이 | 2008.12.10 | 41115 |
363 | 특정 계정만 su 명령어 사용 | 호스트웨이 | 2012.05.05 | 39711 |
362 | VSFTP 에서 사용하는 port를 변경하기 | 호스트웨이 | 2012.03.23 | 39704 |
361 | tcpdump 기본 사용 | sylee | 2008.07.02 | 39641 |
360 | yum 사용 팁 | jook | 2008.09.02 | 38918 |
359 | VNC rpm 설치해보기 | sylee | 2008.08.07 | 37739 |
» | 커널 파라미터 제어 | 호스트웨이 | 2008.06.25 | 36965 |
357 | yum repository 국내 mirror 설정 | 호스트웨이 | 2012.03.23 | 36907 |
356 | parted를 이용한 2TB 이상의 partitioning | 호스트웨이 | 2012.05.05 | 35708 |
355 | apt-get 간단 사용 방법 | jook | 2008.12.11 | 35261 |
354 | 리눅스 원격 접속자 세션 종료 | 호스트웨이 | 2012.06.08 | 34938 |
353 | shell 접속은 차단하고 ftp접속만 허용하기 | sylee | 2008.05.20 | 34493 |
352 | multitail (다수의 파일을 tail 로 볼 수 있습니다.) | HOSTWAY | 2008.12.04 | 34475 |
351 | source rpm 을 사용하여 rpm 패키지 만들기 | jook | 2008.05.28 | 34275 |
350 | Fedora8, 9 버전에서 setup -> Network configuration 메뉴가 동작하지 않을때 | jook | 2008.07.23 | 34118 |
349 | 데비안 기본 라이브러리 설치 | 호스트웨이 | 2008.06.03 | 33514 |
348 | 리눅스에서 fuser 명령어 사용하기 | 호스트웨이 | 2012.06.15 | 33500 |
347 | 리눅스에서 fstab을 UUID로 변경 | 호스트웨이 | 2012.08.23 | 32944 |