일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- StringUtils.hasText
- 비밀번호 변경 명령어
- 함수 인자값 id
- 리눅스
- Intellij
- 타임리프
- 추천 프로그램
- 타임리프와 스프링
- it
- 프로젝트 클린
- 다른사람 프로젝트 수정전 가져야할 자세
- 추천 사이트
- 스프링부트
- linux
- Test 룸북 사용하기
- BindingResult
- 시퀀스 조회
- 자바스크립트 인라인
- 명령어
- 설정
- 개발시작전 자세
- 룸북
- #{..}
- select
- JSON
- cmd
- js
- 하모니카 OS 5
- Java
- 순서 보장
- Today
- Total
웹개발 블로그
[5일차] 0415 본문
강의를 다 들었던 날(잠이 보약..)
[첫수업]
&&(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를 로컬에 설치해서 형상서버 시스템으로 사용할 수 있다.
more와 less는 한 페이지를 넘기는 파일을 화면 단위로 잘라서 보인다.
head와 tail은 파일의 처음 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 |