강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 서버 보안 핵심3

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스 서버 보안 핵심3

작성자 : 오늘과 내일 홍석범

방화벽 확장 기능-국가별접속제한

top


# tar xfz patch-o-matic-ng-XXXXXX.tar.gz
# cd patch-o-matic-ng
# IPTABLES_DIR=/usr/src/iptables KERNEL_DIR=/usr/src/linux ./runme geoip
-> IP: Netfilter Configuration
-> [*] geoip match support
http://people.netfilter.org/peejix/geoip/database/
geoipdb.bin: 바이너리 데이터
geoipdb.idx: 인덱스

# 한국에서의 ftp만 허용하고 나머지 국가에서의 접속은 차단하고자 할 때
iptables -A INPUT -p tcp --dport 21 -m geoip --src-cc KR -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j DROP
또는 iptables -A INPUT -p tcp --dport 21 -m geoip ! --src-cc KR -j DROP


방화벽 확장 기능-동시접속제한

top



iptables -A INPUT -m recent --name badguy --rcheck --seconds 300 -j DROP
iptables -A INPUT -p tcp --syn --dport 25 -m connlimit --connlimit-above 5
-m recent --name badguy --set -j DROP

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 15
?connlimit-mask 24 -j DROP

iptables ?A INPUT ?m psd ?j DROP


방화벽 확장 기능-string 필터

top


iptables ?A FORWARD ?m string ?string “messenger.msn.com” ?j DROP

iptables -A FORWARD -p tcp ?dport 80 -m string --string
"Host: cyworld.nate.com" -j DROP

string_01.gif

<ethereal을 활용한 string 캡처>



유동 IP 사용시 활용 방법(1)

top


string_02.gif

- Dynamic DNS 사용 (http://www.no-ip.com/등)
iptables ?A INUPT ?p tcp ?s sup.no-ip.com ?dport 22 ?j ACCEPT

- port forwarding
service 1000
{
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = root
port = 1000
groups = yes
redirect = 192.168.1.154 22
}



유동 IP 사용시 활용 방법-VPN

top

 

http://openvpn.net/

핵심기능 : 터널링과 압축,암호화

string_03.gif

string_04.gif



VPN- 터널링과 압축,암호화

top


string_05.gif

ㅇ Gateway-to-Gateway 방식

PC나 서버에서는 별도의 VPN프로그램 설치가 필요없다.

 

string_06.gif

ㅇ Host-to-Gateway 방식

외근시 사무실의 네트워크에 접속하고 할때

 

string_07.gif

ㅇ Host-to-Host 방식

특정 PC(서버)와 PC(서버)간 VPN 통신시

# tcpdump -X port 5000
vpn.server.com.5000 > vpn.client.com.5000:
0x0000 4500 0090 0000 4000 4011 a383 d32f 4415 E.....@.@..../D.
0x0010 d3db abb9 1388 1388 007c 196d dd03 e1a0 .........|.m....
0x0020 b342 af4c 1148 3dec 1e2b 8549 2454 6a12 .B.L.H=..+.I$Tj.
0x0030 a22e f8c4 eb48 7646 21c5 66cc 4107 880d .....HvF!.f.A...
0x0040 317e 9f52 85d1 391c 7dc5 1a48 4ea7 777b 1~.R..9.}..HN.w{
0x0050 9a57

vpn client에서 vpn server에 ping을 실행했을 때 터널링되고, 암호화된 것을 알 수 있다.



해킹이 의심시 취할 순서(또는 보안점검)

top

 

1. root로 로그인후 HISTFILE=/dev/null

2. script cap.txt 실행하여 실행 결과 저장

3. ps aux, netstat ?lnp로 이상 확인

4. chkrootkit으로 binary 변조 여부 확인

5. 외부에서 nmap등으로 포트스캔하여 백도어 포트 여부 확인

6. last로 이상 접속 여부 확인

7. nessus등을 실행하여 취약성 여부 확인

8. 설정 파일의 변경 여부 확인

9. /tmp등에 비정상 파일 존재 여부 확인




해킹당한 것을 확인시 조치 사항

top

 

1. 백도어나 변조된 파일을 확인하여 해킹 수준을 확인(root인지등..)

2. root 레벨인 경우 네트워크 연결 단절후 콘솔에서 작업

3. 불가하다면, 시스템의 IP를 다른 IP로 변경하여 접속하여 작업

4. 가능한대로 데이터 백업 여부 확인 및 데이터 백업

5. chkrootkit등으로 변조된 파일, 백도어 파일 확인하여 원본 파일로 교체

6. 변조된 파일은 삭제하지 말고, 임의의 디렉토리에 모은다.(추후분석위해)

7. 부팅 스크립트나 cron을 확인하여 백도어 자동실행 여부 확인

8. 어떤 취약성을 이용하여 권한을 획득하였는지 확인 후 취약성 패치

9. iptables 방화벽등을 이용하여 접근 통제 설정



 
copyright.gif

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  98 명