티스토리 뷰

Linux

tcpproxy

CHOMAN 2015. 6. 3. 10:11

tcpproxy

 

사이트 : http://www.quietsche-entchen.de/cgi-bin/wiki.cgi/proxies/TcpProxy

 

 

파일 다운로드 및 설치

 

wget http://www.quietsche-entchen.de/download/tcpproxy-2.0.0-beta15.tar.gz

 

make && make install

 

 

tcpproxy ESTABLISHED timeout 설정

 

tcpproxy.c

디폴트는 60초인데 기본적으로 60초동안 패킷 통신이 일어나지 않으면 접속을 끊는다는 의미

넉넉하게 주면 TCP 끊어질 일은 없음

x->timeout   = 60;

 

수정후 재컴파일 하면 적용됨

 

설정파일

/etc/tcpproxy.conf

 

port 80 : 프록시 서버에서 LISTEN 포트

interface : 랜카드 eth0, eth1 등 이더넷 디바이스를 지칭하는 듯 함

server 211.xxx.xxx.10:80 : 원본서버 (리얼서버)와 목적지 포트를 의미

 - 프록시 서버에서 80번 패킷을 받으면 211.xxx.xxx.10: 80번으로 넘기겠다는 의미

 

port 80
interface *
server 211.xxx.xxx.10:80                                     

 

port 20
interface *
server 211.xxx.xxx.10:20

 

port 21
interface *
server 211.xxx.xxx.10:21

 

port 3389
interface *
server 211.xxx.xxx.12:3389

 

주의) server 0.0.0.0:80 이런식으로 0.0.0.0 으로 하는 순간 아래와 같이 루프에 빠질수 있음

 

tcp        0      0 127.0.0.1:33612             127.0.0.1:80                TIME_WAIT   -
tcp        0      0 127.0.0.1:46174             127.0.0.1:80                TIME_WAIT   -
tcp        0      0 127.0.0.1:52993             127.0.0.1:80                TIME_WAIT   -
tcp        0      0 127.0.0.1:47917             127.0.0.1:80                TIME_WAIT   -
 

 

실행

tcpproxy

 

중지

pkill -9 tcpproxy

 

 

squid 패킷은 아래와 같은 정보가 있어 PROXY 주소가 아닌 원 패킷 출처 (클라이언트 주소) 표기 가능 (소스 수정, 기타 모듈 사용)

 

Via: 1.1 proxy.도메인:80 (squid)

X-Forwarded-For: 211.xxx.xxx.12

 

tcpproxy 는 위 정보가 없으며 패킷형태는 아래와 같이 처리했을때와 동일하며 소스아이피 복호화 할때 안될 가능성 많음

어플리케이션이 주소수집 및 IP 기반으로 동작하는 방식이면 tcpproxy 는 사용하지 않는게 좋음

 

 - iptables NAT 모듈을 이용해서 포워딩 했을시 클라이언트 브라우져 접근시

 - 프록시 장비 및 방화벽 없이 서버에 클라이언트가 직접 브라우져 접속했을시 (소스아이피만 틀림)

 

 

※ 공격방어

iptables NAT FORWARD는 SYN 패킷까지 리얼서버 주소 변환을 해서 그대로 전달하므로 SYN 공격 차단 불가

 

TCPPROXY는 SYN 패킷을 받으면 그 클라이언트와 리얼 웹서버 대신 맺고 어플리케이션단의 HTTP 헤더 요청이 없으면

패킷을 리얼 웹 서버에 넘기지 않음

'Linux' 카테고리의 다른 글

리눅스 하드웨어 및 시스템 정보 확인 명령어  (0) 2015.06.04
mod_rpaf (proxy 관련 apache module)  (0) 2015.06.03
apache-tomcat 설치  (0) 2015.06.03
about GRUB (Grand Unified Bootloade)  (0) 2015.05.27
Weburl 설치  (0) 2015.05.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함