호스팅 사용법
호스팅 신청하기
도메인 연결하기
홈페이지 올리기
이메일 설정하기
서버 사용법
FTP사용법
메일사용법
텔넷/리눅스
MySQL사용법
MSSQL사용법
리눅스명령어 모음
시스템사용법
서버세팅
네트워크/보안
L4 매뉴얼
백업/미러링
호스팅용어 모음
프로그램 사용법
알리미사용법
제로보드설치방법
워드프레스설치방법
태터툴즈설치방법
그누보드설치방법
우편번호DB사용법
폼메일사용법
주문서사용법
예전 게시판/방명록
전자지불 서비스


HOME > 호스팅 > 사용안내 > 네트워크/보안 > 보안
네트워크  보안 
ping의 응답을 막는 방법은 ICMP ECHO 를 on을 시키느냐 off 를 시키느냐에 따라 좌우된다.
보통 ping 을 막는 방법으로 많이 나오는 방법은 kernel의 icmp_echo_ignore_all 값을 1로 만들어 주는 방법이 주로 알려져
실제로 ping을 이용한 DOS 공격은 broadcast와 multicast service의 패킷을 넘치게 하는 공격이다.
즉, ping을 다 막을 필요가 없고 broadcast와 multicast 쪽의 ping만 막으면 기본적인 방어가 가능하다.
모든 ICMP ECHO 요청을 커널이 무시하게 하거나, ICMP ECHO 요청 중 broadcast 와 multicast 주소에만 무시하게 할 때 1의 값은 무시,
0의 값은 return 을 하게 된다.
만약 boardcast/multicast 주소의 ICMP ECHO 요청을 수용하게 한다면, network 가 다른 호스트로 denial of service(DOS) packet flooding 공격을 하는데 이용될 수 있다.
즉 이것은 icmp_echo_ignore_all 의 모든 값을 1로 할 필요는 없다는 뜻이다.
ping 이라는 것은 내가 외부에서 나의 host 가 살아 있는지의 판단 여부도 되기 때문인데
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
을 이용하는 것보다는
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
를 이용하는 것이 더욱 효과적이다. 시스템 부팅시마다 적용할 경우에는 rc.local 에 위의 내용을 넣어 주면 된다.
커널 2.2.16 버전 이상의 사용자들은 다음 설정도 적용이 가능하며 /etc/sysctl.conf 에 다음을 추가한다.
net.ipv4.icmp_echo_ignore_broadcasts = 1
파일을 저장한 후에 sysctl -w 명령을 실행하고 나서
sysctl -a | grep ignore_boradcasts
명령을 실행하면 값이 변경이 되었는지 확인할 수 있다.
다음 부터는 부팅시 /etc/sysctl.conf 의 값이 적용된다.
1) version 정보 숨기기
센드메일 버전은 간단히 설정화일 레벨에서 가능하다.
간단히 포트에 접근해서 헤더를 읽으면 현재의 버전을 알 수 있다.
[ /etc/sendmail.cf - 변경 전 ]
# Configuration version number
DZ8.11.3
# SMTP initial login message (old $e macro)
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
[root@www /root]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 도메인 ESMTP Sendmail 8.11.3/8.11.3; Mon, 19 Aug 2002 05:42:22
+0900
다음과 같은 결과를 볼 수 있다.
[ /etc/sendmail.cf - 변경 후 ]
# Configuration version number
DZ0.0.0
# SMTP initial login message (old $e macro)
O SmtpGreetingMessage=$j Don't Cracking $Z; $b
[root@www /root]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ns.mydomain.co.kr ESMTP Don't Cracking 0.0.0; Mon, 19 Aug 2002
05:51:15 +0900
2) Relay
특정 IP에서만 접근 가능하도록 설정한다.
3) EXPN 과 VRFY 사용 금지
/etc/sendmail.cf에서 PrivacyOptions를 찾아서 아래와 같이 내용을 추가한다.
O PrivacyOptions=authwarnings,noexpn,novrfy,restrictqrun
이것은 스패머 또는 크래커가 EXPN과 VRFY 명령을 사용하지 못하도록 한다. 이는 서버에 접속해서 위 두개의 명령으로 사용자 계정을 알 수 있기 때문에 미연에 방지하는 것이다.
4) SMTP daemon options 수정
외부에서 메일을 받고자 할 경우 반드시 설정해 주어야 한다.
/etc/sendmail.cf에서 SMTP demon options 이란 항목을 찾아서 아래와 같이 127.0.0.1을 0.0.0.0 으로 바꿔준다.(혹은 Addr=127.0.0.1 항목을 제거)
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
일반적인 리눅스에서, 프로그램이 휘두를 수 있는 권한은 그 프로그램을 실행한 사용자에 따라 달라진다. 일반 사용자 권한으로 프로그램을 실행하면 일반 사용자 권한 내에서만
움직일 수 있고, 관리자(root) 권한으로 프로그램을 실행하면 관리자 권한으로 동작한다.
하지만 일단 프로그램이 권한을 획득하고 나면, 그 다음부터는 전적으로 프로그램의 재량에 맡겨지게 된다. 어떤 프로그램이 사용자 동의를 통하든 보안 버그를 이용하든,
일단 관리자 권한을 얻은 후 시스템에 손상을 가할 경우 이를 막기란 거의 불가능하다.
SELinux는 이렇게 권한이 남용되는 사태를 막기 위해 존재한다. SELinux는 사용자와 프로그램, 그리고 파일과 장치에 각각 다른 권한을 지정할 수 있다.
어떤 프로그램에 모든 권한을 주는 대신, 그 프로그램이 수행되기에 충분한 권한만 부여할 수 있으며 이것으로 리눅스 시스템의 보안을 크게 높일 수 있다.
예를 들어, 리눅스에서 1024 이하 포트는 원래 관리자(root)만 사용할 수 있다. 따라서 어떤 프로그램이 1024 이하 포트를 사용하게 하고 싶으면 어쩔 수 없이 관리자 권한을 줘야
하는데, 하지만 SELinux를 이용하면, 특정 프로그램에 관리자 권한을 부여하지 않고도 1024 이하 포트를 열게 할 수 있다.
그러나 SELinux 적용에는 부작용도 따른다. 가장 큰 문제는 역시 '과민 반응' 이다. 이것은 SELinux가 지나치게 엄격한 기준을 적용해서 시스템 사용에 불편이 오는 것이다.
이러한 기준을 '정책(policy)'이라고 하는데, 페도라의 경우 처음에 정책을 너무 엄격하게 설정했다가 나중에 기본값에서 제외한 적이 있다.
또한 SELinux의 적용을 받는 모든 소프트웨어에 맞추어 정책을 섬세하게 설정하여야 하는데, 이것 또한 큰 노가다(?)가 필요한 작업이다. 게다가 사용 가능한 프로그램이
추가될 때마다 정책을 설정해야 하므로 관리자 입장에서는 매우 귀찮은 존재가 되기도 한다.
그래서 이미 SELinux가 적용되어 있는 리눅스 배포판의 사용자 중 일부는 설치 후에 SELinux를 비활성화하기도 한다.
사이트명 : 가가도메인 | 회사명 : (주)아사달 | 대표이사 : 서창녕, 심재춘 | 대표전화 : 070-7510-3007 | 팩스번호 : 02-2026-2008
사업자등록번호 : 206-81-24351 | 법인등록번호 : 110111-1940504 | 통신판매업신고 : 제18-890호 | 벤처확인번호 : 051134532200563
(우편번호 : 153-803) 서울특별시 금천구 가산동 371-28번지 우림라이온스밸리 A동 8층 (주)아사달
Copyright ⓒ gagadomain.com All rights Reserved.
페이지 맨 위로 이동하기