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

+ Recent posts