티스토리 뷰
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
port 20
port 21
port 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
- HAProxy
- mariadb
- ssh
- softether
- Apache
- IPSEC
- pptp
- SSL
- kvm
- 베이어다이나믹
- iptables
- 리눅스
- galera
- OpenVPN
- centOS7
- centos8
- yum
- WAF
- ntp
- L2TP
- GeoIP
- 인증서
- glusterfs
- php
- mod_security
- MySQL
- virtualbox
- gitlab
- cURL
- NGINX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |