728x90

[1,2교시 - 데이터베이스 구축 보안]

/ 데이터베이스 보안 테스트 계획서 및 케이스 작성

/ 데이터베이스 보안 접근제어 적용 테스트

/ 데이터베이스 보안 작업결재 적용 테스트

/ 결함 관리

 


 

[3,4,5교시 - 시스템 보안 운영]

snmp

- 네트워크 장비의 성능과 핵심 기능의 현 상태, 기능 정보를 수집하고 관리, 저장할 수 있는 프로토콜
- 관리자는 SNMP를 통해 수집한 정보를 바탕으로 네트워크 장비의 현재 기능 상태와 성능 정보, 장애 발생 부분을 확인하고 대처할 수 있다.
- 162/udp 사용
- Agent는 161/udp 사용
- Manager와 Agent간 SNMP 버전이 일치해야 한다.
참고링크2

/ snmp가 설치되어 있는지 확인
# rpm -qa | grep net-snmp

/ ps -ef 확인
# ps -ef | grep snmpd

/ netstat 확인
# netstat -antup | grep snmpd

- udp쪽에는 LISTEN이 붙지 않는다.

 

/ SNMP 통신방식(polling)
- 161/udp
- agent랑 Manager랑 왔다갔다하는것
- 폴링의 반대말의 인터럽트이다. 근데 snmp에서는 폴링의 반대말을 trap으로 사용한다.
- 정기적으로 신호를 주고 받는다.

/ SNMP 통신방식(trap)
- 162/udp
- Event Reporting
- agent가 Manager한테 일방적으로 전달
- 요청이 없어도 이벤트가 발생하면 내용을 전달한다.
- polling때문에 간섭이 생기지 않도록 trap을 이용한다.

/ 신호를 주고 받는 체계
- 4가지 신호체계라고 한다.
- GET : 매니저가 요청을 하면 에이전트의 정보를 긁어오는데 요청을 하는것
- GET Next : 정보를 받아오는 것
- SET : 관리자가 에이전트한테 세팅을 하는것
- Trap : 비정기적인 이슈가 발생했을때 관리자에게 이벤트를 전달하기 위한 신호

/ 설정파일 찾기
# rpm -qc net-snmp

/ 설정파일 수정
# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd_bk.conf : 복사
# vim snmpd.conf
- 크게 4부분으로 나뉘어져 있다.
- 문서구조를 어느정도 파악하는것이 필요하고, 실습에서는 63행을 넘어가지 않으니 유의하자.

 

/먼저 First
- com2sec : snmp 문법 중 일부. 항상 들어가 있어야 한다.
- sec name : 임의의 값. 이름
- source : 대역
- community : 문자열

- 밑에 복사해서 편집한다.
- sec name을 snmpsec준다. 
- source : 192.168.111.0/24로 대역을 준다.
- community : monday로 문자열을 준다.

 

/ Second
- 이것도 위에꺼 복사해서 써보겠다.
- 퍼스트에서 지정했던 보안이름을 넣어 그룹이름을 지정한다.

- groupName : snmpsecGroup (위에서 지정한 sec name에 Group을 붙임)
- securityName : snmpsec(위에서 지정한 sec name으로 지정)

 

/ Third
- snmp과 관련한 가상의 뷰를 만든다.
- 읽을 수 있는 권한을 주는 가상의 뷰를 만든다.

- name : all (모두 읽기로 권한을 주겠다.)
- subree : .1 (모든것..? 맨위에 값만 사용을 하겠다.)
- mask : 80(그 뒤의 것들은 80으로 덮어버려)

 

/ Finally

- group : snmpsecGroup (위에 지정한 그룹 이름으로 설정)
- read : all (모두 읽기로 함)
- write : none
- notif : none

 

- 전체 코드

####
# First, map the community name "public" into a "security name"

#       sec.name  source          community
com2sec notConfigUser   default                 public
com2sec snmpsec         192.168.111.0/24        monday

####
# Second, map the security name into a group name:

#       groupName      securityModel securityName
group   notConfigGroup  v1              notConfigUser
group   notConfigGroup  v2c             notConfigUser
group   snmpsecGroup    v2c             snmpsec

####
# Third, create a view for us to let the group have rights to:

# Make at least  snmpwalk -v 1 localhost -c public system fast again.
#       name           incl/excl     subtree         mask(optional)
view    systemview      included   .1.3.6.1.2.1.1
view    systemview      included   .1.3.6.1.2.1.25.1.1
view    all             included   .1                   80

####
# Finally, grant the group read-only access to the systemview view.

#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup  ""      any       noauth    exact  systemview   none none
access  snmpsecGroup    ""      any       noauth    exact  all          none none

- 수정 후 시스템을 재시작한다.
# systemctl restart snmpd
# systemctl status snmpd


/ 방화벽 열기
# firewall-config
- 런타임을 영구적으로 변경
- 지금 현재 리눅스 버전에서는 서비스가 안보인다.
- 해서 포트로 추가해야 한다.

- 작업 후 옵션에서 파이어월d 다시 불러오기
- firewall-cmd로 하는 코드는 아래와 같다.

firewall-cmd --permanent --add-port=161/udp

firewall-cmd --permanent --add-port=162/udp

firewall-cmd --reload 

firewall-cmd --list-all

 

/ snmp walk
- snmp utils를 설치하면서 같이 설치된 녀석
- 여기에서는 버전1을 사용한다고 했는데 우리는 버전2를 사용해야한다.
- 커뮤니티 스트링이 public으로 되어 있는데 우리는 monday로 지정했었다.

- 사용 명령어
# snmpwalk -v 2c 192.168.111.101 -c monday system
- 버전은 2c를 많이 쓴다. (3은 호환이 안된다.)
- 101 아이피는 111.0/24대역에 포함이 된다.
- 커뮤니티 스트링은 monday로 지정한다.
- 맨끝의 system은 그냥 문법이다.



/ MID, OID
- MID는 뽑아낼 수 있는 정보
- OID : MID에 포함되어 있는 오브젝트 정보, 구별된 개체값

/ 클라이언트에 net-snmp-utils 설치 후 snmpwalk 실행
# yum -y install net-snmp-utils
# snmpwalk -v 2c 192.168.111.101 -c monday system
- 버전을 1이나 3으로 주면 확인이 되지 않는것을 확인할 수 있다.
- 커뮤니티 이름을 monday로 넣지 않으면 확인이 되지 않는다.


- 만약 커뮤니티 스트링을 다른것도 쓰고 싶다면 서버에서 First부분에 항목을 추가해주면 된다.
# vim /etc/snmp/snmpd.conf

- 만약 버전도 특정 버전을 추가하고 싶다면 Second부분에 항목을 추가해주면 된다.
# vim /etc/snmp/snmpd.conf

- conf파일 수정 후 서버를 재시작해준다.

- 이후 커뮤니티 스트링을 추가로 설정했던 것으로 지정하거나 버전도 따로 지정했던것으로 호출하면 확인이 되는것을 확인할 수 있다.

 

/ snmptest프로그램 실습
- 버전을 바꿔가며 테스트 해본다.
- 커뮤니티 스트링을 바꿔가며 테스트해본다.



/ 모니터링 툴(리눅스서버, Windows서버)
- 추후 MRTG(무료), PRTG(유료) 프로그램으로 모니터링을 해볼것이다.
- MRTG : 무료, 트래픽 모니터링, linux/windows
- PRTG : 유료, 사용량, cpu, mem, disk, traffic, ping, port, Windows
- CACTI : 무료, httpd + mysql + php
- Zabbix : 무료, (C/S), httpd+mysql+php
- Nagios : httpd+mysql+php

 

728x90

+ Recent posts