모도리는 공부중

2022.06. 내 궁금증, 검색한 것들, 공부 및 개발 일기 본문

내 지식 정리/날것 그 자체

2022.06. 내 궁금증, 검색한 것들, 공부 및 개발 일기

공부하는 모도리 2022. 6. 7. 17:50
728x90
반응형

 

6월이 밝았다. 항상 빠른 시간을 매달 더 많이 체감하게 된다. 벌써 2022년의 상반기를 정리하는 달이 왔음에 내가 얼만큼 발전했는가 꼭 체크해야겠음을 느낀다. 그리고.. 책 좀 읽어야지.. 점점 언어 구사력과 문장 구성력이 떨어지는 것 같아서 내 자신에게 미안해진다.

 

2022.01.06 - [내 지식 정리/날것 그 자체] - 2022.01. 내 궁금증, 검색한 것들, 공부 일기

2022.02.05 - [내 지식 정리/날것 그 자체] - 2022.02. 내 궁금증, 검색한 것들, 공부 및 개발 일기

2022.03.01 - [내 지식 정리/날것 그 자체] - 2022.03. 내 궁금증, 검색한 것들, 공부 및 개발 일기

2022.04.04 - [내 지식 정리/날것 그 자체] - 2022.04. 내 궁금증, 검색한 것들, 공부 및 개발 일기

2022.05.02 - [내 지식 정리/날것 그 자체] - 2022.05. 내 궁금증, 검색한 것들, 공부 및 개발 일기

 

드디어 카페 가서 공부하기가 시작되었다. (6/12 기준) 규칙적이기 어렵다고 하더라도 되도록이면 정기적인 스터디그룹을 만들어서 같이 공부하는 분위기를 형성하여 서로 정보공유도 진행하고, 나도 지금까지 두서없이 여기에 일기처럼 적어놓은 지식들을 하나씩 완성시켜 나가면서 블로그의 퀄리티, 나의 실력을 차근차근 올려가야겠다.

 

- 7일 -

와우.. 길디 길었던 연휴가 끝나고 출근하여 웹 애플리케이션 구동현황을 점검하던 중, 장고 서버 연결부에 서버 오류가 나서 이상함을 느끼고 확인해보는데 특정 유저 디렉토리에 있는 파일들이 crp 확장자로 죄다 바뀌어 있다. 선임님께 여쭤보니 루트 계정도 접속이 안된단다 ^^..ㅠ

그래서 검색

 

리눅스 접속기록 확인 last - 제타위키

  다른 뜻에 대해서는 함수 last() 문서를 참조하십시오.   다른 뜻에 대해서는 jQuery .last() 문서를 참조하십시오. 1 개요[ | ] 리눅스 접속 로그 보기 리눅스 접속 기록 확인하기 리눅스 SSH 로그인

zetawiki.com

 

리눅스 패스워드 털렸는지 확인하기 - 제타위키

 

zetawiki.com

 

/var/log/secure - 제타위키

다음 문자열 포함...

zetawiki.com

 

아니.. /var/log/secure가 없는데요? 검색을 해보니 secure에서 auth로 바뀌었단다.

 

/var/log/secure 없음 - Google 검색

You can set the append-only attribute, for example, on /var/log/secure. # chattr -V +a /var/log/secure chattr 1.12, 9-Jul-98 for EXT2 FS 0.5b, ...

www.google.com

6월 이전의 로그인 성공 기록이 뜨지 않아서 확인이 어려운 가운데, 과거 기록을 그냥 시시콜콜 (성공, 실패 걍 모두 다) 보여주는 auth.log.1을 뒤져보니, 미친듯이 시도한 로그인 실패 기록이 가득하다.

보안에.. 신경을 써야겠구나.

 

 

우분투에서 빠질 수 없는 3가지 보안 프로그램 | ITIGIC

당사는 원칙적으로 Microsoft Windows 시스템에 각종 보안 관련 프로그램을 다운로드하여 설치합니다. 그러나 그들이 말했듯이 예방은 치료보다 낫습니다. 따라서 이것은 Linux 배포판에서도 해야 하

itigic.com

선임님께서 보내주신 글 확인해보도록 하고.. 보안에 대해서도 잘 알아봐야겠다는 생각이 든다. 후....

 

 

(Linux)/var/log/secure 파일에 대한 auth 관련 fail 로그 확인 하기 | 나만의 세상~!

nixCraft 에서 이런 팁이 올라왔다. /var/log/secure* 로그상에 auth 관련 fail 이 된 갯수 및 관련 내용 확인 하기 ex) # egrep -ci 'auth.*fail.*;' /var/log/secure* /var/log/secure:0 /var/log/secure.1:0 /var/log/secure.2:0 /var/log/se

blog.seabow.pe.kr

↑ 로그인 실패 회수 조회

 

 

(Linux) 로그인실패 10회 회수제한 – pam_tally.so | 나만의 세상~!

* 로그인실패 10회 회수제한 # 해당 유저 faillog 확인 faillog -u USERID # 해당 유저 faillog Reset faillog -u USERID -r # Server01 [root@Server01 ~]# cat /etc/pam.d/system-auth#%PAM-1.0# This file is auto-generated.# User changes will be d

blog.seabow.pe.kr

 

그리고 암호 바꿔야겠다

 

[Ubuntu] 비밀번호 변경하기

가끔 사용하는 거라 한번씩 사용하곤 매번 잊어서 적어놓기로 했다ㅎㅎ

medium.com

 

- 8일 -

도커.. 공부해야될 것 같은데 지금은 볼 시간이 없다. 이번 달 내로 드림코딩 백엔드 완강도 해야하고 우분투 서버 보안도 구축해야하므로..

장고가 도커로 돌아가는 관계로 도커를 이해하고 장고도 이해한 다음 차근차근 현재 내가 사용중인 언어로 마이그레이션해야겠는데, 실상 이해 안하고도 마이그레이션할 수 있을 것 같긴 해서 흐으음 고민이 된다.

 

일단 도커 무료 강좌를 찾아놓고 나중에 봐야겠다는 생각으로 검색했더니 역시나 있다. 아직 강의 품질에 대해서는 모르지만 그래도 목차만 놓고 봤을 땐 도움이 충분히 될 것 같아서 여기에 킵해둔 다음 7~8월 중에 공부 계획을 세워봐야겠다.

 

왕초보도 따라하는 도커 기초 강의

왕초보도 따라할 수 있을 정도의 도커 기초 강의를 제공합니다. 거스를 수 없는 대세 도커를 만나보세요! Icons by Icons8 노션 노트 바로가기 https://www.notion.so/gasbugs/b67ed727aea4467cbc3226bb0c8e8336 재생 목

www.youtube.com

 

 

- 9일 -

multer 로직을 거치기 전에는 request body에 있는 값을 읽지 않는다. 그래서 multer 로직에서 해당 부분을 테스트하는데 body의 값을 아무리 해도 읽지 않고 텅 비워두었다가, 로직에서 file 처리를 다 끝내고 나면 다음 function에서 body값을 받아 처리하는 것을 보고 아무리 생각해도 이상하고 이해가 가지 않아 검색을 했다.

 

Node.js, multer and req.body empty

Here it is my problem, I have a form where I can insert a file and a field but I receive only the file and not the parameter test! Why? This is my code: app.js: var express = require('express');...

stackoverflow.com

그리고 이유를 알게 됐다. 클라이언트 단에서 값을 보내주는 순서에 따라 해당 부가 텅 비워진 채로 올 수 있다는 것이다. 그래서 내가 postman에서 테스트하고 있던 순서를 보니 역시나,

file이 맨 첫 순서이고, 내용이 그 다음이었다. 이것을 맞게 바꿔주었더니

드디어 내가 원하는대로 multer 로직에도 해당 값이 읽혀들어오는 것을 확인할 수 있게 됐다. 행복해... 이제 난 내 계획대로 다시 로직을 짜고 프로세스를 만들 수 있어.. 너무 좋아!!!

.

.

.

프로세스 설계하면서 하루종일 멍타다 지금에서야 문제 해결한다... 휴..

일단 해결하면서 참고했던 링크 여기 또 놔두기.

 

OKKY | node.js 함수 사용시 Promise { <pending> } 이 뜰경우 ㅠㅠ

api_function.js const axios require( ../node_modules/axios ); const getUsetApi async () { console.log( API테스트 START ) await axios.get( http://API_URL ) .then

okky.kr

 

이제 파일 지우기를 해볼까 룰루

 

 

- 13일 -

13일의 금요일 아니고 월요일 룰루랄라 룰루랄라~

 

지형정보시스템. 무료로 사용 가능한 오픈소스 툴을 설치하여 시나리오 분석에 활용해보고자 한다.

 

QGIS 다운로드

 

www.qgis.org

그만둔 OO매니저님도 이 툴을 사용하셨을까? 새삼 궁금해진다. 아무튼, 받은 지도 파일을 열어보려면 이 프로그램이 필요한 것이었다는 것을 하루가 가기 전에 바로 알아챌 수 있게 되어 감사하다. 역시 삶은 감사하며 살아야 원하는 것들이 긍정적으로 리턴되는 것 같다. 시간을 아낄 수 있게 되어 기쁘다.

 

 

- 14일 -

그동안 미뤄왔던 back단의 mvc 패턴 설정을 해보고자 한다. 빠른 이해와 적용을 위해 여러 글을 읽어봐야겠다.

 

Node.js - MVC, 모듈화

Model, View, Controller클라이언트와 상호작용이 일어나는 것을 의미합니다. 화면에 보여주기 위한 역할을 하는 것 입니다.User Interface(유저 인테페이스)가 바로 View레이어에 있는 코드로 핸들링 됩니

velog.io

 

🔥TIL #6. 모듈화와 MVC 패턴 #2

지난 포스팅에 이어 이번에는 project에서 모듈화하는 방법을 다룬다. 앞에서 다루었던 모듈을 다시 보자.server.jsapp.jsRouterControllerServiceModel위에서 부터 아래방향으로 Database에 가까워지면 각 layer

velog.io

 

 

- 15일 -

 

[MySQL] 데이터베이스 이름 변경 (RENAME DATABASE)

MySQL 에서는 버전 5.1.7 에서 RENAME DATABASE 구문이 추가되었으나, database 의 내용이 손실될 위험성이 발견이 되어 버전 5.1.23 이후부터 제거됐다고 한다. 그래서 database 이름을 변경하려면 새로운 datab

ryean.tistory.com

rename 명령어를 이용한 방법을 나중에 해보고 싶어서 킵. 지금은 dump, create, restore로 대체했다.

 

퇴근 즈음에 드디어 켜보는 qgis..

 

QGIS 사용자 지침서 — QGIS Documentation 문서

© 저작권 2002-now, QGIS project. 최종 업데이트: 6월 14, 2022 13:45

docs.qgis.org

stable version이라 그런지 한국어 지침서가 있다. 오예스!!!

 

 

- 16일 -

from develop인 브랜치를 하나 새로 생성하려는데 막혔다.

Branch "develop/backend" cannot be created while branch "develop" exists.

라는 문구와 함께..

 

 

git push: refs/heads/my/subbranch exists, cannot create

Is this not possible to create somme sub-sub-folder in a repo on a server? if i do: git push origin dev/master everything work find but if i do git push origin dev/sub/master i got this: error: ...

stackoverflow.com

위 글을 읽으면서 branch가 어떤 순서로 참조되어 들어오는지 파악, 순서를 바꾸어서 시도해봤더니

성공적으로 branch를 나누어 만들 수 있었다. 오케이, 이제부터 back만 나누어서 올려보자. 따로따로 병합해봅시다!

 

 

git merge interactive가 뭘까?

 

[Git] 명령어(6) - rebase ( merge와 비교, --interactive 옵션 )

1. rebase rebase는 merge처럼 병합하는 작업이지만, 커밋 이력을 다룰 수 있다는 점에서 차이가 있는데요. ( merge와 rebase 비교 - 참고 ) 불필요한 merge 이력을 남기지 않기 때문에, Git은 rebase를 통해 병

victorydntmd.tistory.com

 

[Git] interactive rebase 사용해 이전에 생성된 커밋 조작하기 : commit 메세지 수정, commit 삭제, commit 합

interactive rebase 사용해 이전 커밋 조작하기 앞선글에서 git rebase를 이용해 rebase 대상 브랜치의 commit history를 새로 만드는 것을 살펴보았다. commit history를 새로 만들 수 있다는 것은 현재 시점..

kotlinworld.com

 

[Git] git rebase 사용해 git commit history 다시 작성하기. 언제 git merge 또는 git rebase를 사용해야 하는가?

Git Merge와 Git Rebase의 차이 git merge와 rebase는 모두 두 브랜치를 합치기 위한 명령어이다. 우리는 이곳에서 이 두 브랜치를 기준 브랜치와 대상 브랜치로 나눈다. 기준 브랜치는 master과 같이 기준이

kotlinworld.com

들어갔다가 내게 너무나도 유용할 명령어를 몇 개 알아왔다.

git log --oneline

git log --oneline -5

그리고.. 전에 함께 하던 매니저님이 rebase를 사용한다고 하셔서 해당 기능을 당시 사용한 적이 없던 나는 궁금했는데(공부만 하고 그쳐서 실제 사용해본 적이 없었다.), 오늘 글을 읽으면서 rebase를 함부로 하면 안되는 이유를 깨달았다. git rebase는 git commit 히스토리 자체를 새로 쓰는 것이므로 내가 rebase했을 때 이미 작업한 부분을 다시 작업해야하는 문제가 발생할 수 있다고 한다. 아주... 큰 문제인 것이지. 이렇게 된다면 차라리 cherry-pick이 더 낫지 않나.. 싶기도 하다. 물론 cherry-pick이든 rebase든 나 혼자(로컬상 별개의 브랜치) 작업하던 것을 공통(커밋 푸시용 브랜치)에다가 얹을 때만 사용해야지.

 

kotlinworld.com 블로그 git 내용이 최신화되어 있어 내게 상당히 도움이 된다. 궁금증이 많이 풀려가고 있달까? 예를 들어 아래 글도 그렇다.

 

[Git] git restore 사용해 파일 단위 제어하기(git add 취소, 특정 커밋으로 되돌리기 등)

git restore이란? git checkout은 하나의 키워드에 많은 기능이 들어있다. 때문에 checkout의 브랜치와 관련된 기능이 git switch 명령어로 새로 나오게 됐다. git restore 또한 새로 나온 키워드로 git의 파일 조

kotlinworld.com

기존에 내가 이용하던

git checkout -- [file name]

명령어를 checkout에서 새로 나오게 된 restore라는 명령어로 조금 더 짧게(그래봤자 ' --'가 사라지는 정도지만) 가능해졌다.

git restore [file name]

.... 아닌가... 다시 읽어봐야겠다 후..

 

 

- 23일 -

출장도 다녀왔고, 이제 하려던 것들을 하나씩 시작해보자.

서버 밀어야되니 그 전에 이것저것 테스트나 해보자~ 했던 것을 오늘 하기로 했다. 자체 방화벽 설정 및 보안 작업을 시작한다.

 

ubuntu에서 방화벽 설정 (UFW)

Ubuntu에서 기본적으로 제공하는 방화벽은 UFW(Ubuntu Firewall) 이다. iptables을 보다 쉽게 사용하도록 개발된 툴로 사용법도 좀 더 간편하다. 일단 ufw status를 사용하여 활성화 여부를 체크한다. 기본적

kugancity.tistory.com

기본적으로 위 블로그에 있는 순서대로 모두 적용을 완료했으며, 아래 글은 사용법 느낌으로 참고를 위해 킵.

 

우분투(Ubuntu) 환경에 방화벽(UFW) 설정하기

방화벽(UFW, uncomplicated firewall)은 데비안(debian) 계열 및 다양한 리눅스(linux) 환경에서 작동되고, GPL(GNU General Public License)이 적용되며 파이썬(python)으로 개발되었습니다.

lindarex.github.io

ufw는 결국 iptables를 사용하기 편하도록 나온 녀석이기 때문에 iptables에서 직접 관리하는 것이 좀 더 강력하다고 한다. 이와 관련하여 서술되어 있는 블로그 글을 여기에 킵해두고 나중에 봐봐야겠다.

 

우분투 서버 기본 설정 | Varins

우분투 서버를 설치한 다음에는 기본적인 보안 및 방화벽 설정을 먼저 진행한다. 관리자 권한 리눅스 시스템의 모든 권한을 가진 사용자는 root인데, 우분투 서버에서는 보안상의 이유로 root 계

varins.com

근데 또 다른 글을 읽다보니.. 오히려 단순하게 걸어두는 것이 더 강력한 법이라고 한다..? 그리고 이 글이 현재의 나에게는 좀 더 읽기 쉽고 따라하기 좋은 방법인 것 같다.

 

[우분투 서버] UFW 방화벽 설정으로 서버 보안 강화하기(업데이트) | 꿈꾸는섬

마케팅 경영 사례 연구 및 트렌드 탐구

happist.com

 

그리고 악성 해킹의 경우 백도어를 남겨둔다고 한다. 백도어 관리를 위해 chkrootkit을 설치해야겠다.

 

Linux ETC - Linux chkrootkit을 이용한 백도어 설치 탐지

악의성 공격자들은 한번 접속에 성공하면 백도어 및 트로이잔 프로그램을 만들어 놓는데, 그것이 rootkit입니다. chkrootkit을 이용하여 rootkit을 탐지하여 대응할 수 있도록합니다. chkrootkit을 다운받

faq.hostway.co.kr

 

chkrootkit 설치 및 사용법

chkrootkit은 변조된 파일이나 명령어를 찾을 수있는 툴입니다. 설치와사용법이 간단하니 한번 이용해보시는 것도 좋을것 같습니다. 설치환경 Centos 6.10 chkrootkit 설치 # yum install chkrootkit chkrootkit..

djnote.tistory.com

 

INFECTED: Possible Malicious Linux.Xor.DDoS installed

DDos요..? 왓더?

 

Possible Malicious Linux.Xor.DDoS installed

I am not an expert in information security. I am running Lubuntu on a laptop. Today, I ran chkrootkit and it printed the following: INFECTED: Possible Malicious Linux.Xor.DDoS installed /tmp/clamav-

security.stackexchange.com

이 글 저 글 읽다보면 거짓 탐색일 가능성이 높다, tmp 디렉토리에 파일이 생성된 경우 chkrootkit이 그렇게 인식하는 경우들이 있더라 라는 문구들이 보이는데, 그래서 아래와 같은 글도 찾아보게 되었지만

 

How to Remove Xor DDos Trojan from Linux

How to Remove Xor DDos Trojan from Linux, Xor DDoS is a trojan-style malware that affects many Linux systems. In this article we will provide you with a step-by-step tutorial on how to remove this malware.

monovm.com

 

 

XorDDos Analysis Report

개요 기본적인 파일 정보는 아래와 같다. File Name : U******9 Diag Name : Linux/Xarceen.Gen Linux "file" 명령어를 통한 결과는 아래와 같다. 굵게 표시한 부분들을 통해 각각 32bit ELF 파일, 정적으로 컴파..

kali-km.tistory.com

문제는 top을 해서 읽을 줄을 모르겠다... 뭘 알아야 지우지.

잘 모르겠는 상황에선 아무래도 그냥.. 거짓 탐색으로 생각하는 게 편할 것 같다. 어차피 곧 서버 밀어버릴 거고.. 보안작업이랑 패스워드 변경 등을 설정해야지.

 

lib 디렉토리에 들어가서 궁금한 녀석들을 하나씩 검색해보고 있다.

 

[Linux] Ubuntu Desktop 백업 솔루션 - deja-dup

▣ Ubuntu Desktop 백업 솔루션 - deja-dup - 우분투 Desktop 환경에서 deja-dup 백업 솔루션을 이용해 ...

blog.naver.com

 

 

- 27일 -

오늘 오전에는 서버 보안 작업을 조금 진행하고자 이것저것 전에 찾아봤던 글을 다시 찾아보면서 적용해보고 있다.

적용하고자 하니까 너무 오래된 글이라 그런지 자꾸 없는 파일들이 보인다. 최신화 작업이 필요한 것일까?

 

(리눅스 서버 보안) 20. 최신 SSH 버전 사용

리눅스 서버 취약점 보안 취약점 점검항목: 20. 최신 SSH 버전 사용 취약점 점검기준 - 양호기준: SSH 서비스를 사용하지 않거나 주기적으로 패치를 관리하고 있을 경우 양호합니다. - 취약기준:

reddb.tistory.com

 

이것만 해도 마찬가지이다. 버전이 내가 보고 있는 게 더 낮은 것 같은데 업데이트를 해주어도 마찬가지로 그대로이다. 어쩌면 이 부분은 서버 버전의 문제일 수도 있으려나.

 

이건 적용해볼 수 있으려나?

 

(리눅스 서버 보안) 17. 지정된 IP외의 주소에서 FTP나 Telnet으로 접속한 이력 여부 점검

리눅스 서버 취약점 보안 취약점 점검항목: 17. 지정된 IP외의 주소에서 FTP나 Telnet으로 접속한 이력 여부 점검 취약점 점검기준 - 양호기준: last 명령어 조회 시 시스템 접속 이력에 허용된

reddb.tistory.com

 

 

- 28일 -

내부 서버에 돌려놓았다는 프로세스가 아무래도 보이지 않아 무엇이 문제일까 보니 프록시 설정이 필요한 것 같다. 잘 모르겠어서 열심히 검색검색해보았더니 아래와 같은 글들이 나오는데 지금 필요한 해당사항은 아닌 것 같다.

 

[Linux/Ubuntu] Proxy(프록시) 설정하기. (특정유저/모든유저 영구 혹은 일시 설정)

 개요  프록시 서버는 일종의 서버로써, 중간자의 역할을 합니다, 바로 고객 컴퓨터와 인터넷 사이에서 말이죠. 그리고, 프로시서버는 인터넷 연결을 위한 인증, 인터넷 연결 공유, 내용을 필터

i5i5.tistory.com

 

Proxy setting, apt-get (ubuntu 18.04)

Ubuntu 포함 linux 기본 환경에서 apt 또는 apt-get 에 대한 proxy 설정방법이다. Docker 환경에서 container 안에서 proxy를 설정해야할 경우에도 똑같이 적용하면 된다. 다만, docker container 안에서는 proxy..

driz2le.tistory.com

그리고 내게 필요한 방법은 아래 링크인듯?

 

Ubuntu 18.04 : Squid Proxy 설치, 구성 방법, 예제, 명령어

Squid는 HTTP, HTTPS, FTP 등과 같은 널리 사용되는 네트워크 프로토콜을 지원하는 완벽한 캐시 프록시입니다. Squid는 주로 반복 요청을 캐싱하고, 웹 트래픽을 필터링하고, 지리적 제한이 있는 콘텐츠

jjeongil.tistory.com

 

 

- 29일 -

기존에 설정된 들여쓰기가 2칸으로 되어있다보니 내 입장에선 이게 훨씬 더 답답하게 느껴졌다. 시원시원하게 4칸으로 바꾸고 싶어서 어떻게 하면 되나 찾아보니, 기존에 작성된 코드도 바꿀 수 있는 방법이 역시나 있었다.

 

Visual Studio Code] 탭 간격 설정하기

 Visual Studio Code(현재 1.34.0버전)에서 파일의 탭 간격 설정하는 방법에 대해 살펴보자. 이미 생성된 파일에서 탭 간격 설정하기 Visual Studio Code 기본 탭간격 설정 및 파일 들여쓰기를 Tab Si..

stajun.tistory.com

아... 정말 속이 다 시원하다.

728x90
반응형
Comments