출처. http://www.cisco.com/public/news_training/itsnews/tech/readertips/200801.html

cisco에 Type-7인코딩 암호를 해독할때 자바스크립트로 제공해주는 웹페이지들을 많이 이용을 했는데 장비 자체의 config모드에서 이 암호를 해독하는 방법이 있다고 하는군요. config파일을 외부로 노출해야 하는 경우에는 반드시 이 암호를 날라고 내보내야 할것 같읍니다.

Router (config) #key chain LIGHT

Router (config-keychain) #key 718

Router (config-keychain-key) #key-string 7 11192616193C233850012E3D2B2725711D

Router (config-keychain-key) #do show key chain LIGHT Key-chain decrypt:

    key 1 -- text "decrypted_password"

        accept lifetime (always valid) - (always valid) [valid now]

        send lifetime (always valid) - (always valid) [valid now]

Posted by salgunamu
:

내부에 자체 DNS서버를 운영하는 기관에서는 Malware를 배포하는 도메인을 아래와 같은 방법으로 차단을 하여 Malware의 피해를 줄이는 방법이 있군..
기본적인 이론은 Malware를 배포하는 해당 도메인을 기관의 DNS서버에서 master인것처럼 동작을 시켜서 사용자들에게 다른 아이피를 보내주어서 특정한 곳으로  리다이렉션을 시키는 등의 작업을 할 수 있다고 함.

우선 아래와 같이 zone파일을 만들고...
blockeddomains.zone.dns file:

  ; BIND db file for ad servers - point all addresses to localhost
  ;
  ; Originally for use with the list of ad server hostnames at:
  ;
  ;       http://pgl.yoyo.org/adservers/
  ;
  ;  - pgl@yoyo.org

  $TTL    86400   ; one day

  @       IN      SOA     ns0.example.net.
  hostmaster.example.net. (
                          2004061000       ; serial number YYMMDDNN
                          28800   ; refresh  8 hours
                          7200    ; retry    2 hours
                          864000  ; expire  10 days
                          86400 ) ; min ttl  1 day
                  NS      ns0.example.net.
                  NS      ns1.example.net.

                  A       127.0.0.1

  *               IN      A       127.0.0.1


만들어진 zone파일을 참조하도록 named.conf에 항목을 넣어주면 된다.
zone "coolwebsearch.com" { type master; file  "/etc/namedb/blockeddomains.zone.dns"; };

참고: http://www.malwaredomains.com/bhdns.html

Posted by salgunamu
:

Apache TRACE method disable

network 2008. 1. 8. 13:58 |

웹취약성 검사를 하면 apache의 TRACE method는 disable하라는 권고사항이 많이 나온다. 이 method를 시험하는 것은 아래와 같이 하고...
telnet www 80
TRACE / HTTP/1.0
Host:aaa
A:b
C:d
엔터.
[result code 200으로 성공하면서 위의 내용이 다시 출력된다]

apache의 config파일에 아래와 같은 rewrite룰을 생성하여 TRACE method를 disable할 수 있다. 하지만 apache에 rewrite module이 먼저 올라가야한다.
# disable TRACE in the main scope of httpd.conf
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
위와같이 설정하고 다시 시험을 했을때 403 result code가 나오는것을 확인하면 된다.

Posted by salgunamu
:

[VOIP]network clock동기화

network 2007. 12. 3. 08:31 |

IPTelephony환경을 구축하면서 Cisco3845라우터를 통하여 PSTN에 E1라인을 연결하여 전화망을 이용하는 구축을 하였다. 전화사용은 문제가 없는데 FAX전송시에는 잘될때도 있고 안될때도 많이 발생하는 문제가 생겼다. 팩스전송에 문제가 발생할 때에는 글자가 물린다던지 몇장짜리 팩스가 도중에 에러가 발생한다던지...등등의 문제가 발생했다.
문서를 찾아보니 fax전송방식을 지정하는 것이 있다고 했는데 fax passthrough방식으로 이미 지정을 한 상태였다. 무엇이 문제일까???
여러날을 고민하면서 문서를 찾아보다가 TAC상에서 slip error라는 실마리를 찾게되었다.
아래와 같이 E1컨트롤러의 상태를 보았을때
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } -->

Router#show controller e1 0/0

E1 0/0 is up.

Applique type is Channelized E1 - balanced

No alarms detected.

alarm-trigger is not set

Version info Firmware: 20020812, FPGA: 11

Framing is CRC4, Line Code is HDB3, Clock Source is Line.

Data in current interval (97 seconds elapsed):

0 Line Code Violations, 0 Path Code Violations

4 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins

4 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs

Total Data (last 14 15 minute intervals):

1 Line Code Violations, 4 Path Code Violations,

425 Slip Secs, 0 Fr Loss Secs, 1 Line Err Secs, 0 Degraded Mins,

427 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs

slips에러가 발생하면 전화통화는 문제가 되지 않는데 fax전송상에는 문제가 발생한다는 내용의 글이 많이 올라왔다. 이 에러의 요인은 digital clock의 동기화가 제대로 되지 않아서 발생하는 문제라고 한다.

그럼, 서비스제공업체와 어떻게 동기화를 맟추지????

항상 다른곳과 동기화를 맞추는 작업은 힘든부분이다... 더군다나 우리쪽의 내용이 완전히 파악되지 않는 경우에는 더 힘든작업인것 같다. 서비스제공업체측과 통화를 해보니 그쪽에서는 무조건 동기화 클럭을 제공하게되어 있으므로 우리쪽에서 받도록 지정을 하면 된다고 한다. 어허...
그런데 한가지 이상한점은 다른곳에서 이와 동일한 방식으로 구성을 할때 E1컨트롤러가 설치된 모듈에 대해서
no network-clock-participate slot 3을 적용해서 연결을 했는데, 현재 설치하는 곳에서는 앞의 명령으로 모듈의 클럭동기화를 뺴면 모든 채널들이 blocking이 되버리는 증상이 발생하였다. 따라서, network-clock-participate slot 3 이 명령이 반드시 들어가야 했다. 문서를 찾아보니 클럭동기화에 모듈을 참여하도록 해야한다고 되어있던데....다른곳은 왜그런거지???
이 명령이 들어가면 controller상태에서 clock이 backplane에서 복귀되는 것을 확인할 수 있다.
Router#show controllers e1
E1 3/0 is up.
  Applique type is Channelized E1 - balanced
  No alarms detected.
  alarm-trigger is not set
  Version info Firmware: 20070321, FPGA: 255, spm_count = 0
  Framing is NO-CRC4, Line Code is HDB3, Clock Source is Line.
  Current port master clock:recovered from backplane
이 상태에서는 slip error가 계속적으로 발생하였다.
명령어 상에 network-clock을 모듈에서 받도록 하는 명령이 있어서 지정을 하였다.
network-clock-participate slot 3
network-clock-select 1 E1 3/0
위와 같이 지정을 하더라도 controller의 상태에는 여전히 backplane에서 복귀되는 것으로 나타났다. 하지만, 실제적으로 우선순위에 의하여 모듈에서 동기화를 먼저하여 slip error가 없어졌다. controller상태에서 모듈로 변경되지 않아서 명령이 적용안되는 줄로 알고 계속해서 다른것을 찾아봤지만, 실제적으로 아래의 명령의 결과에서 볼 수 있듯이 우선순위에 의하여 클럭 동기화가 되었다.
Router#show network-clocks
  Network Clock Configuration
  ---------------------------
  Priority      Clock Source    Clock State     Clock Type

     1          E1 3/0          GOOD            E1         
    11          Backplane       GOOD            PLL       

  Current Primary Clock Source
  ---------------------------
  Priority      Clock Source    Clock State     Clock Type

     1          E1 3/0          GOOD            E1        

Posted by salgunamu
:

-출처 : http://www.i-hack.org/computer/internet/search-google-like-an-expert.html

1. 정확한 문구를 따옴표로 묶어준다.
"Learning Perl"
2. 포함하고 싶지 않은 단어는 -기호를 붙인다.
"Learning Perl" -advertising
3. 특정사이트에서만 검색을 원하는가?
"Learning Perl" site:blogger.com
4. 유사단어의 검색도 원하면 ~기호를 사용한다.
"Learning Perl" ~network
5. 파일타입만을 골라서 검색하자.
"Learning Perl" filetype:pdf
6. 구글은 검색어창에 입력한 모든 단어를 포함하는 검색을 한다. 단어중에 하나만이라도 포함한 검색을 원하면 OR연산을 사용
Learning Perl OR pdf
7. 전화번호검색??
phonebook:111-111-111
8. Area Code검색. 3자리 지역코드라고 하는데 ...
617
9. 숫자범위
president 1940..1950
10. 주식
11. 계산기
3.14 * 0.3
12. 단어정의 검색
define:multilayer
13. URL에 특정 단어가 있는지를 검색할때.
site:www.digg.com inurl:doc

Posted by salgunamu
:

VOIP를 설정하다보면 DHCP서버에 TFTP서버옵션을 지정하게 되어있다.
Cisco라우터에서는
option 150 ip 10.10.10.10
이렇게 지정하면 되는데.....

ISC DHCP서버에서는 한참을 헤매다가 찾았다....
dhcpd.conf에서...
option tftp-server-name "10.10.10.10";

이렇게 지정을 하면된다.

Posted by salgunamu
:

Cacti를 운영하면서 그래프를 볼때 Avaya장비의 그래프에는 Title이 기본으로 ifindex로 나타나기 때문에 이 그래프가 실제적으로 어떤 포트의 그래프인지를 판단하기가 어렵다. 그래서 그래프의 Title을 ifindex가 아닌 인터페이스의 설명으로 표현하여 그래프의 타이틀에 포트정보가 나타나도록 지정이 가능하다.
1. Console --> Graph Template --> Interface - Traffic(bits/sec)를 선택하고 명령에 Duplicate를 선택하여 복사본 템플릿을 하나 만든다. Interface - Traffic(bits/sec)(1)
2. 만들어진 복사본 템플릿에서 Graph Template섹션의 Title의 값을 |query_ifDescr| 로 변경하고 "Use Per-Graph Value"의 체크를 해제한다.
3. Graph Management에서 해당되는 장비를 선택하고 나타나는 모든 그래프를 선택한후에 명령에서 "Change Graph Template"를 선택하고 새로 만든 복사본 Interface - Traffic(bits/sec)(1)를 선택한다.
4. Graph Management에서 해당되는 장비를 선택하고 나타나는 모든 그래프를 선택한후에 명령에서 "Reapply Suggested Names"를 선택해서 변경한 템플릿을 적용한다.
5. 그래프에서 바뀐 정보를 확인한다.

Posted by salgunamu
:

Zimbra를 설치하고 나니 구글의 달력을 Zimbra에서 봤으면 하는 생각이 들었다. 이러한 방법을 올려주는 사람들이 있군요...
1. Zimbra달력기능에서 원격 ical를 가지는 새로운 달력을 생성한다.
2. 'synchronize appointments from remote calendar'를 선택
3. 구글달력에서 비공개주소 ical를 선택하여 넣어준다.
달력동기화 완료...

Posted by salgunamu
:

1. PC나 서버가 동작중인지 확인하는 기본적인 툴 ping, fping

fping 구할 곳 http://www.fping.com/

ICMP 프로토콜의 echo request, reply type을 사용하여 지정한 시스템의
응답을 확인한다.
요즘은 방화벽이나 서버에서 필터링하는 경우가 상당하므로 ping이 안된다고
해당 서버가 죽었다고 생각해서는 안됨

fping은 ping과 같으나 한번의 명령으로 여러 서버의 응답을 확인할 수 있다.

ping
fping

fping 192.168.1.1 192.168.1.5
fping -g 192.168.123.0/24
fping < 파일명 : 지정한 파일명에 나열된 IP에 모두 ping을 함

# fping 192.168.1.1 192.168.1.5 192.168.1.10 192.168.1.30
192.168.1.1 is alive
192.168.1.5 is alive
192.168.1.10 is alive
192.168.1.30 is unreachable

2. 라우팅 경로를 찾는 traceroute, tracepath

traceroute 를 위해서는 ICMP type 11(time-execeeded) 가 필터링되어서는 안됨

1) ICMP 대신 UDP를 사용하려면

traceroute -I 또는
tracepath

2) TCP를 사용하는 traceroute 툴, lft와 tcptraceroute

lft : http://www.mainnerve.com/lft/
tcptraceroute : http://michael.toren.net/code/tcptraceroute/

lft

# lft -d 80 lug.or.kr (해당 사이트가 80포트가 열린 경우 이용)

Tracing ___________________________.

TTL LFT trace to 211.214.161.175:80/tcp
1 192.168.123.254 1.4ms
... 중략 ...
9 211.58.252.150 23.2ms
10 211.108.63.222 21.2ms
11 218.38.58.22 20.6ms
12 [target] 211.214.161.175:80 75.9ms

lft에서 네트워크명, AS번호까지 표시하도록 하려면 -N옵션을 사용하면 된다.

# lft -N -d 80 lug.or.kr

Tracing ____________________________________________________________________

LFT can't seem to round-trip. Local packet filter in the way?

TTL LFT trace to 211.214.161.175:80/tcp
1 [IANA-CBLK1] 192.168.123.254 13.2ms
... 중략 ...
9 [APNIC-CIDR-BLK2/HANANET-DONGJAK-KR] 211.58.252.150 24.2ms
10 [APNIC-CIDR-BLK2/WULSANSO-KR] 211.108.63.222 25.0ms
11 [APNIC4/HANANET-IDC-NGENE-KR] 218.38.58.22 39.4ms
** [80/tcp failed] Try alternate options or use -V to see packets.

3. 네트워크 상태확인하는 netstat

자주 사용하는 옵션 (워낙 옵션을 조합해서 자주 사용하므로 정리할 필요 있음)

-n : 호스트명, 포트명을 lookup하지 않고 그대로 IP, Port번호로 보여준다.
-a : 모든 네트웍 상태(listening, non-listening)를 보여준다.
-t : TCP 프로토콜만
-u : UDP 프로토콜만
-p : 해당 포트를 사용하는 프로그램과 프로세스ID(PID)를 보여줌
(솔라리스에서는 ARP 테이블을 보여줌)
-s : 프로토콜별(IP, ICMP, TCP, UDP 등)로 통계를 보여줌
-c : 1초 단위로 continuous하게 보여줌 (지속적인 접속 변화를 확인해야할 때 유용)
-r : 라우팅 테이블을 보여줌. route 명령처럼

netstat -nlp Listening(l)중인 포트/소켓을 해당 PID와 프로세스명과 함께
netstat -tn TCP 접속 상태
netstat -un UDP 접속 상태
netstat -rn routing 테이블
netstat -ntp TCP 접속 상태를 해당 PID와 프로세스명과 함께
netstat -atnp 모든 TCP 접속상태를 해당 PID와 프로세스명과 함께
netstat -s 통계
netstat -c -t TCP 접속을 continuous 하게 보여줌

# netstat -atnp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:515 0.0.0.0:* LISTEN 671/lpd Waiting
tcp 0 0 127.0.0.1:3333 0.0.0.0:* LISTEN 738/avmilter
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 720/mysqld
... 생략 ...

4. fuser : 파일이나 소켓을 사용하는 프로세스 ID를 보여줌

1) TCP 25(mail)포트를 사용하는 PID를 보여줌

# fuser -n tcp 25
mail/tcp: 757

2) http 포트를 사용하는 PID, USER, 명령어를 보여줌
(-vn을 -nv 처럼 사용해서는 안됨

# fuser -vn tcp http

USER PID ACCESS COMMAND
http/tcp root 1652 f.... httpd
root 1659 f.... httpd
... 생략 ...

3) /dev/hdb1 을 사용하는 사용자와 PID, 명령어
(umount해야할 때 사용중이라 나올 때 유용하게 쓰임)

# fuser -vm /dev/hdb1

USER PID ACCESS COMMAND
/dev/hdb1 truefeel 1669 f.... xmms
truefeel 1670 f.... xmms

5. 패킷 모니터링을 위한 트래픽 덤프 툴 tcpdump

1) eth0 인터페이스로 오고가는 트래픽 정보를 보여줌(-i eth0 옵션없으면 eth0임)

tcpdump

2) 192.128.1.1 host로 오고가는 또는 제외한 트래픽

tcpdump host 192.128.1.1
tcpdump src host 192.128.1.1
tcpdump dst host 192.128.1.1
tcpdump not host 192.128.1.1

3) 192.128.1.1과 192.128.1.2 사이를 오고가는 트래픽만

tcpdump host 192.128.1.1 and 192.128.1.2

4) ICMP, ARP, UDP 프로토콜만, ICMP 프로토콜 20개만

tcpdump icmp -i eth0
tcpdump arp
tcpdump udp
tcpdump icmp -c 20

5) 웹 포트로 오고가는 패킷만

tcpdump port 80

6) dhcp 패킷 확인할 때

# tcpdump -v -s 1500 port 67 or port 68
tcpdump: listening on eth0
01:17:16.803166 0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok]
xid:0x29b28363 vend-rfc1048 DHCP:REQUEST RQ:truefeel
PR:SM+BR+TZ+DG+DN+NS+HN+YD+YS+NTP [tos 0x10] (ttl 16, id 0, len 328)
01:17:16.806441 192.168.1.254.bootps > 255.255.255.255.bootpc:
... 생략 ...

6. 도메인 네임 찾기 dig, nslookup
워낙 다양한 사용법이 있으므로 기본적인 사용과 유용한 것 몇 개만

1) linux.or.kr 의 IP 확인

dig linux.or.k
nslookup linux.or.kr

2) SOA, MX 등의 레코드 확인

dig linux.or.kr soa
dig linux.or.kr mx

3) bind 네임서버 버전 확인

dig @네임서버 txt chaos version.bind
nslookup -q=txt -class=CHAOS version.bind. 네임서버

4) 존파일 transfer
(존파일 전송을 허용한 경우 해당 도메인의 모든 목록을 얻을 수 있다.)

dig @네임서버 도메인명 axfr

# dig @ns.daum.net daum.net axfr

; <> DiG 9.2.1 <> @ns.daum.net daum.net axfr
;; global options: printcmd
daum.net. 86400 IN SOA ns.daum.net.
hostmaster.daum.net. 2003082602 2700 900 604800 86400
daum.net. 86400 IN NS ns.daum.net.
daum.net. 86400 IN NS ns2.daum.net.
daum.net. 86400 IN MX 10 mx1.hanmail.net.
daum.net. 86400 IN MX 10 mx2.hanmail.net.
daum.net. 86400 IN MX 10 mx3.hanmail.net.
... 생략 ...

7. 웹서버 benchmark 할 때 유용한 lynx, ab

1) time lynx -source localhost > /dev/null
2) ab -n 10 localhost/ 10회 반복해서 요청
ab -n 10 -c 10 loclahost/ 10회 반복, 10건이 동시 접속일 때

8. 도메인 whois 검색하는 fwhois, whois -h

whois.krnic.net 서버에 linux.or.kr 에 대해 whois 검색 요청

fwhois linux.or.kr@whois.krnic.net
whois linux.or.kr -h whois.krnic.net

9. 웹서버 종류 확인

1) telnet 이용

# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Tue, 20 May 2003 12:48:08 GMT
Server: Apache/2.0.44 (Unix) DAV/2 PHP/4.3.1
... 생략 ...

2) HEAD, GET 이용 (perl libwww 모듈에 포함된 툴임)

# HEAD localhost
200 OK
Date: Tue, 20 May 2003 12:51:13 GMT
Accept-Ranges: bytes
Server: Apache/2.0.44 (Unix) DAV/2 PHP/4.3.1
... 생략 ...

3) apachebench 툴 ab 이용

# /usr/local/apache/bin/ab localhost/
... 생략 ...
Server Software: Apache/2.0.44
Server Hostname: localhost
... 생략 ...

4) netcat(nc)를 이용 (레드햇 8.x에서 기본 설치됨)

nc : http://www.atstake.com/research/tools/network_utilities/

# echo "HEAD / HTTP/1.0"|nc localhost 80
HTTP/1.1 200 OK
Date: Sun, 21 Sep 2003 20:00:57 GMT
Server: Apache/2.0.44 (Unix) DAV/2 PHP/4.3.2
... 생략 ...

10. 솔라리스에서 패킷 모니터링

snoop
snoop port 53

11. 솔라리스에서 회선이 연결됐는지 확인하는 방법

while 1
? ndd -get /dev/hme link_status
? sleep 1
? end

-- 출처: http://coffeenix.net/(^^감사합니다)

Posted by salgunamu
:

RS-232 케이블 pinout

network 2007. 2. 12. 01:25 |

사용자 삽입 이미지

Posted by salgunamu
: