728x90

[1,2교시 - 데이터베이스 보안 운영]

/ distinct

/ hash 알고리즘

/ 연결연산자
select ename || job from emp;
- 아래의 내용을 작업할 때 종종 쓰인다.
    > 백업 복구 작업
    > DB 운영관리
    > 튜닝 작업

/ 따옴표 포함하여 데이터를 출력해보기
- select문 안에 따옴표를 표시하기 위해서는 따옴표를 두번쓰면 된다. ''(따옴표따옴표)

select ename||'('||job||') , ' || ename || '''' ||job|| '''' from emp;

 

/ 특정 날짜의 데이터를 조회하는 법
- 검색하고자 하는 날짜를 문자열로 묶고 TO_DATE함수에 인자로 넣어 검색한다.
ex) TO_DATE('검색날짜','형태') = 날짜형태컬럼

SELECT EMPNO, ENAME, HIREDATE FROM EMP WHERE TO_DATE('20071201', 'YYYYMMDD') = HIREDATE;

 

/ BETEEN
- BETEEN은 특정 값보다 작거나 같고(<=) 그리고(AND) 크거나 같은(>=) 값을 조회할 때 쓰인다.
- BETEEN앞에 NOT을 쓰면 BETEEN에 걸리지 않는 값들을 조회한다.

-- 문제1 :(논리연산자 사용시) 급여가 2000보다 크거나 같고 
-- 4000보다 작거나 같은 데이터 출력
select * from emp where sal >= 2000 and sal <= 4000;


-- 문제2 :(BETWEEN AND 사용시) 급여가 2000보다 크거나 같고 
-- 4000보다 작거나 같은 데이터 출력
select * from emp where sal BETWEEN 2000 and 4000;

-- 문제3 : 급여가 2000보다 크거나 같고 4000보다 작거나 같은 데이터를 제외하고 출력
select * from emp where sal NOT BETWEEN 2000 and 4000;

 

/ IN 절
- 아래의 두 줄은 같은 결과를 나타낸다.
- OR절로 =비교연산자를 쓸때에는 IN으로 묶을 수 있다.

SELECT * FROM EMP WHERE SAL = 800 OR SAL = 1600 OR SAL = 3000;
SELECT * FROM EMP WHERE SAL IN (800,1600,3000);

 

/ LIKE 절
- 검색하고 문자열에 %(퍼센트)를 붙인다.
- %가 문자열 앞에 붙으면 (%검색문자열) 검색 문자열로 끝나는 데이터를 검색하고
- %가 문자열 뒤에 붙으면 (검색문자열%) 검색 문자열로 시작하는 데이터를 검색하고
- %가 문자열 양옆에 붙으면 (%검색문자열%) 검색 문자열이 들어가는 데이터를 검색한다.

SELECT * FROM EMP WHERE ENAME LIKE 'A%';

 

/ NULL 조회
- IS NULL, IS NOT NULL
- 아래의 쿼리는 COMM이라는 항목이 NULL인 값을 조회하는 것과 NULL이 아닌 값을 검색하는 쿼리이다.
- NULL은 ''(빈값)인것과는 아예 다르다.

SELECT * FROM EMP WHERE COMM IS NULL;
SELECT * FROM EMP WHERE COMM IS NOT NULL;

 

[여담]
오늘 강사가 본인이 문제낸것을 본인이 못 풀어서 한시간을 쓰시고..
내가 먼저 풀어서 제출한 것은 아예 언급도 없고 다른 사람이 제출한것만 언급했다.

저번에 개발자 경력이 있다고 말씀드렸던 적이 있는데,
그때 이후로 자격지심이 있으신건지 나를 뭔가 무시하시는 느낌이 든다.

아무말도 안하고 가만히 수업을 듣고 있는데 혼자 수업하시다가 '먼저 조금 안다고 우쭐하지 말라'고 종종 말씀하신다.
우쭐한적도 없고 나는 그냥 공부하러 온건데 왜 그러는걸까? 혼자 의식하시나..
문제를 먼저 빨리 풀면 빨리 풀었다고 우쭐하지 말라그러고
안 풀고 기다리면 왜 안푸냐고 뭐라한다.
조용히 학원을 다닐수는 없는것일까...?

위에 정리된 내용도 강사가 설명한대로 적은게 아니라 키워드 대충 몇개 주어지면 내가 검색해보거나 아는선에서 정리하고 있다..
수업도 드럽게 못 가르치신다..

심지어 왕년에 자신이 뭐 잘나갔다 하며 뻐기는 꼰대 스타일이다...
자기한테 잘 보이면 본인이 뭐 어디를 꽂아준다느니..한다..
그래봤자 어디 아웃소싱 업체일텐데...ㅋㅋㅋㅋ 휴

데이터베이스 시간만 되면 스트레스가 이빠이다..하...


[3,4,5교시 - 정보 시스템 진단]

- 정보시스템 진단에서는 윈도우 서버도 다루게 된다.
- 이 과목에서 배우는 내용으로 몇몇 자격증의 내용을 커버할 수 있다.

/ SSO
- Single Sign on
- 하나의 아이디로 여러 곳에 로그인을 할 수 있다.

/ 액티브 디렉토리
- 마이크로소프트 IT 환경에서 업무를 수행하는 데 도움을 주는 데이터베이스이자 서비스 집합

/ 윈도우 서버 머신 만들기

- 윈도우 서버 2012까지는 이제 지원이 안된다.
- 윈도우 NT는 처음에 나온 버전이다.
- 이후에 윈도우 2008 등 년도가 붙은 버전으로 나왔다.
- 버전이 높아질수록 무겁다. 사양이 좋기 때문에

- 윈도우 서버는 설치하고 나면 용량을 엄청 차지하게 된다.
- 따라서 여유롭게 60G정도 여유를 두고 설치를 하는것이 좋다.
- 학원 컴퓨터의 C드라이브가 SSD라서 여기에 설치하면 제일 좋지만 잔여용량이 별로 없고
- D드라이브가 용량이 많아서 여기에 설치하기로 하였다.

- 60G로 잡아도 바로 60G가 잡히지 않는다.
- 싱글로 진행한다.

- UBS, 사운드 카드, 프린터는 안 쓰니까 삭제한다.

- 껍데기 설치단계에서 CD os를 넣을 수 있다.

 

- 부팅할때 만약 'press any key Enter'가 나타나면 걍 아무키나 눌러주면 된다.

- 위에 표시한것에서 위에것을 선택하면 CLI버전으로 설치가 된다.
- 라이센스 허용하고 다음

- 파티션 설정없이 그냥 진행한다. 바로 Next!

- 설치멍 Time..

- 이제 설치를 진행하면 관리자를 설정하라는 화면이 나온다.
- 관리자명 : administrator
- 패스워드 : P@ssw0rd

- 패스워드 작성 규칙은 개인정보 기술적, 관리적 보호조치기준에 맞추어 적용해야 하는것이 있다.
- 법적인 요구사항은 3가지가 있다.
    > 1. 영문 대문자, 영문 소문자, 숫자, 특수문자 2종류 이상 조합 / 최소 10자리 이상
           또는 3종류 이상이면 8자리 이상
    > 2. 연속적인 숫자나 생일, 전화번호 등 추측이 쉬운 개인정보, 아이디는 사용하지 말것
    > 3. 비밀번호에 유효기간 설정하여 최소 반기별 1회 이상 변경할것
    > 4. 동일 비밀번호 사용 제한 (history)

 

-vm안의 가상 서버가 반응하게 하려면(로그인 하려면) 컨트롤+알트+Insert를 누르면 된다.
- 또는 아래 이미지에 표시한것을 클릭하면 된다.

- 그러고 나서 창을 아예 닫으면 된다.

 

- 지금 화면이 작은데.. 설정하겠다.

- 그러면 가상 서버 안에 우측하단에 DVD 어쩌고 하는 네모칸이 뜬다. 그것을클릭한다.

- 또는 폴더안의 내 PC에서 찾는다.


- 설치는 계속 계속 next이다.

 

- 바탕화면에서 우클릭 > 퍼스널라이즈

- 그럼 바탕화면에 내컴퓨터 아이콘이 생긴다.

- 컴퓨터 이름을 바꾸겠다.
- 내컴퓨터 아이콘 우클릭 > 프로퍼티

 

- 하고나면 리부팅 하라고 나오는데 나중에 한다고 한다.

- cmd를 열고 ipconfig를 해본다.

 

- cmd에 netstat -anp tcp | findstr 3389를 쳐본다.
- 같은 명령어 옵션으로는 'netstat -anp tcp | find "3389" '이다.

- 3389가 안뜨는데 3389는 원격데스크톱 포트이다.
- 3389는 워낙 노출이 되어있어서 나중에 포트를 바꾸는 실습도 할것이다.
- 리눅스에서 netstat에 있는 p는 프로세스였는데 윈도우에서는 프로토콜이다.
- 윈도우에서 프로세스를 검색하려면 -b 옵션을 쓴다.

- 원격 서비스를 활성화 할것이다.
- 윈도우 서버는 보안때문에 원격이 기본으로는 활성화 되어있지 않다.

 

- ok누르고 다시 cmd에서 3389확인하면 올라오는것을 확인할 수 있다.

 

- wf.msc : 윈도우즈 파이어월. 마이크로소프트콘솔

 

- 자동으로 방화벽 설정이 들어가있는것을 확인할 수 있다.

- wf.msc는 이제 자주 쓸테니까 기억해두기

- 아이피가 만약 169로 되어있다면 아이피를 잘못할당 받은것이다.
- VMware에 dhcp가 체크 해제되어 있으면 이런일이 발생할 수 있다.

- cmd에서 네트워크 설정 호출하는 명령어 : ncpl.cpl

- 컴퓨터 아이콘을 우클릭하여 디스에이블 했다가 인에이블한다.

- cmd에서 핑 갯수를 조절하는 법. -n 옵션을 쓴다.

- nslookup도 확인해본다.

- 이번에는 호스트pc에서 가상 윈도우 서버쪽으로 ping을 던져본다.
- 윈도우는 기본적으로 ping이 막혀있기 때문에 처음에는 ping이 안간다.
- 방화벽 설정을 열어 허용해주자.

# wf.msc

 

- 위 사진에서 우클릭하여 인에이블인을 해주면 옆에 체크가 생기며 허용이 된다.

 

- 이제 익스플로러를 띄운다.
- 향상된 보안 옵션이 켜져있다고 나온다.

- 네이버를 들어가보면 아래 알림이 뜬다.
- 보안이 빡시게 되어있어서 어디를 옮겨다니기가 힘들다.

 

- 보안옵션을 꺼보자.

 

 

- 인터넷을 키면 경고가 뜨지만 네이버 등 다른 url을 입력하면 바로 접속이 가능하다.

 

 

- 이제 윈도우 버튼 우클릭 > 컨트롤 패널을 클릭하여 제어판으로 간다.

- 서버는 꺼지지 않도록 하고, 실습이므로 화면보호기도 뜨지 않도록 설정한다.

 

- 네트워크 설정
# ncpa.cpl
- 컴퓨터 모양에서 우클릭 > 프로퍼티스를 클릭한다.

- 아이피는 아래와 같이 설정한다.

- 인터넷을 디스에이블 했다가 다시 인에이블 하고 ipconfig로 확인해본다.

- 호스트pc에서 ping도 보내보고 3389로 tcping도 보내본다.

- 윈도우 서버에도 tcping을 설치하기
- 호스트pc에 있는 tcping파일을 윈도우 서버의 system32폴더안에 넣는다.

- tcping이 되는 모습

 

- 폴더에서 확장자가 보이지 않으면 보안이 취약할 수 있다.

 

- 서비스 목록 띄우기
# services.msc

- 서비스 목록 띄운 후 서비스 스풀러를 찾는다.
- 자동으로 시작되어 있는데 스톱시킨다.
- 우클릭으로 들어가서 자동시작도 디스에이블드 시킨다.
- 프린터 폴더를 공유하는것인데 취약점이 될 수 있다.

 

 

- 리모트 레지스트리도 자동시작을 디스에이블드 한다.
- 원격으로 레지스트리를 수정할 수 있어서 취약점이 될 수 있다.

 

- 아래 두개도 취약점이었는데 시작은 안되어 있다.

 

- 텔레포니도 디스에이블드 한다.

 

/ 리부팅 하는 법
- 윈도우는 시간을 명시해야 한다.
# shutdown -r -t 0

 

- 제어판으로 간다.

 

- 이렇게 한글 패치를 하고나면 로그아웃을 하고 다시 로그인한다.
- 그러면 영어가 한글로 나온다.

- 나는 한글이 되었지만 만약 한글이 안된경우 다시 언어옵션에 들어가서 프라이머리 랭귀지에 들어간 후 로그인한다.

 

- 리모트로 호스트에서 서버pc에 접근해보기
# mstsc

 

- 연결 설정의 다른 이름으로 저장은 파일형태로 로그인 설정을 저장한다.
- pc방 등에서는 절대 하면안된다.

- 로컬리소스 탭의 자세히를 눌러서 설정을 하면 호스트pc의 특정 폴더를 서버pc와 공유할 수 있다.
- 하지만 실습에서는 하지 않는다.

- 그러면 VMware의 로그인이 풀리고 원격이 접속된다.
- 지금 관리자는 하나만 접속할 수 있기 때문이다.

- 원격 접속 후
'netstat -anp tcp | findstr 3389'를 해보면 ESTABLISHED가 뜬다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
728x90

[1,2교시 - 데이터베이스 보안 운영]


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

내부 평가

728x90
728x90

[1,2교시 - 데이터베이스 보안 운영]

/ 배우는 것
- DB 운영 관리하기
- DB 보안 관리하기
- DB 장애 처리하기
- DB 백업 복구하기
- DB 튜닝 확장하기

/ 어떤 목차가 어려울까?
- '장애 처리하기'와 'DB 튜닝 확장하기'부분이 어려울 수 있지만 중요한 부분이다.

/ DB 튜닝
- 데이터베이스의 응용, 데이터베이스 자체, 운영체제의 조정 등을 통해 최적의 자원으로 최적의 성능을 얻을 수 있도록 개선하는 작업을 말한다.

 

 

강사가 자꾸 혼자서 말하다가 화를 낸다...
DB운영 관리를 왜 배우는지 무엇인지만으로 2시간을 모두 썼다..

귀에서 피난다...

 


[3,4,5교시 - 정보 시스템 진단]

/ 진단이 필요한 이유
- 취약점을 찾으려고 진단을 하는 것

/ 취약점(Vulnerability)
- 자산의 잠재적 속성이나 처한 환경은 위협의 이용대상이다.
- 손실 발생 가능한 약점
- 위험(Risk) : 자산의 손실이나 손상이 발생될 수 있는 잠재성, 사건
    > ISO 17799
- 위협(Threat) : 자산에 손실을 발생시킬 수 있는 원인, 행위자, 사건
- 자산(Asset) : 보호해야할 대상. 정보, H/W, S/W, 시설, 인력, 기업의 이미지.. 등등
     > 정보보호대책(safeguard)

/ 전체 위험
- 위협 * 취약점 * 자산

/ 잔여위험
- Residual Risk
- 전체 위협 - 대책

/ OWASP TOP 10
- Open Web Application Security Project
- OWASP-ZAP 보안도구 : 프로그램을 만들고나서 OWASP TOP 10에 대응되도록 만들어졌는지 테스트 하는 도구

/ 모의해킹 도구
- Burp-Suite
- WebGoat
- SecurityOnion (Snort IDS), OS

/ CVE
- Common Vulnerabilities Exposure
- 취약점 리스트
- mitre에서 만든 리스트
- CVE-2022-0005 : 취약점리스트-발견된년도-해당년도에발견된순서

/ CWE
- Common Weakness Enumeration
- 보안 약점 리스트
- 보안 약점이 취약점보다 좀 더 넓은 범위이다.
- mitre에서 만든 리스트
- CWE는 CWE-숫자숫자숫자 형태라 시험에 잘 안나온다.

/ CCE
- Common configuration Enumeration
- 시스템에서 취약한 설정에 대한 점검 리스트, 항목

/ CVSS
- Common Vulnerability Scoring System
- 공통 취약점 등급 시스템
- 취약점 위험도를 계산해 주는 솔루션, 시스템
- mitre에서 만든 리스트

/ 크롤링
- 해당 사이트의 정보를 추출해내는 프로그램
- robots.txt : 대응하기 위한 설정
    > 웹 사이트에 크롤링봇이 접근하는 것을 방지, 설정, 규약
    > googlebot, naverbot

/ robots.txt
- 웹서버의 루트 디렉토리에 위치하게끔 해야 한다.
- ex) httpd라면 /var/www/html에 있어야 한다.
- 구글의 robots.txt : https://www.google.co.kr/robots.txt
- 네이버의 robotx.txt : https://www.naver.com/robots.txt
    > 네이버는 파일형태로 다운로드 된다.
    > Disallow : / - 모든 경로에 대해 허용하지 않음
    > Allow : /$ - 파일들에 대한 크롤링 허용
- 해당 설정값에 대해서 서술하시오

더보기

useragent : yeti  <- 네이버의 크롤릿 봇
useragent : googlebot <- 구글 봇 허용
allow : / <- 모든 경로에 대해 허용

- 해당 설정값에 대해서 서술하시오

더보기

useragent : googlebot-image <- 구글봇 이미지
disallow : /admin/ <- 여기는 접근 못한다.
disallow : /*.pdf$/ <- 모든 pdf확장자는 접근불가

 

728x90
728x90

[1,2교시]

내부 평가날

시험은 대충 치루었다.

수업자체가 재미있지 않아서 시험준비도 잘 안된듯..

기대했던 수업이었는데 많이 아쉬웠다.

 


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

내일 모레 시험이라 그동안 배운 내용을 리뷰하였다.

오늘은 dhcp를 리뷰하였다.

 

 

 

 

 

 

728x90
728x90

수업은 FIRE WALL 74p부터 본격적으로 시작된다.

/ GNS
- 이름을 준대로 CRT에서 호스트네임으로 보인다.
- 바로 콘솔모드로 접근된다.

/ 라우터에서 범위를 줘서 모두 셧다운 하기
# int ran f1/0 - 15
# sh

/ 와일드 카드 마스크를 쓰는것
- ACL
- EIGRP
- OSPF

/ ICMP 타입
- 0 : 핑에 대한 응답 패킷
- 3 : 목적지 도달 불가
- 8 : 핑 패킷
- 11 : 시간 초과

/ 핑 코드
- ! : 핑이 성공함
- . :  지정된 시간내에 핑 패킷이 돌아오지 않음. 타임 아웃 됨
- U : 목적지 도달 불가 메시지를 받음
- Q : 소스웬치(목저지가 혼잡함)
- M :  전송도중 패킷분할이 필요하나 분할할 수 없음
- ? : 알 수 없는 패킷 타입

 

728x90
728x90

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

 


 

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

/ 그동안 배운거 마무리 정리

/ 양방향 암호화 시스템 : 암호화 한것과 복호화 한것이 같은것
- 대칭키 암호화 기술 :
    > 암호화 키 = 복호화 키, 키가 짧은 편,
    > Data 암호화(기밀성),
    > 비밀키(secret key), 공유키(shared key), 세션키(session key), same key, single key
    > Stream 방식 : 1bit씩 암호화, 주로 하드웨어로 구현
    > RC4, RC2, SEAL, OTPad, vernam, ciph
- 비대칭키 암호화 기술 :
    > 암호화 키 = 복호화 키, 키가 긴편,
    > Key 암호화(기밀성)
    > 개인키 사설키(private key), 공개키(public key)
    > PKI 구조(Public Key InfraStructure)
    > Block 방식 : 8bid, 16bit, 32bit, 64bit... 주로 소프트웨어올 구현
    > DES, TDES, AES, SEED, IDEA, Blowfish

/ 일방향(단방향) 암호화 시스템 : 암호화 한것과 복호화 :  한것이 같지 않은것

728x90
728x90

이사하느라 학원을 못갔다.

728x90
728x90

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

평가 문제 대비 풀이 진행

 


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

/ rsyslog
- rsyslog 는 systemd
- 로컬 로그 + 리모트 로그 수집
- /etc/rsyslog.conf : 어디에 저장할지
- /etc/logrotate.conf : 로그를 용량이 너무 커지지 않게, 매일매일 로그를 백업하는 설정

/ syslog
- syslog 는 initd. /etc/inittab

/ swatch
- 실시간 로그내용 검출, 분석 패키지

/ watch
# watch -n 10 tail /var/log/httpd/access_log : 해당 위치의 로그를 10초마다 갱신해서 봐라

/ DNS
- 설치 : bind bind-chroot
- named
- dns
- NS

/ SNMP
- 설치 : net-snmp net-snmp-utils
- snmpwalk

/ 방화벽
- 지금 firewalld를 쓰고 있는데 사용안함으로 처리하고 iptables를 사용할것임
- 리눅스를 딥하게 쓰는 사람들은 iptables를 더 많이 사용한다.

 


복습

 

/ rsyslog.conf 수정
- /etc/rsyslog.conf 편집
- fromhost-ip부분을 hostname으로 변경한다.


- 아래 이미지의 auth는 로그인과 관련된 부분이다.

- 수정 후 systemctl restart rsyslog를 해준다.

/ 삭제
# rm -rf /var/log/rsyslog/*.*
- rf옵션 : 폴더안의 내용을 지우기

/ 수정된 내용 확인

 

[클라이언트]
/ rsyslog 재시작
# systemctl restart rsyslog

/ rsyslog 설정파일 확인
# vi + /etc/rsyslog.conf

/ 시큐어 이슈를 만들어주기
# systemctl restart sshd



[서버]
/ 로그 확인
# ls -al /var/log/rsyslog/

- 템플릿 부분을
# $template TmplMsg,"/var/log/rsyslog/%hostname%_%fromhost-ip%__messages_%$YEAR%-%$MONTH%-%$DAY%.log"
- 로 하게되면 호스트네임과 from아이피가 같이 나오게 된다.

 


 

 

swatch

/ swatch
- 로그를 분석해주는 솔루션
- 원격서버 로그분석도 가능(rsyslog)
- Simple Log Watcher
- 로컬 로그도 볼 수 있고 원격 로그도 볼 수 있다.
- swatch를 실행한 다음부터 설정한 내용들을 검출할 수 있다. (이전것은 검출이 안된다.)

 

/ 설치 확인
# rpm -qa swatch
# rpm -qa | grep swatch

/ 설치
# yum list swatch
- 위의 명령어를 날리면 못 불러온다.
- 레포지토리 확인
# yum repolist


- 레포를 더 추가해줘야 한다.
# yum -y install epel-release

- 여담 : noarch -> 설치할때 32bit/64bit 상관 안한다.

# yum repolist
- 하면 에러난다.

 

- yum 관련된 파일이 있는 곳으로 이동
# cd /etc/yum.repos.d/

/ 수정
# vi epel.repo

- 위의 내용을
- baseurl앞의 #을 지우고, metalink에 #을 추가한다.

- 이후 다시 yum repolist를 해본다.
- 증설된것을 확인할 수 있다.

- 이제 yum에서 확인할 수 있다.

 

- 설치
# yum -y install swatch perl-File-Tail

 

/ swatch는 설정파일을 만들어야 줘야 한다.
# cd ~
# touch ./.swatchrc : '.swatchrc'파일 만들기
# ls -al

# vi ./.swatchrc
- 아래 내용으로 작성한다.

watchfor /Accepted password/
echo

watchfor /Accepted password | session opened/
echo

watchfor /password check failed| failed password/
echo

- /root/.swatchrc파일을 바라보고 설정파일을 적용한다.
- 바라보는 로그위치는 /var/log/secure이다.
# swatch -c /root/.swatchrc -t /var/log/secure



/ 테스트
- 새 터미널 탭을 연다.

- 서버에서 ssh 접근 실패를 해본다.

- 실시간으로 확인이 가능하다.

- ssh 성공했을때도 실시간으로 나오는지 확인해보자.

 

- cat으로  /var/log/secure을 좀 더 자세히 들여다보자
# cat  /var/log/secure
- 연결이 끊어진것도 추적하도록 해보자.

# vi ./.swatchrc
- 아래의 내용을 제일 밑에 추가해준다.
- 한줄로 쭉 적어도 상관은 없다. (지금 한줄로 쭉 적으면 너무 보기 힘들어서 여러줄에 걸쳐서 표시한다.)


- 이제 다음 터미널 탭에서 ssh를 나가면 closed된 로그를 확인할 수 있다.

 

/ 이제 클라이언트의 로그를 바라보도록 한번 해보자
- /var/log/rsyslog에 있는 클라이언트의 secure로그를 바라보도록 한다.

# swatch -c ./.swatchrc -t /var/log/rsyslog/192.168.111.132_secure_2022-06-21.log

- 이제 클라이언트에서 ssh 실패도 해보고 성공도 해보고 ssh 나가기도 해보자.



- 내용 또 추가
# vi ./.swatchrc
- 일반적이지 않지만 한번 넣어본다.

 

# swatch -c ./.swatchrc -t /var/log/secure

- 새 터미널에서 한번 로그파일에 내용을 추가해보자.

- 근데 이게 로컬에서는 되는데 원격에서는 안된다.

 

/ 확인해보기
# swatch -c ./.swatchrc -t /var/log/rsyslog/192.168.111.132_messages_2022-06-21.log
- 이후 클라이언트에서 'echo "haha" > /var/log/messages'를 해도 서버에서 확인이 안된다.

- 서버에서 확인 안됨

 

- 클라이언트에서 logger를 쓰면 서버에서 확인이 되도록 할 수 있다.

 

 

728x90
728x90

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

시험문제 풀이 조금 해주다가 끝났다..

교수님께 수업시간에 다른 학생들이 너무 힘들어하니 설명 좀 쉽게 잘 해달라고 했는데
각자 구글링 하고 모르는게 있으면 질문하면 되지 왜 나보고 다른 사람들 대변하면서 그러냐고 하시며 혼났다..

이게 혼날일인가...?

잘 모르겠다.

네트워크랑 시스템도 보안 구축이지만 기초부터 잘 알려주시는데 왜 그러시는지..

구축 보안이므로 구축할때부터 보안을 신경써야 하는 과정으로 수업이 진행되면 되지 않았나 생각해본다.

 


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

/ bandit 풀이

메모

/ 찾기 find
- byte 검색 : -size 33c (33바이트 검색)
- 소유자 검색 옵션 : -user
- 소유그룹 검색 옵션 : -group

/ 0> /dev/null
- 기본

/ 1> /dev/null
- STDOUT(standard output)
- 에러내용만 보이게 되고 찾는 내용을 null 장치로 보내도록

/ 2> /dev/null
- STRERR(standard error)
- 에러를 null장치로 보내고, 찾는 내용만 보이게 됩니다.

/ base64 디코딩
# cat ./data.txt | base64 -d
# cat ./data.txt | base64 --decode
# base64 -d ./data.txt

/ 압축
- xz > bzip2 > gzip2 > zip > compress > tar 순으로 압축률이 좋다.
- tar, compress는 용량압축을 하지 않는다.
- 한개 파일에 대해서만 용량을 줄일 수 있다.
- 압축 해제
    > xz -d 파일명
    > unxz 파일명
    > bzip2 -d 파일명
    > gunzip -d 파일명
    > zip -d 파일명
    > unzip 파일명

- file.tar.xz
    > 1. unxz, xz -d
    > 2. tar -xvf
    > tar -Jxvf : 1,2번을 한번에 한다.

- file.tar.bz2
    > 1. bunzip2, bzip2 -d
    > 2. tar -xvf
    > tar -jxvf : 1,2번을 한번에 한다.

- file.tar.gz
    > 1. gunzip, gzip -d
    > 2. tar -xvf
    > tar -zxvf : 1,2번을 한번에 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
728x90

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

/ 데이터베이스 취약점 분석
- 모의 해킹을 실시한다.
    > 데이터베이스 서비스 프로세스의 여부 점검
    > 데이터베이스의 패스워드를 브루트포스, 딕셔너리 어택 등 패스워드 크래킹 기법을 통해 안전하지 못한 데이터베이스 패스워드를 추출여부 점검
    > 버퍼 오버플로어 공격에 대한 데이터베이스 서비스 오동작 여부 점검
    > DoS공격에 대한 데이터베이스 다운이나 서비스 불가 여부 점검
- 내부 보안감사를 실시한다.
    > 패스워드를 포함하는 데이터베이스 사용자 계정 정보
    > 모든 프로파일과 각 프로파일의 지원 정보
    > 데이터베이스 사용자의 다른 역활에 부여된 역활 정보
    > 데이터베이스 내의 모든 역활에 대한 상세 정보
    > 데이터베이스 사용자의 다른 역활에 대한 상세 정보
    > 데이터베이스 사용자의 다른 역활에 부여된 시스템 역활 정보
    > 데이터베이스 사용자에게 부여된 시스템 권한 정보
    > 데이터베이스 프로세스와 세션 정보

/ 데이터베이스 취약점 체크리스트를 점검한다.

 

/ 오라클 현재 접속한 SESSION  정보 조회

select sid, serial# from v$session where audsid = sys_context('USERENV','SESSIONID');

 

/ 시스템 리소스 사용현황 조회

select * from v$resource_limit where
resource_name in ('processes','sessions','transactions');

 

/ 현재 실행중인 세션이 날리는 쿼리를 조회

SELECT
  a.sid,       -- SID
  a.serial#,   -- 시리얼번호
  a.status,    -- 상태정보
  a.process,   -- 프로세스정보
  a.username,  -- 유저
  a.osuser,    -- 접속자의 OS 사용자 정보
  b.sql_text,  -- sql
  c.program    -- 접속 프로그램
FROM
  v$session a,
  v$sqlarea b,
  v$process c
WHERE
  a.sql_hash_value=b.hash_value
  AND a.sql_address=b.address
  AND a.paddr=c.addr
  AND a.status='ACTIVE';

 

 


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

 오늘은 rsyslog 복습 실습을 진행했다.


/ bandit 풀기 메모(bandit5)
- find 경로 -size +숫자
- find 경로 -size 숫자
- find 경로 -size -숫자
- find 경로 -size 1033c : bytes로 검색
- find 경로 -size 1033b : 블록
- find 경로 -size 1033w : 워드
- find 경로 -size 1033k : 키로바이트
- find 경로 -size 1033M : 메가바이트
- find 경로 -size 1033G : 기가바이트

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

+ Recent posts