IP로 위치 확인 (국가)

리눅스/Network|2015. 1. 26. 17:43
반응형

국내 IP 검색 : http://ipwhois.nic.or.kr
해외 IP 검색 : http://wq.apnic.net 

위치(지도)까지 검색 : http://www.ip-adress.com/ip_tracer/

반응형

댓글()

마스커레이드(게이트웨이) 서버에서 포트 포워딩

리눅스/Network|2015. 1. 26. 17:43
반응형

[명령어]
[root@sysdocu ~]# iptables -t nat -A PREROUTING -p tcp --dport (원하는포트A) -j DNAT --to 192.x.x.x(원하는 내부IP):port

[실 사용예]
[root@sysdocu ~]# iptables -t nat -A PREROUTING -p tcp --dport 777 -j DNAT --to 192.168.0.12:888
외부에서 Gateway서버의 777 port로 들어오면 Gateway서버는 사설IP 192.168.0.12의 888 port로 연결해준다.

-----------------------------------------------------------------------

=> 포워딩이 안되면 다음을 실행 (마스커레이드 서버로 사용하는 방법)
[root@sysdocu ~]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

반응형

'리눅스 > Network' 카테고리의 다른 글

[우분투] ip 설정하기  (0) 2015.01.26
IP로 위치 확인 (국가)  (0) 2015.01.26
마스커레이드(게이트웨이) 서버 만들기 - IP공유  (0) 2015.01.26
telnet 에서 빠져 나오는 방법  (0) 2015.01.26
nmap 사용법  (0) 2015.01.26

댓글()

마스커레이드(게이트웨이) 서버 만들기 - IP공유

리눅스/Network|2015. 1. 26. 17:43
반응형

게이트웨이 서버를 구성할때 사용. (서버 및 IP공유 기능)

[형태]
eth0은 공인IP, eth1은 스위치로 연결이 되어있어야 합니다.
[모뎀] -----LAN cable---- [eth0 게이트웨이 서버 eth1] ----LAN cable---- [스위치] ----LAN cable---- [Clients] 


[명령어]
게이트웨이 서버에서 실행
[root@sysdocu ~]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

반응형

댓글()

telnet 에서 빠져 나오는 방법

리눅스/Network|2015. 1. 26. 17:43
반응형

# telnet localhost 139
Trying 127.0.0.1...
Connected to sysdocu.com (127.0.0.1).
Escape character is '^]'.

상태에서 빠져나오지 못할때..

ctrl + ] 키를 누른 후, (대괄호 닫기 기호)
ctrl + d 를 누르거나 quit 명령으로 빠져 나온다.

반응형

댓글()

nmap 사용법

리눅스/Network|2015. 1. 26. 17:42
반응형

NMAP 사용법

형식 
 $ nmap [스캔유형] [옵션] < 호스트 또는 네트워크>

1. 주요 스캔 유형

-sT : TCP 연결을 사용한 포트를 스캔 한다.
-sS : TCP 헤더의 SYN 비트를 이용한 스텔스포트 스캔 기법에 사용한다 루트 권한으로 실행되야됨
-sF : FIN을 이용한 스텔스 기법에 이용한다
-sP : ping을 이용한 스캔으로 ping명령을 사용하여 해당 호스트가 살아 있는지 만 확인한다
-sU : UDP포트를 스캔한다 루트권한으로 실행되어야 한다
-b : ftp바운스 공격을 위한 포트스캔이다

2. 주요 옵션 설명(옵션은 여러개를 결합해서 사용한다)

-f      :패킷을 조그마하게 나누어서(fragment)사용한다
-PT     :TCP ping을 사용하여 호스트가 살아 있는지 확인한다
          -PT21 21번 포트로 호스트가 살아있는지 확인한다
-PI     :ICMP를 사용하여 호스트가 살아있는지 확인한다
-D      :스캔을 당하는 호스트가 어디에서 진짜 스캔을 했는지 판단하기 힘들게 만드는 옵션으로
         -D다음에 다른 호스트 이름을 나열할 수 있으며 중간에 me를 표시하면 된다 이때 다른 
         호스트는 정상적인 호스트이여야 된다
-p n1-n2:  포트 지정범위(예:-p 20-30 포트 20번부터 30번까지)포트 스캔한다
 n1-  :포트 지정범위부터 포트 마지막까지 포트스캔한다(예:-p 30- )포트번호 30번부터
         마지막 65535까지 스캔한다
-O      :운영체제 스캔 옵션이다
-F      :빠른 스캔 기법을 사용하라는 의미로 /etc/services에 있는 포트만 스캔한다

-n      :DNS 이름 풀기를하지 않는다
-o<logfile>  :스캔 결괄르 로그파일에 저장하라
-i<입력파일> :스캔할 호스트가 많을 경우 파일에 리스트를 저장하여 스캔한다
-g<portnum>: 소스포트번호 지정 20과 53을 추천
-S<IP주소> :SYN,FYN스캔시 소스어드레스 지정한다
-e<장치이름> :패킷을바로 장치이름으로 보낸다 예: eth0,ppp0
-V      :이 옵션은 verbose모드로 여러가지 정보를 얻을수있다.
-h      :도움말

  • 사용예>

# nmap -sP xxx.xxx.xxx.xxx 
 => -sP 옵션으로 대상호스트가 살아 있음을 알수 있다.

# nmap -sP -PT80 xxx.xxx.xxx.xxx
 => 특정 포트(80)를 검색

# nmap -sT xxx.xxx.xxx.xxx 
 => 지정된 포트가 아니라 대상호스트의 열린 포트를 모두 검색 
 대상 호스트의 열린 포트를 알수는 있지만 로그가 남으므로 위험.

# nmap -sS xxx.xxx.xxx.xxx 
 => 스텔스 스캔으로 감시를 피함

# nmap -sU localhost 
 => UDP port 스캔입니다. 시간이 많이 걸릴 수도 있다.

# nmap -sS -O xxx.xxx.xxx.xxx 
 => -O 옵션으로 운영체제를 알아볼수있다.

# nmap -v 203.247.xxx.xxx
       => 좀 더 자세하게 정보를 보여준다.

# nmap 203.xxx.50.0/24
       => 203.xxx.50.0 네트워크 전체를 스캔한다.

# nmap 192.168.1.100-150
       => 연속되어 있는 여러개의 호스트를 검색할 때는 대쉬(-)를 사용하면 된다. 즉 192.168.1.1
         00부터 192.168.1.150까지 스캔한다.

# nmap 192.168.0.5, 192.168.3.7
       => 연속되어 있는 않은 여러 개의 호스트를 검색할 때는 콤마(,)를 사용하면 된다.

# nmap  -p 1-30,110,62000- 203.xxx.xxx.11
       => 203.xxx.xxx.11 호스트의 1-30번 포트, 110번포트, 62000번 이상의 포트를 스캔한다.

# nmap -O 203.247.xxx.xxx
       => 해당 호스트의 포트스캔과 운영체제를 보여준다.

# nmap -sR -p 1-40000 192.168.10.100
       => 해당 호스트의 1~40000 포트에서 RPC포트를 찾아 보여준다.

# nmap -sU -PT 192.168.10.0/24
       => 192.168.10.0 네트워크의 호스트들을 TCP ACK패킷을 보내어 응답을 기다리고 열려진 UDP
         포트를 보여준다.


[출처]
 NMAP 사용법|작성자 남잔직진


반응형

댓글()

특정 ip에 대해 모든 port 오픈

리눅스/Network|2015. 1. 26. 17:42
반응형

iptables에 항목 추가

-A RH-Firewall-1-INPUT -s 192.168.10.2 -j ACCEPT

반응형

댓글()

mms 포트 및 RTSP 포트 개방

리눅스/Network|2015. 1. 26. 17:41
반응형

미디어 서버는 두 가지의 프로토콜을 사용합니다. 

RTSP,MMS
RTSP는 쉽게 설명드린다면 인터넷상에서 플레이 버튼을 누르고, 앞으로 감고, 뒤로 감고 등의 실시간 전송방식을 말합니다.

Microsoft Media Server, with TCP-based transport (MMST) 를 사용하신다면 
-> TCP port 1755 열어 줘야 합니다. 

Microsoft Media Server, with UDP-based transport (MMSU) 를 사용하신다면 
-> UDP port 1755 and TCP port 1755 열어 줘야 합니다. 

RTSPT 를 사용하신다면 
-> TCP port 554 열어 줘야 합니다. 

RTSPU 를 사용하신다면 
-> UDP port 5005, UDP port 5004, and TCP port 554 열어 줘야 합니다. 

Hypertext Transport Protocol (HTTP) 를 사용하신다면 
-> TCP port 80 

Hypertext Transport Secure Protocol (HTTPS) 를 사용하신다면 
->TCP port 443 열어 줘야 합니다.

인터넷 서비스 용도라면 554 포트 열어주셨야죠...


[출처] 유지현 http://www.wssplex.net/QnA/Server.aspx?No=990

반응형

댓글()

mrtg 설치 (트래픽 정보)

리눅스/Network|2015. 1. 26. 17:41
반응형

mrtg 설치

1. 설치

1) mrtg 를 설치, 사용하기 위하여 아래의 두가지 패키지를 설치해야 합니다.

(1) net-snmp
(2) mrtg

※ 여기서는 아래의 버전을 사용했습니다.
net-snmp-libs-5.1.2-11.el4_6.11.3
net-snmp-5.1.2-11.el4_6.11.3
mrtg-2.10.15-2a


2) rpm 으로 확인하여 설치가 되지 않은 상태이면 yum 을 이용하여 쉽게 설치를 할 수 있습니다.

# yum -y install net-snmp
# yum -y install mrtg


2. 설정

1) mrtg.conf (꼭 파일명이 지정된것은 아닙니다.) 파일이 존재할 디렉토리를 만들어 줍니다.

# mkdir -p /home/sysdocu/public_html/mrtg/cfg


2) mrtg.conf 생성

# cfgmaker --global 'WorkDir: /home/sysdocu/public_html/mrtg' --global 'Options[_]: bits,growright' --output /home/sysdocu/public_html/mrtg/cfg/mrtg.cfg public@192.168.10.2


3) snmp 설정

# vi /etc/snmp/snmpd.conf
파일을 열고 아래 부분을 삽입, 주석처리합니다.
view    systemview    included   .1    // (55번째줄 삽입, 이하 같은 형식의 두줄 주석처리)


4) mrtg index 파일 생성

# indexmaker --title "SYSDOCU MRTG" --output /home/sysdocu/public_html/mrtg/index.html /home/sysdocu/public_html/mrtg/cfg/mrtg.cfg


5) mrtg 설정파일 수정

# vi /home/sysdocu/public_html/mrtg/cfg/mrtg.cfg
파일을 열고 아래 부분을 추가합니다.
language:korean    // (아무 행에나 본 행을 추가 - 그래프 설명을 한글로 보기 위함)


6) crontab 에 등록하여 그래프를 수시로(5분마다) 갱신 할수 있도록 합니다.

# crontab -e

*/5 * * * * /usr/bin/mrtg /home/sysdocu/public_html/mrtg/cfg/mrtg.cfg --logging /var/log/mrtg.log


7) snmp 를 실행합니다.

# /etc/init.d/snmpd start


3. 확인

1) 웹브라우저에서 http://sysdocu.com/mrtg 를 입력후, 트래픽 정보를 확인합니다.


만약 트래픽 그래프나 하단의 png 이미지 파일들이 표시되지 않는다면 (엑박) 이미지 파일은 별도로 복사해줍니다.

# cp -arp /var/www/mrtg/* /home/sysdocu/public_html/mrtg/


※ virtualhost 를 이용하여 http://mrtg.sysdocu.com 등으로 주소를 변경할 수 있습니다.

반응형

댓글()

보안을 위한 /etc/sysctl.conf 파일 수정 (syn공격 차단 외)

리눅스/Network|2015. 1. 26. 17:41
반응형

 1. 리눅스 커널/네트워크 매개변수 설정

 

 1) /etc/sysctl.conf 파일 수정

 

vi /etc/sysctl.conf  -> 마지막줄부터 아래 내용 추가

 

 

################### 복사 시작 ####################

 

# icmp redirects를 보내지 않는다.

 

net.ipv4.conf.eth0.accept_redirects=0

 

net.ipv4.conf.lo.accept_redirects=0

 

net.ipv4.conf.default.accept_redirects=0

 

net.ipv4.conf.all.accept_redirects=0

 

net.ipv4.conf.eth0.send_redirects = 0

 

net.ipv4.conf.lo.send_redirects = 0

 

net.ipv4.conf.default.send_redirects = 0

 

net.ipv4.conf.all.send_redirects = 0

 

# proxy arp를 설정하지 않는다.

 

net.ipv4.conf.eth0.proxy_arp=0

 

net.ipv4.conf.lo.proxy_arp=0

 

net.ipv4.conf.default.proxy_arp=0

 

net.ipv4.conf.all.proxy_arp=0

 

# 게이트웨이로부터의 redirect를 허용하지 않음으로써 스푸핑을 막기 위해 설정한다.

 

net.ipv4.conf.eth0.secure_redirects=0

 

net.ipv4.conf.lo.secure_redirects=0

 

net.ipv4.conf.default.secure_redirects=0

 

net.ipv4.conf.all.secure_redirects=0

 

# 스푸핑을 막기 위해 source route 패킷을 허용하지 않는다.

# 소스 라우팅을 허용할 경우 악의적인 공격자가 IP 소스 라우팅을 사용해서 목적지의

# 경로를 지정할 수도 있고, 원래 위치로 돌아오는 경로도 지정할 수 있다. 이러한 소스 라우팅이 가능한 것을 이용해 공격자가 마치 신뢰받는 호스트나 클라이언트인 것처럼 위장할 수 있는 것이다.

 

net.ipv4.conf.eth0.accept_source_route=0

 

net.ipv4.conf.lo.accept_source_route=0

 

net.ipv4.conf.default.accept_source_route=0

 

net.ipv4.conf.all.accept_source_route=0

 

# Broadcast로부터 오는 핑을 차단함(Smurt 공격을 차단함).

 

net.ipv4.icmp_echo_ignore_broadcasts=1

 

# IP  TCP 헤더가 깨진 bad icmp packet을 무시한다.

 

net.ipv4.icmp_ignore_bogus_error_responses = 1

 

# 자신의 네트워크가 스푸핑된 공격지의 소스로 쓰이는 것을 차단한다.

 

# 모든 인터페이스에서 들어오는 패킷에 대해 reply를 하여 들어오는 인터페이스로 나가지 못하는 패킷을 거부한다.

 

net.ipv4.conf.eth0.rp_filter=2

 

net.ipv4.conf.lo.rp_filter=2

 

net.ipv4.conf.default.rp_filter=2

 

net.ipv4.conf.all.rp_filter=2

 

# bootp 패킷을 허용하지 않는다.

 

net.ipv4.conf.eth0.bootp_relay=0

 

net.ipv4.conf.lo.bootp_relay=0

 

net.ipv4.conf.default.bootp_relay=0

 

net.ipv4.conf.all.bootp_relay=0

 

# 스푸핑된 패킷이나 소스라우팅, Redirect 패킷에 대해 로그파일에 정보를 남긴다.

 

net.ipv4.conf.eth0.log_martians=1

 

net.ipv4.conf.lo.log_martians=1

 

net.ipv4.conf.default.log_martians=1

 

net.ipv4.conf.all.log_martians=1

 

# 1/100초에 받아들이는 igmp "memberships"의 수

 

net.ipv4.igmp_max_memberships=1

 

# 매우 복잡한 사이트에서는 이 값을 늘리는 것도 가능하지만 64로 두는 것이 적당하며

 

# 더 늘렸을 경우에는 큰 문제가 발생할 수도 있다.

 

net.ipv4.ip_default_ttl=64

 

# 게이트웨이 서버가 아닌 이상 패킷을 포워딩 할 필요는 없다.

 

net.ipv4.ip_forward=0

 

# fragmented packet이 메모리에 존재하는 시간을 15초로 설정한다.

 

net.ipv4.ipfrag_time=15

 

# SYN_Flooding 공격에 대한 대비로 백로그큐(Backlog Queue)가 가득차면 다른 접속 요구를 받아들이지 못한다.

 

net.ipv4.tcp_max_syn_backlog = 1024

 

# TCP 연결에서 Three-way Handshake가 성공적으로 이루어지지 않으면 더 이상 소스 경로를 거슬러 올라가지 않도록한다.

# 따라서 적절한 연결 요청에 대해서만 연결을 맺는다.

# syncookies가 작동할 때 SYN Flooding 공격이 있으면 messages 파일에 아래와 같은 내용이 출력된다.

# possible SYN flooding on port 80. Sending cookies.

 

net.ipv4.tcp_syncookies = 1

 

# 일정한 시간과 IP별로 보내고 받는 SYN 재시도 횟수를 3회로 제한한다.

# 이 옵션은 스푸핑된(위조된) 주소로 오는 SYN 연결의 양을 줄여준다.

# 기본 값은 5(180 초에 대응)이며 255를 넘지 않아야 한다.

 

net.ipv4.tcp_syn_retries = 3

 

# passive TCP 접속시도가 재접속을 하기 위한 SYNACKs의 값을 정한다. 255 보다 높

# 게 지정할 수 없다. 기본값은 5이며, 180초에 대응이 된다.

 

net.ipv4.tcp_synack_retries = 3

 

# 무언가 문제가 있을 때 연결을 위해 재시도 할 횟수, 최소 값과 기본 값은 3이다.

 

net.ipv4.tcp_retries1=3

 

# TCP 연결을 끊기 전에 재시도할 횟수.

 

net.ipv4.tcp_retries2=7

 

# 연결을 종료시 소요되는 시간을 줄여준다(기본 설정값: 60).

 

net.ipv4.tcp_fin_timeout=20

 

# 동시에 유지 가능한 timewait 소켓의 수이다.

# 만약 지정된 숫자를 초과하였을 경우에는 timewait 소켓이 없어지며 경고 메시지가 출력된다.

# 이 제한은 단순한 DoS 공격을 차단하기 위해 존재하는데, 임의로 이 값을 줄여서는 안되며

# 메모리가 충분하다면 적절하게 늘려주는 것이 좋은데, 64M 마다 180000으로 설정하면 된다.

# 따라서 256M일 경우에는 256/4=4 4*180000=720000

 

# 64M -> 180000

 

# 128M -> 360000

 

# 256M -> 720000

 

# 512M -> 1440000

 

# 1G -> 2880000

 

# 2G -> 5760000

 

#net.ipv4.tcp_max_tw_buckets = 180000

 

# 연결이 끊어졌다고 판단할 때까지, 얼마나 keepalive probe 를 보낼지 결정. 기본값 9

 

# 간단한 DoS 공격을 막아준다.

 

net.ipv4.tcp_keepalive_probes=2

 

# keepalive 가 활성되 되어 있을 경우, 얼마나 자주 TCP  keepalive 메세지를 보

 

# 내게 할 것인지를 설정.

 

net.ipv4.tcp_keepalive_time=30

 

# keepalive_probes 를 보낼 간격을 정함. probe 를 보낸 후, probes * intvl 의 시

 

# 간이 지나도록 응답이 없으면 연결이 해제된 것으로 간주하게 됨. 기본 값의 사용

 

#  11 15초 동안 재시도를 하고 연결을 취소함. 값은 초단위

 

net.ipv4.tcp_keepalive_intvl = 10

 

# 서버 쪽에서 닫은 TCP 연결을 끊기 전에 확인하는 횟수를 정한다. 기본 값은 7 

 

# RTO 50 초에서 16 분 사이에 해당한다. 웹 서버가 운영 중 이라면 이 값을 줄여서

 

# 소켓 등이 귀한 리소스를 소비하지 않도록 할 수도 있다.

 

net.ipv4.tcp_orphan_retries = 2

 

# SYN 패킷을 전송한 후에 로스가 발생을 하여 ACK 를 일부 받지 못했을 경우, 선택

 

# 적으로 (selected) 받지못한 ACK 만 받도록 요청하는 것을 허락한다. 로스가 많은

 

# 네트워크에서는 상당히 중요한 역할을 한다.

 

net.ipv4.tcp_sack = 1


반응형

댓글()

iptables 로그 로그파일 제어 범위 설정

리눅스/Network|2015. 1. 26. 17:40
반응형

iptables -A [chain] -d 111.111.111.111 -j LOG --log-prefix "log title:"

처럼 명령해 주면.. [chain] 에서 정해준 출은 목적지 111.111.111.111 가는 패킷은 /var/log/syslogd 파일에
log title: 라고 시작하면서 로그를 생성해 준다.

주의할점은.. 위 LOG 명령전에 DROP 규칙이 있으면.. 먼저 DROP되므로 로그가 생성될수 없다.

그리고..

--dport 1:1024               1~1024 포트 제어
--dport ~ 1:1024            1~1024 포트 이외의것

-d 222.111.100.0/24  식으로 222.11.199.1 ~ 255까지 차단된다.
A.B.C.0/24 클래스별 제어
A.B.0.0/16 그 이상
A.0.0.0/8 그 이상 범위 IP제어


[출처] ㅎㅓ준 http://cafe.naver.com/worldbest/98

반응형

댓글()

특정 아이피만 ssh, ftp 접근 허용하게 하려면

리눅스/Network|2015. 1. 26. 17:40
반응형

외부에서 특정 데몬으로 접근을 제한하는 설정 방법은 여러가지가 있습니다.

 1. iptables
 2. 각 데몬의 설정파일
 3. pam (access.conf)
 4. hosts.deny 

이중 hosts.deny 로 특정 아이피에서만 ssh, vsftp 접근을 허용하려 한다면 아래와 같이 설정합니다.
설정 후 저장과 동시에 적용되니 주의하셔야 합니다.
telnet 등 원격 접속 가능한 또 다른 데몬을 띄운 후 작업하시기 바랍니다. 

# vi /etc/hosts.deny
sshd : All     EXCEPT 192.168.100.100
vsftpd : All     EXCEPT 192.168.100.100

반응형

댓글()