728x90

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

/ 보안 데이터베이스의 테스트 및 점검
- 데이터베이스 접근제어 보안적용을 시험한다.
    > 로그인 제어
    > SQL 통제
    > 로깅(감사)
    > 경보
    > SQL 마스킹
    > 모니터링
    > 보안 정책 관리
    > 보고서
    > 장애 대응
    > 로그 관리
- 패킷 손실 시험을 실시한다.
- Long SQL 시험
- 성능 시험

- 데이터베이스 작업결재 보안 적용을 시험한다.
- 시험 항목
    > 결재 시스템
    > 작업 결재 통제
    > 로깅(감사)
    > 모니터링
    > 보안 정책 관리
    > 보고서
    > 로그 관리

- 데이터베이스 취약점 분석
- 모의 해킹 실시
- 내부 보안감사 실시

- 데이터베이스 취약점 체크리스트 점검

 

더보기

Q. 데이터베이스 작업결재 테스트 항목 중 보안 정책 관리에 대한 사항으로 옳지 않은 것은 무엇인가?
1) 장기 미사용 정책, 미사용 사용자를 식별할 수 있는 기능이 있는지 여부
2) 감사 정보에 대하여 백업 및 복구가 가능한지 여부 
3) 작업결재 정책에 대한 변경 이력을 관리하는지 여부
4) 작업결재 정책에 대한 백업 및 복구가 가능한지 여부

답 : 2번
해설 : 2번은 로그관리에 대한 내용이다.

 

 

 


[3,4,5교시 - 시스템 보안 구축]

잠깐 log

/ /var/log의 하위 파일 및 폴더
- boot.log: 부팅이 되면서 데몬들이 잘 올라왔나 기록
- dmesg
    > 리눅스 부팅 메시지, 리눅스 부팅 로그
    > 부팅시 드라이버 오류 등을 확인할 수 있다.
    > 커널 관련된 로그도 기록된다.
- glusterfs(GFS) : 서버 여러개를 묶는것
- messages : 해당 운영체제가 돌고 있는 온갖 정보를 기록
- samba : 리눅스 서버와 윈도우 서버간의 디렉토리 자원을 공유(nfs는 리눅스들 끼리)
- secure : 보안인증/권한에 대한 기록

- btmp : cat으로 읽을 수 없다. Data파일, 바이너리 파일이기 때문, 명령어로 읽어야 한다.
    > 명령어 : lastb, 로그인 실패 이력
- lastlog : cat으로 읽을 수 없다. Data파일, 바이너리 파일이기 때문, 명령어로 읽어야 한다.
    > 명령어 : lastlog, 마지막 로그인 기록
    > lastlog -t 7 : 7일동안 로그인한 기록을 보여줘
- wtmp : cat으로 읽을 수 없다. Data파일, 바이너리 파일이기 때문, 명령어로 읽어야 한다.
    > 명령어 : last, 로그인/로그아웃/리부팅 기록, 옵션으로 '-n 숫자'를 하면 최근 몇건의 행적을 알 수 있다.
* /var/run/utmp : cat으로 읽을 수 없다. Data파일, 바이너리 파일이기 때문, 명령어로 읽어야 한다.
    > 명령어 : who, w, finger, 현재 로그인 이력

* 각 명령어와, 결과화면, 사용방법, 파일이 어디에 있는지 등등을 잘 알고 있어야 한다.

/ pts
- Pseudo terminal Server

/ 히스토리 파일(history)
- /root/.bash_history에 있다.
- 바로 저장을 하진 않고 메모리에 저장했다가 나중에 반영된다.
- 'history -a'를 하면 메모리에 있던 내용이 .bash_history에 저장된다.

/ 어카운트의 프로세스와 관련된 로그
- /var/account/pacct
- 활성화를 시켜줘야 파일에 로그가 쌓인다.
- 활성화 명령어 : accton /var/account/pacct
- pacct도 Data파일이라 읽는 명령어가 따로 있다.
- 읽는 명령어 : lastcomm, acctcom(centos에서는 되지 않는다..)

/ sulog
- 위치 : /var/log/sulog
- 먼저 활성화를 시켜야 파일이 있다.
- 활성화 시키기
# vi /etc/login.defs
- 아래 이미지는 중요한 부분

- 맨 밑에 내용을 적을것이다.
# SULOG_FILE /var/log/sulog
- 확인

- /etc/rsyslog.conf을 수정해준다.
# vim /etc/rsyslog.conf
- RULE 쪽에 수정해준다.
- info 이상 레벨일때 저장하도록 세팅한다.

- 작업 후 'systemctl restart rsyslog'를 해준다.
- 확인 (sulog가 생겼다.)

- 테스트
# su - centos 했다가 #exit
- cat /var/log/sulog

* 여담 : Ctrl+f - 한페이지 앞으로 / Ctrl+b - 한페이지 뒤로


다시 rsyslog

 

/ rsyslog.conf 수정
# vi /etc/rsyslog.conf
- ModLoad immark부분의 #지우기

- 수정 후 systemctl restart rsyslog
참고 링크

/ 잠시 RULES 부분설명
- 작성 규칙
    > 점(.)으로 구분되어 있다.
    > 점(.)앞에는 파실리티(facility)라고 한다. 서비스, 메시지의 종류이다.  ex) mail.none에서 mail / authpriv.*에서 authpriv
    > auth : 사용자 인증(로그인)
    > authpriv : 인증(보안, 승인, 권한)
    > 파실리티 중에 local은 0~7까지 있다.
    > 점(.)뒤에는 로그 우선순위의 이름이 들어간다. (*은 모든 로그를 다 포함한다는 뜻이다.)
    > *.info 라면 info레벨 부터 쌓으라는 말이다.
    > mail.none이라면 쌓지 말라는 뜻이다.
    > 따라서 *.info;mail.none;authpriv.none;cron.none는 모든것에 대해 info이상 다 쌓되, mail/authprivcron는 제외라는 뜻
    > omusermsg : 사용자에게 보내는 메시지

/ local 로그가 기록되는 레벨
- local0 : 로그를 작성하지 않음
- local1 : FATAL
- local2 : ERROR
- local3 : WARN
- local4 : INFO
- local5 : DEBUG
- local6 : TRACE
- local7 : ALL

/ 로그의 우선순위
- 5,6,7은 일상적인 레벨이다.
- 3,4는 그냥 오류, 경고
- 0,1,2는 뭔가 심각함


/ 계속 설명
- kern.crit                        @name(호스트이름) : 특정 호스트 pc에 보내라
- kern.crit                         /dev/console : 저 위치에 로그를 남겨라
- kern.info;kern.!err         /dev/console : !는 제외라는 뜻. info위에 다보내고 err위로는 제외해라
- *.*                                  /var/log/messages : 모든 서비스 메시지, 모든 레벨을 기록해라
- *.info;mail.none            /var/log/messages : 모든 서비스의 info레벨위에 다 보내는데 mail관련은 빼라
- *.=info                           /var/log/messages : 모든 서비스의 info만 기록해라
- mail.*;mail.!=info          /var/log/maillog : mail 관련된 메시지 중에서 info수준의 메시지 제외
- mail.!=info,!=debug        /var/log/maillog : info, debug수준의 메시지는 제외하고 기록해라
- *.notice                          @192.168.111.101 : udp로 전달을 해라
- *.notice                          @@192.168.111.101 : tcp로 전달을 해라
- *.notice                          @john.com:514 : udp포트 514로 전달을 해라tcp로 전달을 해라
- mail.*                             ~ : 모든 종류의 로그를 버려라 (~는 틸트로 읽는다.)
- mail.*                             KIM & @192.168.111.101 : KIM이라는 로컬 사용자에게 보내고 그리고 UDP로도 전달을 해라.

더보기

/ 예시 문제 1
- 문제 : 모든 emerg수준의 문제가 발생 /etc/rsyslog.conf 이고 /log/emerg.log에 저장해라
- 답 : *.emerg /log/emerg.log

더보기

/ 예시 문제 2
- 문제 : syslog를 대체하는 시스템 로그 및 커널 메시지 관련 데몬으로 최근 리눅스는 이 로그 데몬을 사용한다. 무엇일까?
- 답 : rsyslog

 

 

 

 

 

 

 

 

 

 

728x90
728x90

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

-- 테이블 생성
create table case_hp(hp varchar2(16));
commit;

-- 확인
select * from case_hp;

-- 데이터 삽입
insert into case_hp values ('010-1111-1111');
insert into case_hp values ('010-2222-2222');
insert into case_hp values ('010-3333-3333');
insert into case_hp values ('010-444-4444');
commit;

-- substr로 010-****-0000 형태로 표시하기
select hp, substr(hp,1,4)||'****'||substr(hp,-5) as "masking" from case_hp;

 


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

rsyslog

- CentOS 5.6 에 syslog라는것이 있었다. 로그관리를 하는 것. initd
    > 이때쓰던 명령어 'service snmpd restart'
    > /etc/syslog.conf
- CentOS 7에서는 rsyslog를 쓴다. systemd
    > 지금쓰는 명령어 'systemctl restart snmpd'
    > /etc/rsyslog.conf
- 로그관리 : 어떤 내용이 어디에 저장될지 정해주는게 rsyslog이다.
- 보통 소규모에서는 로그 서버를 구축하지는 않고, 수천대의 장비를 운영하는 회사에서 로그서버를 구축한다.
- 네트워크 장비, 보안장비 등 장비를 가리지 않는다.
- 로그서버에서 로그 관리를 받는다.

/ 준비
- 101번 : 로그 수집서버
- 클라이언트 : 로그 수집 대상서버
- 실습 
    > Messages : 리눅스 커널 로그 및 기본 로그
    > secure : 원격으로 로그인할때 성공실패여부, su를 할때도 저장된다.

/ 패키지 설치
- 기본으로 설치되어 있다.
# rpm -qa | grep rsyslog

- 더 높은 패키지 버전이 있나 확인
# yum list rsyslog
* 버전정보 : (8.24.0-57)주.부.패치-릴리즈

- 업데이트
# yum -y update rsyslog
* install과 update의 차이점 : install은 이전에 설정했던 설정파일이 다 날라간다.

 

/ /var/log로 이동
#cd /var/log
- 백업관리를 해주는 프로세스 : logrotate(/etc/logrotate.conf)

 

/ 설정파일 확인
# rpm -qc rsyslog

/ /etc/rsyslog.conf 파일 변경
- 크게 3부분으로 나뉘어 진다.
- 모듈, GLOBAL DIRECTIVES, RULES
- ROLES 부분은 시험에 짱 많이 나옴

- 15행, 16행 주석을 푼다.

- $udpServerRun 아래에 아래의 내용을 붙여넣는다.

$template TmplMsg,"/var/log/rsyslog/%fromhost-ip%_messages_%$YEAR%-%$MONTH%-%$DAY%.log"  
$template TmplAuth,"/var/log/rsyslog/%fromhost-ip%_secure_%$YEAR%-%$MONTH%-%$DAY%.log"  

authpriv.* ?TmplAuth 
*.info;mail.none;authpriv.none;cron.none ?TmplMsg

- 파일의 생성되는 형식에 대해 서술하고 있다.

- 로그를 어디에 저장할것인지 서술되고 있다.

- authpriv : 인증 권한에 관련된 모든 내용
- authpriv.* ?TmplAuth : 인증관련된 내용은 TmpAuth에 남겨라
- *.info : info보다 상위 개념 내용들
- mail.none : 메일에 관련된 내용은 남기지마라
- authpriv.none: 인증에 관련된 내용은 남기지 마라
- cron.none : 크론과 관련된 내용도 남기지 마
-  ?TmplMsg : 여기에다가.

 

/ 설정파일을 수정하였으니 restart를 한다.
# systemctl restart rsyslog

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

/ netstat 확인
# netstat -antup | grep rsyslog

 

/ 방화벽 열기(514)
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --reload 
# firewall-cmd --list-all

 

/ cd /var/log로 들어가면 rsyslog폴더가 생겨있다.

 

[클라이언트]

/ rsyslog 설정파일 수정
- 로그 서버의 아이피:포트를 넣는다.
- *.* : 클라이언트의 모든 정보를
- @@ : tcp , @ : udp -> udp로
- 192.168.111.101에 던지겠다.
- 맨 밑에 넣을것이다.
# vi + /etc/rsyslog.conf

- 바로 재시작하려고 하면 재시작이 안된다.(일단 root가 아니면 재시작이 안된다.)

[서버]
/ 로그 파일이 생기는것 확인
# /var/log/rsyslog

- 아직 secure로그는 안 올라왔는데 이유는 client에서 계정과 관련된 액션이 없었기 때문이다.

- 클라이언트에서 centos로 로그인을 하거나 sshd등을 하면 서버쪽에 secure로그가 생성된다.
- 클라이언트

클라이언트

- 서버

서버

 

/ 클라이언트에서 작업하는 내용이 서버 로그에 잘 나오는지 확인해본다.
- 실습용 패키지 설치
# yum -y install mc

- 서버에서 바로 로그가 올라온다.

 

 

728x90
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
728x90

/ GNS3 설치

- 다 설치해도 되지만 와이어샤크랑 맨밑에 3개 체크 해제하고 설치 진행
- 윈p캡도 설치
- 솔라리스 스탠다드 툴캣에서는 no

 

 

- 이런 화면이 뜬다..

 

- 앞으로는 D드라이브에 워킹스페이스를 잡을것이다.
- 파일 > 뉴 블랭크 디렉토리에서 원하는 디렉토리를 잡는다.(폴더를 미리 만들면 안됨)

- 여기에서는 스위치나 이런 목록이 있어도 장비에 ios가 설치되어 있지 않아서 인터넷에서 ios를 찾아 설치해줘야 한다.

 

- ios목록이 있을때 bin이 압축이 풀리면 BIN이 된다.
- c1700-adventerprisek9-mz.124-8.bin을 test에 놓고 압축을 푼다음
- BIN으로 나온 파일로 대체한다.

 

 

- GNS3의 아래 표시한 것을 클릭해서 추가한다.
- 계속 넥스트 넥스트하다가 wic-2t를 추가한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
728x90

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

솔직히 강사님이 수업때 무엇을 말씀하려고 하시는것인지 잘 모르겠따..

모듈교재를 개인적으로 읽으면서 공부를 하고 있다..


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

- 저번 시간에 네트워크를 재시작 하면 본딩이 풀리는 문제가 있었다.
- 'systemctl restart network'를 해도 안 풀리도록 설정
- 네트워크 매니저와 충돌이 나서 풀리는 것이다.

/ 설정
# gnome-control-center network
- 를 하면 설정>네트워크가 뜨는데 이것을 사용하지 않도록 설정한다.

# systemctl stop NetworkManager
# systemctl disable NetworkManager


- 이제 'nmcli c', 'nmcli d'명령어가 안된다.

- 이제 network를 재시작 해본다.
- 이제는 본딩이 깨지지 않는다.


- 'cat /proc/net/bonding/bond0'도 확인해본다.
# cat /proc/net/bonding/bond0


- 근데 지금 네트워크 매니저를 죽였기때문에 우측상단의 네트워크 아이콘을 누르면 에러메시지가 나온다.



- 네트워크 설정을 자주 하지 않는, 본딩 서비스가 더 중요한 서버들은 이렇게 설정을 한다.

 

/ 본딩모드

0 : 라운드 로빈 방식
1 : 두개중에 하나만 사용
2 : 맥주소를 xor연산해서 결정
3 : 전방위 다 뿌리는거
4, 5, 6 : 그런게 있구나
- 0,1,2,3와 4,5,6이 다른점은 결함이 발생했을때 견딜 수 있는지가 있는지 : 폴트 톨로런스(Fault tolerant)
- 0,12,,3이 있고 4,5,6이 없음

 


 

SNMP(Simple Network Management Protocol)

- 161/udp, 162/udp
- 모니터링 대상 161/udp polling, trap 162/udp
- 설정 : /etc/snmpd.conf -> 문자열 커뮤니티 스트링
- RO public을 주로 쓰고, RW private는 잘 안쓴다.
- 근데 또 RO도 너무 널리 알려져있어서 임의값으로 변경해서 쓴다.
- snmptester라는 툴을 이용한다.

/ 버전
- v1 : 32bit, 암호화 안됨
- v2 : v2c, 64bit, 초기 암호화있었다가 성능이 떨어져서 기능이 빠졌음, 제일 많이 쓰인다.
- v3 : 64bit, 암호화 기능, 원격 설정, 인증, 기밀성, 무결성, 너무 무거워서 잘 안씀

/ 리눅스에서 nmspd통신이 잘 되는지 확인
- snmpwalk명령어로 확인한다.
- ex) snmpwalk -v 2c -c 문자열 이름 | ip system : 버전 2c

/ snmptester 실행화면
- local ip : 구동하는 쪽 ip, VMware가 돌아가는 호스트 pc
- Device ip : VMware의 서버
- SNMP Version : 버전2부터 c가 붙는다.
- 커뮤니티 : 관리자가 변경할 수 있다.

 

/ 프로세스 이름 및 패키지 이름
- 프로세스 이름 : snmpd
- 패키지 이름 : net-snmp

/ 설치 및 실행
# yum -y install net-snmp, net-snmp-utils
# systemctl start snmpd
# systemctl enable snmpd

 

[여담]
kill 종류
1 SIGHUP
2 SIGINT
3 SIGQUIT
9 SIGKILL
11 SEGV
15 SIGTERM
18 SIGCONT
19 SIGSTOP
20 SIGTSTP

/ 구동된것 확인
# systemctl status snmpd
# ps -ef | grep snmpd

- 포트확인
# netstat -antup | grep snmpd

 

728x90
728x90

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

SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM DBA_ROLE_PRIVS;

DESC DBA_SYS_PRIVS;

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'CONNECT';

 

 


 

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

/ ifconfig -a
- 사용안하는 인터페이스가 있으면 보여죠라

- NAT : 사설IP를 공인아이피로 바꾸는 것

리눅스 본딩

/ 세팅
- vmware에서 서버의 세팅 > Add... > Network Adapter 선택 finish

- 서버에서 ifconfig로 확인해본다.

 

/ nmcli
- 옵션 c : 커넥션 정보
- 옵션 d : 연결된 디바이스
# nmcli connection

- UUID : 유니버셜 유니크 아이디. 유니크한 값이다.
- nmcli device

 

/blkid
- 하드디스크에 할당된 정보를 보여준다. (block id)

/ nmtui
- 이름이 한글로 '유선연결'이었는데 밑에있는 'eno33554960'으로 변경햇다.

 

/ centos의 네트워크 설정이 있는곳으로 이동
# cd /etc/sysconfig/network-scripts/
- 아래이미지에서 체크한것이 네트워크 설정이 있는 파일이다.

- 그 외의 파일들은 실행파일들이다.


/ ifcfg-eno16777728파일내용 확인해보기
# cat ifcfg-eno16777728
- BOOTPROTO : 가 none로 되어있음을 확인할 수 있다.
- ONBOOT : 부팅할때 해당 인터페이스가 자동으로 on인지 여부
- PREFIX0 : 프리픽스

 

/ ifcfg-eno33554960 파일내용 확인해보기
# cat # cat ifcfg-eno16777728
- BOOTPROTO : 가 dhcp로 되어있음을 확인할 수 있다.

 

/ 우분투에서 네트워크 설정이 기록된 파일
- /etc/network/interfaces
- centos 는 디렉토리로 되어있고 우분투는 파일로 되어있다.

 

/ 인터페이스 재 설정
# nmcli c
- 로 인터페이스 목록 확인 후
# nmcli c delete eno33554960
# nmcli c delete eno16777728 
- 로 기존 인터페이스를 삭제한다.

- 확인
# nmcli c
# nmcli d


# reboot

- 재부팅 하고 다시 네트워크설정에 보면 다시 다 올라와 있다.
- nmcli c, nmcli d에서는 그대로 보이고
- /etc/sysconfig/network-scripts에서는 보이지 않는다.

 

- 다시 nmcli로 삭제하기
# nmcli c delete "유선 연결 2"
# nmcli c delete "유선 연결 1"

- 삭제하고 나면 오른쪽 위에가 비활성화 된다.



/ 본딩 구성하기
- 네트워크 설정 > + 클릭 > 본딩 > 연결이름을 bond0으로 입력(인터페이스 이름을 그대로 사용)


- 추가 > 연결 종류는 이더넷 > 연결이름은 bond0_slave1 > 장치 MAC주소에서 1677로 시작하는 것을 선택

- 추가 > 연결 종류는 이더넷 > 연결이름은 bond0_slave1 > 장치 MAC주소에서 3355로 시작하는 것을 선택

- 모드를 '액티브 백업'으로 선택
- 감시주기 : slave1과 slave2가 죽었나 감시

- 터미널에서 ifconfig를 하면 물리주소만 있고 아이피 주소는 없을것이다.

- IPv4설정 > 방식을 수동으로 설정 > 추가 > 주소를 192.168.111.99, 게이트웨이는 192.168.111.2, DNS서버는 192.168.111.1로 설정

- 다 하고나면 저장
- 네트워크 설정에서 본딩을 확인할 수 있다.


 

* 라운드로빈 - 여러개가 있을때 순서대로 차례로 분배하는 방식

- 터미널에서 ifconfig 확인 - bond0이 생성되어 있다.

- /etc/sysconfig/network-scripts에서 파일 목록을 확인해도 bond0이 생성되어 있다.

- cat으로 ifcfg-bond0확인

- vi 로 slave1, 2 수정
# vi ifcfg-bond0_slave_1
# vi ifcfg-bond0_slave_2
- ONBOOT를 yes로 수정

- 윈도우의 cmd에서 'ping 192.168.111.99 -t'를 띄워놓고 서버를 재부팅한다.
- ping이 안가다가 재부팅하면 ping이 간다.

- 서버 재부팅 후 ifconfig를 하면 bond0은 마스터, 나머지 인터페이스는 SLAVE로 표시된다.


# ls /etc/sysconfig/network-scripts/


- 오른쪽 상단의 네트워크 매니저 확인

 

- 네트워크 재시작을 하면 본딩이 날라간다.(나중에 세팅할것임)

 

- 네트워크 정보가 저장되는 곳
# cd /proc/net/bonding
- 안에 bond0가 있다.
# cat bond0
- 기존의 1677로 시작하는 것이 Active가 되어 있다.
- 1677이 Primary Slave가 되어잇다.

 

/ 테스트!
- 윈도우의 cmd에서 ping을 '192.168.111.99'에  -t옵션으로 계속 날린다.
- vmware 오른쪽 하단의 네트워크 아답터를 하나씩 끊었다가 연결했다가 해본다.
- 서버에서 'cat bond0'하면 인터페이스의 활성화 여부를 확인할 수 있다.
- NAT1을 끊으면 NAT2가 Active되고, NAT2를 끊고 NAT1을 연결하면 NAT1이 Active된다.
- ping은 1개정도 빠졌다가 바로 다시 들어간다. 

 

- systemctl restart network를 하면 어덯게 될까?
- 본딩이 날라가서 ping이 빠진다.

- cat bond0을 하면 내용을 확인할 수 없다. 본딩 설정했던게 모두 날라갔기 때문이다.

- 우측 상단의 네트워크는 모두 꺼져있고

- 네트워크 설정에서도 모두 날라간것을 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

728x90
728x90

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

/ 프로시저(Procedure)
- 특정한 로직을 처리하기만 하고 결과 값은 반환하지 않는다.

CREATE OR REPLACE PROCEDURE 프로시저이름
(
   파라메터1 IN 타입,
   파라메터n IN 타입
)
IS
변수1 타입(길이)  := 초기화될값;
변수n 타입(길이);

BEGIN

INSERT문이든 UPDATE문이든 SELECT문이든 뭔갈 하는 로직

COMMIT;

END 프로시저이름;

 

/ 함수(Function)
- 특정 연산을 수행한 뒤 결과 값을 반환한다.
- SELECT절에서 변수에 담을 컬럼은 INTO를 이용한다.
- 파라메터에서 특정 테이블 컬럼과 같은 변수타입으로 지정하려면 '테이블명.변수명%type'으로 지정한다.

CREATE OR REPLACE FUNCTION 함수이름
(
    파라메터1 타입,
    파라메터N 타입,
    EX) P_BB NUMBER
) 
RETURN 반활될변수타입
IS 
    변수1 타입(길이)  := 초기화될값;
    변수n 타입(길이);
    EX) V_AA VARCHAR2(10);
BEGIN 
    SELECT문이든 무엇인가를 하는 로직;
    EX) SELECT AA INTO V_AA FROM DEPT WHERE DEPTNO = P_BB; 

    RETURN 반환할변수; 
    EX) V_AA;
END;

 

/ 오늘 보여주셨던 내용

select * from tab;
select * from employees;
desc employees
create or replace procedure up_sal
        (vempid employees.employee_id%type )
is 
--
    begin
        update employees set salary=4000
        where employee_id = vempid; 
    end ;
/
   
exec up_sal(206);    

select employee_id, salary from employees
where employee_id=206;

desc user_source
select text from user_source where name ='UP_SAL';

CREATE or replace function max_sal
 (s_deptno employees.department_id%type)
 return number
as 
    max_sal employees.salary%type ;
begin
    select max(salary) into max_sal from employees
    where department_id=s_deptno;
    return max_sal;
end;
/

select max_sal(50) from dual;

 


 

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

 

/ DHCP
- 아이피를 자동으로 할당받는 서비스
- Dynamic Host Configuration Protocol
- 서버에서는 67/udp, 클라이언트는 68/udp로 실습할것이다.
- tftp 69/udp - 연관은 없지만 걍 같이 기억해보자. 인증없이 ftp를 하는것(라우터/스위치에 구동 이미지를 받을 때 사용하는 프로토콜)

/ 설치
# yum -y install dhcp

/ 실행을 하려고 하면 실행이 안된다.
# systemctl start dhcpd

# systemctl status dhcpd로 이유를 확인해본다.

- 설정파일을 확인해본다.
- 이동

# vi /etc/dhcp/dhcpd.conf

- 아무내용도 없어서 새로 만들어야 할것 같다.

 

/ dhcp 설정 파일 수정
- 게이트웨이
- 서브넷 마스트
- 아이피 할당 범위
- dns 서버
- dns 세팅(있다면)
- 아이피 렌탈 시간
- 최대 아이피 렌탈 시간

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

# dynamic update permit? interim : 0 / none : X
ddns-update-style interim;

subnet 192.168.111.0 netmask 255.255.255.0 {
        option routers 192.168.111.2;                           # gateway
        option subnet-mask 255.255.255.0;                       # subnet mask
        range dynamic-bootp 192.168.111.55 192.168.111.99;      # ip range
        option domain-name-servers 168.126.63.1,8.8.8.8;        # dns   
        option domain-name "john.com";                          # domain setting
        default-lease-time 10000;                               # lease time
        max-lease-time 50000;                                   # max lease time
}

 

/ 실행 & 활성화
- 이제 실행이 된다.
# systemctl restart dhcpd
# systemctl enable dhcpd
# systemctl status dhcpd

- 프로세스 확인
# ps -ef | grep dhcpd
# netstat -antup | grep dhcpd

 

/ dhcp가 되는 과정
- pc가 서버를 찾는 과정(브로드캐스트) : 디스커버(Discover)
- dhcp가 제안하는 과정 : 오퍼(Offer)
- pc가 아이피를 할당해달라고 요청 : 리퀘스트(Request)
- dhcp가 아이피를 주는것 : Ack(Acknowledgement)
- 'DORA'는 위 과정의 준말

/ dhcp 갱신 과정
- 절반정도 기간일때 갱신 할건지 확인하고 갱신
- 임대기간이 거의 다 되었는데 응답없으면 아이피 회수(끝날때)

 

/ 방화벽 열기
- firewall-config에서 서비스(dhcp)fmf 추가하거나
# firewall-cmd --permanent --add-service=dhcp
- 를 해준다.
# firewall-cmd --list-all

 

/ vmware의 네트워크 설정 변경
- vmware에서 할당받으며 안되기 때문에 설정변경(임시)
- vmware의 Edit > Virtual Network Editor > VMnet8 선택 후 'Use local DHCP' 어쩌고를 선택 해제한다.

 

/ 할당받은 내역 확인
# cat /var/lib/dhcpd/dhcpd.leases

 

 

[클라이언트]
/ 할당받은 아이피를 초기화
# ifconfig : 확인
# systemctl restart network
# ifconfig : 재확인

[서버]
/ 할당한 내역 다시 확인
# cat /var/lib/dhcpd/dhcpd.leases

 

/ 로그확인
[서버]
# cat /var/log/messages | grep DHCP


[클라이언트]
# cat /var/log/messages | grep DHCP

 

/ 클라이언트에서 할당받은 아이피를 반납하고 새로 할당받고 싶을때
- 윈도우에서
# ipconfig /release : 반납
# ipconfig /renew : 재할당
# ipconfig /displaydns : dns 왔다갔다 한거 확인하기(여담)
# ipconfig /flushdns : dns 왔다갔다 한거 초기화(여담)

- 리눅스에서
- dhclient -r -아이피버전 인터페이스이름
- -r : 반납 (-r을 안하면 그냥 할당만 다시 받는다.)
# dhclient -r -4 eno16777728
- 인터페이스 이름은 아래 그림의 빨간줄이다.

 

/ 클라이언트에서 반납하고 다시 할당한 내역을 서버에서 확인
# cat /var/lib/dhcpd/dhcpd.leases

# cat /var/log/messages | grep DHCP

 

/ 특정 아이피로 할당을 해줘야 할때
[서버]
- 서버에서 dhcpd.conf 설정
- 할당을 해줘야 하는 pc의 mac address
- 할당을 해줘야 하는 아이피 (60번으로 주기로 함)

- 수정 후 재시작
# systemctl restart dhcpd

[클라이언트]
# dhclient -r -4 eno16777728 : 반납
# dhclient -4 eno16777728 : 재할당
# ifconfig : 확인

 

/ dhcpd.conf에 그룹핑 세팅하는 법
- 아래처럼 여러개를 설정해야 한다고 하자

더보기

host jinsang1 {
    hardware ethernet 00:0c:29:43:be:c1;
    fixed-address 192.168.111.60;
}

host jinsang2 {
    hardware ethernet 00:0c:29:43:be:c2;
    fixed-address 192.168.111.60;
}
host jinsang3 {
    hardware ethernet 00:0c:29:43:be:c3;
    fixed-address 192.168.111.60;
}

 

- 이때 group을 쓰면 묶을 수 있다.

더보기

group {

    host jinsang1 {
        hardware ethernet 00:0c:29:43:be:c1;
        fixed-address 192.168.111.60;
     }
     host jinsang2 {
         hardware ethernet 00:0c:29:43:be:c2;
         fixed-address 192.168.111.60;
     }
     host jinsang3 {
        hardware ethernet 00:0c:29:43:be:c3;
         fixed-address 192.168.111.60;
     }
}

 

/ 할당 범위를 그룹으로 처리하는 법
- 그룹으로 묶으면 그 부분으로 범위가 설정된다.

더보기

subnet 192.168.111.0 netmask 255.255.255.0 {
option routers 192.168.111.2; # gateway
option subnet-mask 255.255.255.0; # subnet mask

group {

    host jinsang1 {
        hardware ethernet 00:0c:29:43:be:c1;
        fixed-address 192.168.111.60;
     }
     host jinsang2 {
         hardware ethernet 00:0c:29:43:be:c2;
         fixed-address 192.168.111.60;
     }
     host jinsang3 {
        hardware ethernet 00:0c:29:43:be:c3;
         fixed-address 192.168.111.60;
     }
}

option domain-name-servers 168.126.63.1,8.8.8.8; # dns
option domain-name "john.com"; # domain setting
default-lease-time 10000; # lease time
max-lease-time 50000; # max lease time
}

 

/ 퀴즈
- DHCP IP 임대 default 기간? 8일
- 재 갱신 시점? 1/2 시점 -> 4일
- dhcp ip 예약시 어떤 주소를 이용하는가? MAC Address(FF:FF:FF:FF:FF:FF)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
728x90

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

-- 1. department 테이블 생성
create table department(
deptno number(2) NOT NULL,
hname varchar2(20) NOT NULL,
ename varchar2(40)
);

-- 1-1. PK_department라는 이름으로 deptno을 primary key로 지정
alter table department
add constraint PK_department primary key(deptno);

-- 2. instructor 테이블 생성
create table instructor (
instid number(4) NOT NULL, 
hname char(10) NOT NULL, 
deptno number(2) NOT NULL, 
instorder varchar2(10),
locate char(4),
telno varchar2(20),
email varchar2(40)
);

-- 2-1. PK_instructor 이름으로 instid primary key로 지정
alter table instructor
add constraint PK_instructor primary key(instid);

-- 2-2. deptno가 department테이블의 deptno을 참조하도록 외래키 생성
ALTER TABLE instructor
ADD CONSTRAINT FK_instructor_department foreign KEY(deptno) references department (deptno);

-- 3. department 데이터 insert
insert into department values (10, '교양과', 'Arts');
insert into department values (20, '건축과', 'Architectural Engineering');
insert into department values (30, '토목과', 'Civil Engineering');
insert into department values (40, '경영과', 'Business Management');
insert into department values (50, '전자과', 'Electronics');
insert into department values (60, '정보통신과', 'Information and Communications');
insert into department values (70, '식품영양과', 'Food Science and Nutrition');

-- 4. instructor 데이터 insert
insert into instructor values (1001, '이준상', 10, '교수', '02', '346-2766', 'skchoi@kkkk.ac.kr');
insert into instructor values (1003, '이강호', 20, '교수', '02', '283-3465', 'khlee@kkkk.ac.kr');
insert into instructor values (1005, '주연강', 30, '부교수', '02', '732-2308', 'ykju@kkkk.ac.kr');
insert into instructor values (1007, '강성호', 10, '강사', '032', 465-3350, NULL);
insert into instructor values (1009, '나경상', 40, '강사', NULL, NULL, NULL);
insert into instructor values (1012, '김선수', 60, '강사' , '031', '975-5778', ' ');

-- department 테이블 조회
select * from department;

-- instructor 테이블 조회
select * from instructor;

-- instructor, department 조인(join) 조회
select inst.*, dept.*
from instructor inst, department dept
where inst.deptno = dept.deptno;

 

 


 

[3,4,5교시 - 시스템 보안 구축]

/ dig로 사용하는 bind의 버전을 확인
# dig @아이피 ch txt version.bind
* named 서버의 버전을 숨기는 이유 : 취약점을 가지고 있는 버전인 경우가 있을 수 있고 나중에 취약점이 발견될 수도 있다. 쨋든 보안을 위해서

/ 클라이언트에서 slaves폴더내의 파일 확인
# ll /var/named/slaves/

 

/ named.conf에 notify 추가
# vi /etc/named.conf
# notify yes;

/ john.com.db에 ns2추가
# IN NS ns2.john.com

$TTL    3H
@       SOA     ns.john.com.    root.john.com. (3 1D 1H 1W 1H)
        IN      NS              ns.john.com.
        IN      NS              ns2.john.com.
        IN      A               192.168.111.101

ns      IN      A               192.168.111.101
ns2     IN      A               192.168.111.136
WWW     IN      A               192.168.111.110
ftp     IN      A               192.168.111.111
web     IN      CNAME           www

- john.com.db 파일 체크
* 파일 체크를 하려면 /var/named위치에서 하거나 파일명을 경로까지 모두 써줘야 한다.
# named-checkzone john.com /var/named/john.com.db 
# systemctl restart named

 

/ 시리얼 번호를 1올려보자
# vi /var/named/john.com.db

- 설정 문제있는지 확인
# named-checkzone john.com /var/named/john.com.db
# systemctl restart named : 재시작
- 전송 내용이 있나 확인
# cat /var/log/messages | grep transfer
- 변경이 된것이 없음..(로그에 안 보임)

/ 클라이언트에서도 확인해보자
# systemctl restart named
# cat /var/log/messages | grep transfer
- 여기에서도 확인이 안된다.
- 클라이언트에도 설정이 필요할것 같다.

/ 클라이언트의 named.rfc1912.zones파일 수정
# vi /etc/named.rfc1912.zones
- 맨밑의 zone "111.168.192.in-addr.arpa" IN부분에 allow-notify추가

- named 재시작
# systemctl restart named

/ 클라이언트의 방화벽 설정 추가
- 53/tcp, dns 서비스 추가
# firewall-cmd --permanent --add-port=53/tcp
# firewall-cmd --permanent --add-service=dns
# firewall-cmd --reload

/ 방화벽 추가하고 allow-notify추가 했으니 슬레이브즈 파일 동기화되는지 확인
#  ll /var/named/slave

 

/ 클라이언트에서 자동으로 확인하기 위해 작성
- 동기화가 되면 자동으로 띄워진다.
# while true
# do
# ll /var/named/slaves
# clear
# done

/ 서버에서 버전 다시 올려보기
# vi /var/named/john.com.db


/ 클라이언트에서 확인
# cat /var/named/slaves/john.com.db

 

/ 로그에서도 확인해보기(서버/클라이언트)
# cat /var/log/messages | grep transfer

서버
클라이언트

 

/ 정리
1. master
- 방화벽 오픈설정(dns | 53/tcp | 53/udp)
- /etc/named.conf : notify yes;
- /etc/named.rfc1912.zones
    > allow-update{ 2차서버ip; };
    > allow-transfer{ 2차서버ip; };

2. slave
- 방화벽 오픈설정(dns | 53/tcp | 53/udp)
- /etc/named.rfc1912.zones
    > allow-notify{ 1차서버ip; };

 

 

 

 

 

 

 

 

 

728x90
728x90

지금 작성하는 포스트는 여러책을 보며 공부하면서 작성하는 것인데
일단 많은 부분은 '이기적 정보기기운용기능사'책을 참고하고 있다.

 

이기적 정보기기운용기능사 실기 기본서

최신 출제기준을 적용한 도서로, 정보기기운용기능사 실기 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서다. Packet Tracer 프로그램 사용법과 시행처에서 공개한 샘

www.aladin.co.kr

 

1. 배너 설정

CLI창을 열거나 원격으로 장비에 접속했을때 사용자한테 보여주는 메시지를 설정할 수 있다.
이 내용은 내가 실무에 아직 들어가보질 않아서 모르겠는데 어지간한 책에서는 처음에 다 알려주는것 같다..
많이 쓰나..?

명령어는 이렇다.

더보기

> en
# conf t
(Config) # banner motd 기호

(Config) # 표시하고자하는메시지
(Config-if) # 기호

기호는 "도 되고 !도 되고 #도 되고 암튼 처음에 썻던 기호와 마지막에 끝내는 기호가 같으면 된다.
이런 식이다.

배너가 적용되었는지 확인하려면 exit 명령어를 두어번 써서 완전 나간 후 다시 들어와 보면 된다.

 

 

2. 잘못 쓴 명령어로 DNS 질의 안 하도록 설정

CLI창에서 이것저것 쓰다보면 명령어를 쓰다가 오타가 나기도 한다.
옵션을 쓸때 오타가 나면 바로 고쳐쓰면 되는데 명령어에서 오타가 나면 장비는 이게 또 DNS 문자열인줄 알고 막 열심히 찾는다..(아.. 아닌데...)
이게 금방 찾는것도 아니고 시간을 생각보다 좀 잡아먹어서 오타에 대해서는 DNS질의를 하지 않도록 따로 설정을 한다.

명령어는 이렇다.

더보기

(config) # no ip domain-lookup

이렇게 하고 나면 오타가 나도 바로 명령어를 입력할 수 있다.

 

 

3. 비밀번호 설정

사용자모드에서 관리자모드로 진입할때 인가된 사용자만 관리자로 들어갈 수 있도록 비밀번호를 설정할 수 있다.

더보기

> en
(config) # conf t
(config) # enable password 비밀번호

근데 위에 명령어처럼 password로 암호를 설정하면 'show run'으로 설정된 내용을 확인할때 비밀번호가 암호화가 안된모습으로 다 보인다. (비밀번호가 암호화가 안된 상태로 장비에 저장된다는 뜻)

 

콘솔에 패스워드를 지정하기도 한다.

더보기

> en
(config) # conf t
(config) # line console 0
(config-line) # password 비밀번호    (비밀번호 지정)
(config-line) # login    (비밀번호를 적어야 들어올 수 있게 지정)

 

텔넷설정을 할때도 패스워드를 지정한다.

더보기

> en
(config) # conf t
(config) # line vty 0 숫자     ('0~숫자'까지 텔넷에 들어올 수 있음)
(config-line) # password 비밀번호    (비밀번호 지정)

 

그래서 'secret'이라는 명령어로 비밀번호를 md5방식으로 암호화하여 저장하게 할 수도 있다.
근데 이거는 'line console 0'서는 안 먹힌다..

더보기

> en
(config) # conf t
(config) # enable secret 암호

 

'service password-encryption'명령어를 입력하면 password로 비밀번호를 지정해도 암호화 되어 저장이 된다.

더보기

> en
(config) # conf t
(config) # service password-encryption     (비밀번호를 암호화해서 저장해라)
(config) # enable password 비밀번호     (비밀번호가 암호화되서 저장됨)
(config) # line console 0
(config-line) # password 비밀번호     (비밀번호가 암호화되서 저장됨)
(config-line) # login

 

 

사용자로 들어갈때도 비밀번호를 입력하도록 할 수 있다.
이때는 아이디랑 암호를 둘다 설정한다.

더보기

> en
(config) # conf t
(config) # username 아이디 password 비밀번호     (사용자 아이디랑 비밀번호 생성)
(config) # line console 0     (라인 콘솔 0번 설정 모드 진입)
(config-line) # login local     (사용자 모드 진입 시 로그인 하도록 설정)

 

 

728x90
728x90

지금 작성하는 포스트는 여러책을 보며 공부하면서 작성하는 것인데
일단 많은 부분은 '이기적 정보기기운용기능사'책을 참고하고 있다.

 

이기적 정보기기운용기능사 실기 기본서

최신 출제기준을 적용한 도서로, 정보기기운용기능사 실기 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서다. Packet Tracer 프로그램 사용법과 시행처에서 공개한 샘

www.aladin.co.kr

 

 

1. 호스트네임 설정

라우터든 스위치든 장비에 따로 이름을 붙여줄 수 있다.
그냥 심심해서 붙이는게 아니라 나중에 실무에 들어가게 되면 관리하는데 도움이 된다 한다.
hostname을 붙이는 방법은 라우터 스위치 둘다 동일하다.

일단 라우터에 먼저 해보자.
토폴로지는 저번 포스팅에 세팅했던 토폴로지에 진행해볼것이다.

 

패킷트레이서 - 스위치/라우터 연결

1. 라우터-스위치-pc연결 라우터에 스위치를 연결하고 그 스위치에 pc를 연결해보자. 먼저 패킷트레이서의 하단 아이콘에서 라우터, 스위치, pc를 각각 선택하여 빈 화면에 띄워놓는다. 그리고 스

streetdeveloper.tistory.com

 

라우터를 클릭하고 CLI탭으로 들어간다.
맨 처음 들어가면 뭘 설정할꺼냐고 물어보는데 yes누르는 순간 엄청 귀찮아지니까 no를 입력하고 엔터를 친다.
* 만약 CLI탭으로 들어가려고 했는데 에러메시지가 뜨면 전원이 안켜진것이니까 'Physical'탭에 들어가 전원을 켜줘야 한다.
* 전원을 키자마자 CLI탭으로 들어가면 전원이 켜지고 있어서 #이 점점 채워지는 화면이 나온다. 기다리자.

 

'no'를 입력하고 엔터를 몇번 치면 'Router>'라는 곳에 커서가 깜빡깜빡 할것이다.
여기에 명령어를 입력해서 라우터에 이런저런 설정을 하게된다.

무언가 설정을 하려면 '이용자 모드'를 거쳐 '관리자 모드'로 진입해야 한다.
'enable'을 입력하고 엔터를 쳐서 이용자 모드로 들어가고
이후 'configure terminal'을 입력하고 엔터를 쳐서 관리자 모드로 들어간다.
* 참고로 'enable'은 'en'으로 줄여 쓸 수 있다.
* 'configure terminal'은 'conf t'로 줄여 쓸 수 있다.
* 줄여서 쓰는게 좀 더 있어 보이고 손도 덜 피곤해서 다른 명령어들도 많이들 줄여쓴다.
* 'conf t'명령어를 입력하여 관리자 모드로 들어가면 'Router>'에서 'Router (config) #'으로 바뀐다.


이제 호스트이름을 변경하려면 'hostname 이름'으로 명령어를 주면 된다.
이름을 'R1'으로 바꾸려면 'hostname R1'을 입력한다.
* 'hostname'의 단축 명령어는 'host'이다.

hostname R1

 

 

스위치도 동일하다.
스위치를 클릭하고 CLI탭에 들어간 후, 엔터를 몇번 치면 'Switch>'가 보이며 명령어를 쓸 준비가 된다.
여기서도 'en''conf t'명령어를 입력하여 사용자 모드를 거져 관리자 모드로 진입한다.

 

'host SW1'명령어로 호스트네임을 'SW1'로 바꿔보자.



2. 아이피 주소 설정

라우터나 스위치에 케이블을 꽂으면 케이블이 꽂혀져 있는 포트에 ip를 설정할 수 있다.


아래 그림을 보면 각 라우터(R1, R2)가 한쪽은 스위치에 연결되어 있고(Fa0/0) 한쪽은 다른 라우터에 연결되어 있다.(Se0/0/0)

Fa0/0FastEthernet0/0를 뜻하고
Se0/0/0은 Serial0/0/0를 뜻한다.
이때 각 포트를 인터페이스라고 한다.

1) 먼저 스위치쪽에 연결되어 있는 Fa0/0에 ip address를 할당해보자.
라우터를 클릭하여 열고 'en'과 'conf t'명령어를 입력하여 관리자 모드로 진입한다.

 

이 상태에서 아이피를 설정하는 명령어는 아래와 같다.
(Config) # interface fastethernet숫자/숫자  (적용하려는 인터페이스 진입)
(Config-if) # ip address 아이피 서브넷 (아이피 / 서브넷 아이피 입력)
(Config-if) # no shutdown (적용)

더보기

* 단축 명령어 정리
interface > int
fastethernet0/0 > f0/0 or fa0/0
address > addr
shutdown > shut

 

해서

더보기

Fa0/0에 아이피를 '168.126.63.1'로 하고 서브넷 마스크를 '255.255.255.0'으로 지정하려면
(Config) # int f0/0
(Config-if) # ip addr 168.126.63.1 255.255.255.0
(Config-if) # no shut
를 순서대로 입력하면 된다.

 

2) 이번엔 다른 라우터쪽에 연결되어 있는 Se0/0/0에 ip address를 할당해보자.
라우터를 클릭하여 열고 'en'과 'conf t'명령어를 입력하여 관리자 모드로 진입한다.
* '라우터명(Config) #'으로 보이는 경우 이미 '관리자 모드'이므로 en, conf t를 할 필요가 없다.
* '라우터명(Config-if) #'으로 보이는 경우 '인터페이스 관리 모드'이므로 'Ctrl+c'를 눌러 나오거나 'exit'명령어를 입력해 나오도록 한다.

시리얼 인터페이스(Serial Interface)쪽도 똑같다.
인터페이스(Interface)명령어 뒤에 'Serial적용할/인터페이스/번호'를 입력해주면 된다.
Serial0/0/0의 단축 명령어는 s0/0/0 or se0/0/0 이다.

더보기

Se0/0/0에 아이피를 '204.200.7.2'로 하고 서브넷 마스크를 '255.255.255.0'으로 지정하려면
(Config) # int s0/0/0
(Config-if) # ip addr 204.200.7.2 255.255.255.0
(Config-if) # no shut
를 순서대로 입력하면 된다.

이로써 라우터의 각 인터페이스에 ip를 할당해보았다.

 

이번엔 스위치에 ip를 할당해보자.
사실 스위치는 MAC이라는 물리적인 주소를 이용해서 장비가 동작하기 때문에 따로 인터페이스에 ip를 할당하지 않아도 된다.
(그 증거로 아직 아무것도 설정하지 않았는데 아래에 있는 그림에서는 컴퓨터 2대가 초록세모로 연결된것을 볼 수 있다.)
근데 이게 또 이것저것 하다보면 아이피를 설정하는것이 관리하기 편하기때문에 결국엔 ip를 할당하게 된다.

스위치는  근데 또 Fa0/1이나 Fa0/2등 모든 포트가 기본적으로 vlan 1이라는 가상 인터페이스에 소속 되어있다.
해서 특별한 지시나 목적이 없으면 그냥 vlan 1에 ip를 할당한다.
할당하는 방법은 아래와 같다.
> en
# conf t
(Config) # interface vlan 1  (vlan 1 인터페이스 진입)
(Config-if) # ip address 아이피 서브넷 (아이피 / 서브넷 아이피 입력)
(Config-if) # no shutdown (적용)

해서

더보기

vlan 1에 아이피를 '168.126.67.1'로 하고 서브넷 마스크를 '255.255.255.0'으로 지정하려면
> en
# conf t
(Config) # int vlan 1

(Config-if) # ip addr 168.126.67.1 255.255.255.0
(Config-if) # no shut
을 순서대로 입력하면 된다.

 

 

3. 정적할당/동적할당

아이피를 할당할때 정적할당이 있고 동적할당이 있다.
정적할당은 지금까지 한것.
즉 직접 아이피를 입력해 넣는것이 정적할당이고,
동적할당은 자동으로 아이피를 할당받게 하는것이다.

1) 먼저 패킷트레이서의 pc에서 정적할당/동적할당을 보자.
토폴로지에서 pc를 클릭한 후 Desktop탭 > IP Configuration을 차례로 클릭한다.
그러면 아래의 화면이 나온다.

여기서 DHCP를 선택하면 동적할당이고, Static을 눌러서 각 항목에 내용을 입력하면 정적할당이 된다.

 

2) 라우터/스위치의 정적할당은 위에서 지금까지 했던것이니 동적할당을 보자.

동적할당을 하기 위해서는 인터페이스 모드로 들어간 후 ip addr 명령어 뒤에 dhcp를 입력해주면 된다.

더보기

[라우터]
> en
# conf t
(Config) # int f0/0

(Config-if) # ip addr dhcp
(Config-if) # no shut

더보기

[스위치]
> en
# conf t
(Config) # int vlan 1

(Config-if) # ip addr dhcp
(Config-if) # no shut

 

 

728x90

+ Recent posts