본문 바로가기

Computer Engineering/LINUX

LINUX#2

MRTG 화면

Inbound ? 내 서버 즉, 라우터 장비에 들어오는 정보들을 이야기 하는 것이다. '아프리카' 라우터 장비 GSR206 장비 => 박지성 경기하면 4GB Full => 하늘을 찌른다
=> 유저들이 나에게 들어오는 것을 이야기한다.

Outbound => 서버에서 나가는 패킷을 이야기 하는 것이다.

치솟다가 갑자기 다운되고 변형되었다가 하는 녹색 인바운드가 치솟았다는 것은 공격을 이야기 하는 것이다. DDoS 공격의 경우에도 인바운드가 하늘을 치솟게 된다. 라우터 장비에서 한계가 있는데 이 시간대 올라갔다는 것은 시간에 문제가 있는지 점검을 해야하는 것이다.
(! 데몬에 이상이 생겨도 DDoS 같이 나타날 수 도 있으니 모두 DDoS 라고 생각하지는 말자)

점검같은 경우 로그를 본다. 갑자기 내려갔다는 것은 장비에 문제가 생기거나 네트워크에 문제가 생긴 것이다. 갑자기 내려갔다는 것은 네트워크 단절 or 장비에 문제가 있는 것이다. 더 큰문제이다.

그래서 시간대에 무슨 문제가 있는지 깊게 생각을 하고 파악을 해서 다음에 그런 문제가 생기지 않도록 해야 하는 것이다.

개발자가 만든 CACTI
 => 네트워크 트래픽을 관측하는 용도로 사용하려고 한다.

MRTG 를 만들어보자!!

그림만 보면 답이없다.

02. RRDtool과 cacti-2.txt => 를 이용해서 파일을 설치하자.
중간에 \ 가 나오는 것은 줄이 끊겨서

■ [ cacti ] 웹그래픽 생성엔진

공식사이트 : http://www.cacti.net/

= Standalone 방식의 프로세스는 그냥 데몬명을 적어주면 된다.
즉, # ps - ef | grep 프로세스명 으로 찾으면 된다.

그런데 xinetd 슈퍼데온으로 구동되는 녀석은 프로세스명을 직접 찾아야한다
어디? /etc/xinetd.d/ 안에서 관련 파일을 보고 찾으면 되는 것이다.

이렇게 하는 방식을 TCP_wrapper 호스트기반제어방식 이라고 하는 거에요.

제어!!!
[실습01] Standalone 방식인 sshd 를 제어해보세요.

[실습02] xinetd 방식인 telnet 을 제어해보세요.

[참고] /etc/hosts.allow < - 허용할 녀석들을 정의하는 곳
/etc/host.deny < - 거부하고 싶은 녀석들을 정의하는 곳



= FINGER =

[root@localhost etc]# finger doom

Login: doom                             Name: leesangchul
Directory: /home/doom                   Shell: /bin/bash
Last login 토 10월 29 17:07 (KST) on pts/0 from 172.16.10.143
No mail.
No Plan.

[root@localhost etc]# finger -s doom
Login     Name          Tty      Idle  Login Time   Office     Office Phone
doom      leesangchul   pts/0       *  Oct 29 17:07 (172.16.10.143)

[root@localhost etc]# cd ~doom
[root@localhost doom]# vi .plan
[root@localhost doom]# finger -l doom
Login: doom                             Name: leesangchul
Directory: /home/doom                   Shell: /bin/bash
Last login 토 10월 29 17:07 (KST) on pts/0 from 172.16.10.143
No mail.
Plan:
Finger Test! U Know??                  => 이 부분이 vi .plan 에 적어놓은 글

[root@localhost doom]# yum install finger*
.
.
.
[root@localhost doom]# service xinetd restart
xinetd 를 정지 중:                                         [  OK  ]
xinetd (을)를 시작 중:                                     [  OK  ]

Finger 서비스 제거
1. 프로그램 제거
[root@localhost xinetd.d]# yum -y remove finger*

2. 관련 포트 제거
[root@localhost xinetd.d]# grep finger /etc/services
finger          79/tcp
finger          79/udp                       => 79번 포트를 사용하는 것을 확인 할 수 있다.
cfinger         2003/tcp                        # GNU Finger

3.명령어 제거 (이것까지는 하지말자!)
[root@localhost xinetd.d]# rm /usr/bin/finger


=TCP DUMP=

네트워크의 패킷을 출력해주는 프로그램

 - 3 way Hand-Shake -
 Sync -> Ack + Syn -> Ack
 보낸다                        받는다

= Process =
하나의 프로세스 같지만 연결되어 있는 것이 많다.

lsof 어떤 파일과 연결이 되어있는지 확인을 할 수 있다. 보안쪽으로도 아주 유용하게 사용하는 도구.

이상한 프로세서가 실행중이거나 수상한 포트가 열려있을때

[root@localhost tcpdump]# cat /proc/partitions
major minor  #blocks  name

   8     0   10485760 sda
   8     1     522081 sda1
   8     2    1052257 sda2
   8     3    7783492 sda3
   8     4          1 sda4
   8     5     514048 sda5
   8     6     200781 sda6
   8     7     200781 sda7
   8     8     200781 sda8
[root@localhost tcpdump]# lsof -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE NODE NAME
httpd    3367   root    3u  IPv6  10429       TCP *:http (LISTEN)
httpd   13574 nobody    3u  IPv6  10429       TCP *:http (LISTEN)
httpd   13575 nobody    3u  IPv6  10429       TCP *:http (LISTEN)
httpd   13576 nobody    3u  IPv6  10429       TCP *:http (LISTEN)
httpd   13577 nobody    3u  IPv6  10429       TCP *:http (LISTEN)
httpd   13578 nobody    3u  IPv6  10429       TCP *:http (LISTEN)

13574 와 관련된 Process  를 확인할 수 있다.

[root@localhost tcpdump]# lsof -p 13574
COMMAND   PID   USER   FD   TYPE DEVICE     SIZE    NODE NAME
httpd   13574 nobody  cwd    DIR    8,3     4096       2 /
httpd   13574 nobody  rtd    DIR    8,3     4096       2 /
.
.
.

httpd   13574 nobody    6w  FIFO    0,6            33794 pipe
httpd   13574 nobody    7w   REG    8,3    73219   98827 /usr/local/apache2/logs/access_log
=> 로그들이 연결되어 있는 것도 확인 할 수 있다.
httpd   13574 nobody    8r  0000   0,11        0   33795 eventpoll

엄청난 양의 데이터를 확인할 수 있다.

[예제 1-1] 어떤 따식(프로세서)이 어떤 포트를 사용하고 있는가?
[root@localhost ~]# lsof -i | more
[예제 1-2] 어떤 따식(프로세서)이 어떤 파일을 사용하고 있는가 ?
[root@localhost ~]# lsof [어떤 파일] // 예로 httpd라고 가정한다.
[예제 1-3] httpd에 억세스 하고 있는 모든 놈들을 보고 싶다.
[root@localhost ~]# lsof -c httpd
[예제 1-4] root 유저가 뭐하나?
[root@localhost ~]# lsof -u root
[예제 1-5] 누가 내 서버에 찝적꺼리지? ^_^;
[root@localhost ~]# lsof -i@localhost






'Computer Engineering > LINUX' 카테고리의 다른 글

LINUX#2  (0) 2011.11.05
LINUX#2 - Apache  (0) 2011.10.30
LINUX#2 -  (0) 2011.10.23
LINUX#2 - SAMBA  (0) 2011.10.22
LINUX#2  (0) 2011.10.16