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 | CPU core 별 사용량 확인 하기 | 호스트웨이 | 2012.06.08 | 25280 |
245 | 안전한 패스워드 생성하기 | 호스트웨이 | 2012.06.08 | 16385 |
244 | sysstat 설치편 | 호스트웨이 | 2012.06.08 | 20404 |
243 | sar 명령 옵션 | 호스트웨이 | 2012.06.15 | 93540 |
242 | 리눅스 가상콘솔개수 조절 | 호스트웨이 | 2012.06.15 | 15248 |
241 | 리눅스에서 fuser 명령어 사용하기 | 호스트웨이 | 2012.06.15 | 33505 |
240 | Ext2Fsd 를 이용하여 윈도우즈 PC에서 리눅스 파티션 읽기 | 호스트웨이 | 2012.06.15 | 20360 |
239 | L4 로드밸런서 알고리즘 | 호스트웨이 | 2012.06.22 | 19389 |
238 | EXT3-fs warning: maximal mount count reached, running e2fsck is recommended 해결 | 호스트웨이 | 2012.06.22 | 19133 |
237 | 리눅스 ls 디렉토리 혹은 파일 별 출력하기 | 호스트웨이 | 2012.06.22 | 26086 |
236 | 리눅스에서 pkill, pgrep 명령어 사용하기 | 호스트웨이 | 2012.06.22 | 28519 |
235 | 특정 IP 엑세스 못하게 하는방법 | 호스트웨이 | 2012.06.22 | 14454 |
234 | find 명령 사용 예제들 | 호스트웨이 | 2012.06.29 | 14966 |
233 | 시스템내에서 하드 용량이 다르게 보이는 이유 | 호스트웨이 | 2012.06.29 | 16433 |
232 | xinetd 소개 및 설정 | 호스트웨이 | 2012.06.29 | 51912 |
231 | 리눅스 압축 명령어 tar | 호스트웨이 | 2012.06.29 | 17721 |
230 | 리눅스에서 shutdown 명령어 사용하기 | 호스트웨이 | 2012.06.29 | 28860 |
229 | 리눅스 로그인 메시지 출력 | 호스트웨이 | 2012.07.06 | 17108 |
228 | 리눅스 로그파일의 종류 | 호스트웨이 | 2012.07.06 | 18243 |
227 | Linux 계정 정보 관리 파일 | 호스트웨이 | 2012.07.06 | 17984 |