전체 글
[BOJ] 1495. 기타리스트 (dp)
Silver I https://www.acmicpc.net/problem/1495 1495번: 기타리스트 첫째 줄에 N, S, M이 주어진다. (1 ≤ N ≤ 50, 1 ≤ M ≤ 1,000, 0 ≤ S ≤ M) 둘째 줄에는 각 곡이 시작하기 전에 줄 수 있는 볼륨의 차이가 주어진다. 이 값은 1보다 크거나 같고, M보다 작거나 같다. www.acmicpc.net Day Of Mourning의 기타리스트 강토는 다가오는 공연에서 연주할 N개의 곡을 연주하고 있다. 지금까지 공연과는 다른 공연을 보여주기 위해서 이번 공연에서는 매번 곡이 시작하기 전에 볼륨을 바꾸고 연주하려고 한다. 먼저, 공연이 시작하기 전에 각각의 곡이 시작하기 전에 바꿀 수 있는 볼륨의 리스트를 만들었다. 이 리스트를 V라고 했을 때..
[Algo] DP (dynamic programming)
DP(dynamic programming) 복잡한 문제를 여러 개의 간단한 작은 문제로 나누어 푼 다음 작은 문제의 답을 모아 최종적으로 문제를 해결하는 방법 "중복되는 부분 문제"와 "최적 부분 구조"를 만족할 때 사용 중복되는 부분 문제(overlapping subproblem): 동일한 부분 문제(작은, 간단한 문제)를 반복적으로 해결 최적 부분 구조(optimal substructure): 큰 문제를 작은 문제로 나눌 수 있으며, 작은 문제의 답을 모아 큰 문제를 해결 가능 Memorization, 이전에 해결한 하위 문제의 답을 저장해서 반복 작업을 줄이는 것이 핵심
[born2beroot] SSH
SSH 란? Secure Shell 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜 기존에 사용하던 텔넷은 암호화를 제공하지 않아 보안이 취약했었고 이를 보안하기 위해 나옴 작동 원리 client와 server가 각각 키를 보유하고 있고, 이를 활용하여 서로를 인증하고 주고 받는 데이터를 암호화 데이터가 암호화되어 있기 때문에 키를 가지고 있는 client와 server가 아니라면 원본 내용을 볼 수 없음 key를 생성하는 방식 비대칭키( = keyPair ) : 접속 시도 시 client와 server가 서로를 인증하기 위해 사용됨 대칭키 : 비대칭키로 인증과정을 거쳐 접속이 허용된 상태에서, 정보를 안전하게 주고 받기 위해 데이터를 암호화하는 데에 사용 (+) 자세한 접속 및 데이터 통신 과정은 ..
[born2beroot] ufw
UFW란? Uncomplicated FireWall 데비안 계열 및 다양한 리눅스 환경에서 작동되는 사용하기 쉬운 방화벽 관리 프로그램 보안 목적으로 사용되며, 네트워크 트래픽이 들어올 수 있는 통로를 정해서 통제 방화벽 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템 자세한 내용은 링크 참고 https://nordvpn.com/ko/blog/what-is-firewall/ 방화벽이란 무엇입니까? 현대 사회에서 대부분의 건물에는 화재 확산을 막기 위한 방화벽이 있습니다. 사이버 보안 세계에는 악성 트래픽이 내부 네트워크 전체에 유입 및 확산되는 것을 차단하는 방화벽이 있습니다. nordvpn.com https://blog.naver.com/bkcaller/22160917376..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqSuVb%2FbtrWlkCczj6%2FYJLHpLTVTmyfPtU74O8Zyk%2Fimg.png)
[born2beroot] LVM
LVM 이란? Logical Volume Manager 리눅스의 저장공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분 물리적인 디스크를 논리적 불륩그룹(VG) 으로 구성하고, VG 내에서 사용자가 원하는 크기 만큼의 논리 불륩을 할당하여 사용 저장공간의 확장, 변경에 유연하며, 크기 변경할 때 기존 데이터의 이전이 필요 없음 (물리적인 디스크를 파티셔닝해서 사용하던 기존 방식에서는 크기 변경 시 데이터를 옮겨야 했음) (+) LVM의 구성, 작동방식 자세한 내용은 링크 참고 https://tech.cloud.nongshim.co.kr/2018/11/23/lvmlogical-volume-manager-1-%EA%B0%9C%EB%85%90/
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnQVXb%2FbtrWc3nKNkp%2F4nRpPOeu2qNTYntYKHBKdk%2Fimg.jpg)
[born2beroot] 비밀번호 정책 설정
요구사항 30일마다 만료 password 변경 후 2일이 지나야 변경 가능 만료 7일 전 경고 메세지 받음 대문자, 소문자, 숫자 포함, 10글자 이상, 반복되는 글자 3글자 이상 안됨 The password must not include the name of the user. 유저 이름 포함 안됨 (root password 제외)이전 패스워드와 7글자 이상 달라야 됨 위 모든 정책이 root에 대해서도 적용되어야 함 How to configure vim /etc/login.defs # /etc/login.defs PASS_MAX_DAYS 30 # 30일마다 만료 PASS_MIN_DATS 2 # 변경 후 2일이 지나야 변경 가능 PASS_WARN_AGE 7 # 만료 7일 전 경고 메세지 # 이미 만든 계..
[born2beroot] sudo 정책 설정
요구 사항 암호 입력 최대 횟수 설정, 기본값 = 3 잘못된 암호 입력 시 나오는 메시지 설정 권한 획득 실패 시 나오는 메세지 설정 sudo를 사용하는 모든 동작(input output 모두)의 로그가 기록되어야 하며, 로그가 기록되는 위치를 사용자 정의 디렉토리로 지정 ( 기본 I/O 로그 디렉토리는/var/log/sudo-io ) 보안 상의 이유로 tty 모드 활성화 보안 경로 설정 How to configure su - # root 계정으로 로그인 apt update # 패키지 목록 업데이트 apt install sudo # sudo 설치 visudo # /etc/sudoers 설정 # set up strong configuration for your sudo group # /etc/sudoers..
[born2beroot] APPArmor
APPArmor란? 리눅스 애플리케이션 보안 시스템 내외부적 위협으로부터 운영체제와 애플리케이션을 능동적으로 보호 정책 파일을 바탕으로 어떤 어플리케이션이 어떤 파일에 접근가능한지 등 애플리케이션이 실행 전 행동을 검사하고 실행여부를 결정 MAC(Mandatory Access Control)를 제공해서 Unix DAC(Discretionary Access Control)를 보완 접근 통제 디렉터리나 파일, 네트워크 소켓 같은 시스템 자원을 적절한 권한을 가진 사용자나 그룹이 접근하고 사용할 수 있게 통제하는 것 시스템 자원을 객체(Object)라고 하며 자원에 접근하는 사용자나 프로세스는 주체(Subject)라고 정의 /etc/passwd 파일은 객체이고 이 파일에 접근해서 암호를 변경하는 passwd ..