관리 메뉴

웹개발 블로그

[5일차] 0415 본문

◆정보보안/리눅스

[5일차] 0415

쿠키린 2023. 4. 15. 09:59

강의를 다 들었던 날(잠이 보약..)

 

[첫수업]

 

&&(and), ||(or)

0 >  : 표준 입력

1 >  : 표준 출력

2 >  : 표준 에러

 

 표준 입출력 지시어인 리다이렉션 - >, < 와 >>, <<
  Linux의 기본 입력장치는 키보드이고 기본 출력장치는 모니터인데 이 리다이렉션을 사용하면 파일을 입출력 장치로 사용할 수 있다. >는 좌측의 실행결과가 우측의 파일로 만들어지고, <는 우측 파일이 좌측에 입력된다는 의미이며, >>나 <<는 기존의 파일에 내용이 추가된다는 의미이다. 

◾ > 는 표준 출력이다. >>는 추가한다는 의미이다.
◾ < 는 표준 입력인데 키보드로부터 입력받는 것이 아니라 < 우측에 있는 어느 파일로 부터 입력을 받는다. << 는 추가해서 입력된다.  

 

명령어 : mkdir /root/king 2> /dev/null || ehco "IM KING" > /root/king/king.txt && cat /root/king/king.txt

/dev/null

ㄴking이라는 디렉터리를 만들지 못해도 

ㄴ오류를 보이지 마

 

안되네?!


다시!

 

;

ㄴ 앞에 거를 실행 후 뒤에 거 실행하라

오류가 안 나지?!

 

이제 

이미 만들어 져 있는데 또 실행하면? 

이제 에러를 발생해볼게

에러 발생하여 파일이 생성 돼

mkidir /root/king 2> /home/centos/error.txt ; echo "IM KING" > /home/centos/king.txt && cat /home/centos/king.txt

 


Linux에서 파일 /디렉터리를 숨길 때에는 .파일/디렉터리_명 식으로 해준다.

 

이를 확인하려면?

ㄴ ls -a <- 숨긴 파일을 볼 수 있다.

 

명령어 : mkdir .ABC

그냥 ls로는 ABC폴더 확인 못 하지?!

ㄴ 근데 ls -a 또는 ls -al로 할 시에 보이지?!

 


alias : 특정 명령어(옵션이 까다라운) 간단히 다르게 표시하는 방법

ㄴ 이 설정은 $USER/.bashrc에 저장된다.

$대문자 형식은 내장된 환경변수이다. 확인 echo $환경변수 식으로 읽어 들일 수 있다.

 

 

명령어 : nano /home/centos/.bashrc

띠어쓰기 넣으면 오류!!

 

(중요)그 다음!!

명령어 : source /home/centos/.bashrc

=> 작업 저장 의미

 

 

이제 실행해볼까? 별칭을 쓴 결과1🔽

 

이제 실행해볼까? 별칭을 쓴 결과2🔽

 

 

 


1. Cloud, AI, BigData에 관련된 Microsoft 시험도 응시(학원에서 시험)

2. 네트워크 관리사 2급, ccna/ccnp 시험도 응시(비쌈, 강사님께 덤프(기출문제) 요청)

3. 컴퓨터 활용능력 2급, 정보처리(산업)기사, 정보보안(산업)기사 <-- 국비과정에서 많이 배움

-> 실력이 있다면 자격증은 중요치 않다.

-> 다만 신입은 대다수가 중요할거다...

 

네트워크 관리사 시험일정

https://www.icqa.or.kr/cn/page/network

 

(사)한국정보통신자격협회

개요 및 검정기준 네트워크관리사란 서버를 구축하고 보안 설정, 시스템 최적화 등 네트워크구축 및 이를 효과적으로 관리할 수 있는 인터넷 관련 기술력에 대한 자격이다. 자격명칭 검정기준

www.icqa.or.kr

# 네트워크 관리사 2급

ㄴ4월 18일 접수

ㄴ5월 21일 시험  

 

필기

실기 <- 케이블 만들기

 

 

※자격증 공부는 부지런히 해야한다.


[두번째 수업]

 

cp 

ㄴ A B해서 A를 B로 복사한다.

- 옵션 : -arp

ㄴ a  : 원본의 속성을 유지해서 복사한다는 의미

ㄴ r : 디렉터리 복사한다 의미 (뜻 : 반복적으로)

 

ex)

cp -arp A B C D

ㄴ A,B,C 모두 D 디렉터리로 복사되어 들어간다.


 

mv

ㄴ A B하면 동일한 디렉터리 내에서는 이름변경, 다른 디렉터리로 가면 이동이다.


rm -rf A

ㄴ A하면 A를 삭제한다.

ㄴ A가 디렉터리로 내부에 파일을 가지고 있어도  -r 옵션으로 인해서 삭제된다.

 

또는

 

shred

ㄴ  고급명령어

ㄴ 파일을 0으로 덮어써서 삭제한다. 파일의 크기등을 유지한다.

ㄴ 보안쪽에서 사용하는 명령어

 

 

 

ㄴ -u옵션은 remove를 뜻해

 

데이터는 0과 1로 이뤄져 있는데 모듀 0으로 하면 크기는 유지되면서 내용은 없다,

A라는 단어는 ASCII 코드에서

ㄴ65(10진수)이므로

ㄴ01000001(2진수)된다.

ㄴ41(16진수<-2진수수를 4자리씩 끊어, 41이라고 말하면 X, 사 일 O) 

 


mkdir

ㄴ 디렉터리를 생성

ㄴ rmdir은 디렉더리 삭제이지만 내용이 있으면 삭제 불가해서 -r 옵션을 주어야한다.

=> 파일/디렉터리 삭제는 rm -rf 파일/디렉터리 해도된다.

 


rename

ex) rename .txt .lst *.*

ㄴ *.* 모든 파일

ㄴ .txt 확장자를 .lst(리스트)로 변경해라


표준 입출력 지시어인.. 못적었당 

(강의 자료 보장)...

추가 해보자!

>>

다시 정리!

(똑같은 내용이 추가되어 아래로 들오가)

다시 정리2!

head -5 /etc/shadow >> pass-5.txt | cat -n

ㄴ/etc/shadow 파일에 위에서 5줄까지

ㄴ pass-5.txt파일에 추가해라

ㄴ | (파이프) 이어서라는 의미

ㄴㄴ cat -n 행을 붙여서 출력해라(하지만 안됐음ㅋㅋ 이것만 그래서 아래처럼 cat -n pass-5.txt로 다시 출력해줬다)


[세번째 수업]

 

 


sort

정렬을 해주는 명령어인데 디폴트는 

오름차순이며

-r을 붙이면 내림차순

 

이 또한 sort -r < root.txt > sorted.txt 이렇게 파일로 만들서 관리도 가능하겠지!

 


file

ㄴ출력된 값으로 :data라고 나오면 악성 문자일 경우가 많다

 

which

-> 위치

 

pwd

-> 경로

 

md5sum

-> 해시키를 만들어준다.

 

wget  사이트

ssheater-1.1.tar.gz 를 구글에 입력하고 파일을 다운 받을 수 있는 사이트로 가면

이 파일에 대한 md5, sha254, sha512식의 해시키를 보이는데 이는 파일의 배포자(distributer)가 이 파일에 대해서

intergrity(무경성)을 확인시키는 것이다.

 

 

 

해시키

길이나 단어에 무관하게 일정 길이를 가진다.

※작은 변화가 있어도 해시 값은 달라진다

 

해시는 절대 풀 수 없다!!(와.. 진짜 길다)

ㄴ 해시를 푼다는 것은 일반 평문장을 해시화 해서 평문장 해시와 풀고자 하는 해시가 같을 때의 평문장으로 해시된 것을 풀었다라고 하는 것이다.)

ㄴ 간혹 해시는 같은 것이 나올 수도 있다.

암호화하는 데이터 은닉에 촛점이 있고, 해시는 데이터의 무결성에 촛점이 있다.


💥

보안으로 파일을 복사해주는 scp는 ssh를 설치해야 사용할 수 있다.

ssh ssl(secure socket layer)을 이용해서 키를 생성해야 상호 인증해서 데이터를 송수신할 수 있다.

scp로컬 원격 OR  scp 원격 로컬 식으로 해서 원격지(다른 호스트)에 있는 데이터를 안전하게 복사해오거나 보낼 수 있다.

=> 디렉터리 송수신은 -r 옵션을 써주면 된다.

=> 


개인키와 공개키는 한쌍으로 생성된다.

ㄴ 개인키(~.key)

ㄴ 공개키(~.pub)

=> 개인이 개인키와 공개키를 생성한 뒤 개인키를 자신의  머신에 두고 공개키를 두고 접속하거나

=> 서버에서 개인키와 공개키를 생성한 뒤 개인키를 나누어서 들어올 사용자가 인증받게 하는 두가지 방식 중 하나를 사용한다.

 

백트랙에서 주고 받기 위해서 백트랙 실행하자

root

toor

startx

 

centos IP -> 192.168.100.128

 

 

scp root@192.168.100.128:/etc/passwd /root/cent.pass

-> 원격에서 로컬로

 

scp -r root@192.168.100.128:/home/centos/Desktop/socket-1.4 /root/SO

ㄴ -r 은 디렉터리를 의미 (디ㅣ렉터리 송수신은 -r 옵션을 써주어야 함)

ㄴ :은 이 아이피 아래에~

ㄴ /root/SO폴더 안에 집어넣어라

 

 

 

scp /root/bt.lst centos@192.168.100.128:/home/centos/Desktip/bt.lst

ㄴ 센토스에다가 보낼 수 있음!!

ㄴ 센토스 바탕화면에 생성됨.

 

오고 갈때는 scp를 충분히 사용해야 한다

** rsync 라는 프로그램도 이와 유사하게 사용되지만 별도로 양 노드에 설치해 주어야 한다.

 

 


find 찾기 시작위치 -name|-perm|-newer|-size|-empty|-type f/d해서

원하는 파일을 찾을 수 있는데

뒤에 -exec 명령어 {} \; 해주면 찾을 것들을 대상으로 해서 명령어를 실행해줄 수 있다.

\;에서 \를 붙이는 이유는 특수기호를 의미

=> exec ~ 대신 regex ~ 정규표현식을 사용할 수도 있다.

 

ex 

find . -type f -user root -name "*.lst"

 

find . -type f -user root -name "*.lst" -exec cp -arp {} . \;

 

find . -type f -name "*.lst" -exec rm -rf {} \; 

 

find . -type f -name abc.txt -exec cp -arp {} /home/ \;

abc.txt가 와 있음.

 

find . -type f -name "*.txt" -exec tar -cvf TARED.tar {} \;


[네번째 시간]

 

| (파이프)

좌측 | 우측

-> 좌측의 명령어를  우측의 입력으로 들어가게 한다.

순서가 정말 중요하다

-> 현재 페이지에서 root만 골라서 출력해줘라(마지막 명령어가 맞는거야)

 

 


tr 문자열1 문자열2 식으로 해서 문자열1을 문자열2로 바꿔준다.

(cat 써서 보여질때 원본에는 영향이 없다)

 

명령어 : cat -n /var/log/messages |  head -10

ㄴ 위에서 10개만 보여줘~

ㄴ /var는 웹으로 들어 올 수 있는 httpd, ftp, ... 패키지와 log파일들이 모이는 곳이다.

 

일반 시스템 관리자 < 보안 관리자 < 해커가 더 기발하게 쎄다..

 

명령어 : cat -n /var/log/messages | tr 'Apr' 'Sep' | head -20

-> 의미 : 행에 숫자를 붙여서 출력하면서 + Apr 문구를 Sep로 변경하여 + 맨위 20줄만 출력해라

 

 


 

wc는 문서의 단어 수(w), 줄 수(l) , 철자 수를 보인다.

cat /etc/passwd | wc -l 

cat /etc/passwd | wc -c

cat /etc/passwd | wc -w


💥

stat 는 파일에 대한 

ㄴ 누가 수정을 했는지!

이제 04-14일이 바뀌는 걸 보여줄게🔽

 

사용자를 만들면 

ko

ko

 

/etc/passwd와 /etc/shadow에 영향을 미친다!

 

stat명령어로 확인 가능!

🔽

 

 

stat이 중요한 이유는

중요한 이유가

만든 계정에

root권한까지 주면 어마무시한 피해를!!! 줄 수 있잖아

 

 

해킹은

tcp/ip가 가진 구조를 가지고

해킹을 한다.

->3 way handling을 보고 이론만 아는게 아닌

조작 및 속일 수 있다면 보안을 한다는 마인드,,

 

언제까지 개발만 할 수 없으니까

꾸준히 공부하자


https://www.somansa.com/introduce/recruit/recruits/

 

개인정보보호 1위기업 소만사

내부정보유출방지(DLP), 개인정보유출방지, DB접근제어, 유해사이트 차단 솔루션 기업

www.somansa.com

 

[다섯번째 시간] - 조금 늦게 녹화했다 ㅎ ㅜㅜㅜ

 

형상서(Configuration Management Server)
  형상서버는 로컬 클라이언트들이 git와 같은 Web에서만 사용할 수 있는 서비스를 로컬 웹이나 로컬 파일서버를 구성해서 로컬에서 사용하게 하는 서버를 말한다. 로컬 네트워크에 저장소 서버가 생기므로 클라이언트들은 웹으로 들어가지 않고도 필요한 파일들을 로컬 git나 파일서버로부터 빠르게 다운받을 수 있고, 관리자가 파일이나 시스템을 관리하기 쉬우며, 사용자를 도메인 내 사용자로 제한할 수 있어서 보안이 좋아지고, WAN으로 나가지 않으므로 전체적인 네트워크 대역폭 효율도 좋아지게 된다. 
ㄴ  yum 저장소(repository)나 ownCloud, git를 로컬에 설치해서 형상서버 시스템으로 사용할 수 있다. 

 

 

moreless는 한 페이지를 넘기는 파일을 화면 단위로 잘라서 보인다.

 

headtail은 파일의 처음 10줄과 끝 10줄을 보이는데 -n해서 줄 수를 지정해서 사용할 수 있다.

 

tee

tee는 콘솔에서 실행되는 내용을 보면서 한편으로는 그 내용을 저장할 때 사용되는 명령어인데 | 좌측의 실행결과를 표준출력(stdout)으로 콘솔에 보이고, | 우측에 표준입력(stdin)으로 지정된 파일_명으로 저장해준다. 
  간단히 말하면 실행 내용을 콘솔에 보이면서 저장도 시켜준다고 알고 있으면 된다. 옵션은 보통 다음처럼 두 개를 쓴다. 
a : 출력할 파일을 지정함
i : interrupt signal을 무시함이다.



sendmail이라는 Linux의 디폴트 Mailer를 사용해서 콘솔에서 바로 내용을 작성해서 메일을 보낼 수 있다.
=>여기서 사용하는 ruu.kr OR mailinator.com은 사전에 사용자 계정을 만들지 않고 메일을 보낼 수 있는 Disposable Mail이라고 한다. 보안 침투가 있을 때 관리자에게 메일을 보내게 하는 것은 매우 중요한 설정이다!!!

 

명령어 : yum -y install sendmail 

ㄴ service sendmail start

ㄴ  systemctl start sendmail

ㄴ  systemctl enable sendmail.service

ㄴ  echo "hello" | mutt -s "test3021" test3021@mailinator.com  <-- 왜 안되징 ㅋㅋ...

 

=> 왜 사용하나? 보안 침투가 있을 때 관리자에게 메일을 보내게 하는 것은 매우 중요한 설정이다!!!

 

 


history

-> 명령어 반복을 줄 일 수 있다.  사용자별로 다르게 보인다.

-> 실행 :  !행번호

-> 모든 내역 지우기 : history -c    (해커는 자기가 했던 작업을 다 지우고 나와)

 


 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'◆정보보안 > 리눅스' 카테고리의 다른 글

[6일차] 0416  (0) 2023.04.16
[4일차] 0409 리눅스  (0) 2023.04.09
[3일차] 0408 강의 + 리눅스  (0) 2023.04.08