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 < - 허용할 녀석들을 정의하는 곳
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
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 |