[리눅스 기초] 데이터베이스 SQL 활용
·
리눅스
1. 데이터베이스와 사용자 관리1-1. 데이터베이스 사용자데이터베이스는 사용자 계정을 통해 접근을 제어한다. 사용자 계정에는 사용자 이름, 접속을 허용할 호스트, 비밀번호 등이 설정된다.사용자 이름(User): 데이터베이스에 접근하는 계정호스트(Host): 해당 계정의 접속이 허용되는 위치비밀번호(Password): 사용자 인증에 사용하는 정보MySQL에서는 사용자명@호스트 형태로 계정을 구분할 수 있다. 예를 들어 localhost는 해당 서버 내부에서 접속하는 경우를 의미한다.데이터베이스는 일반적으로 외부 공인망에 직접 노출하기보다 사설망에 배치하고, 필요한 서버에서만 접근하도록 구성하는 것이 안전하다.또한 관리자 계정인 root를 일상적인 작업에 사용하는 대신, 필요한 권한만 부여한 일반 계정을 사..
[리눅스 기초] 웹 서버와 HTTPS, 데이터베이스 핵심 정리
·
리눅스
1. 웹 서버(Web Server)1-1. 웹 서버와 백엔드의 관계웹 서비스는 프론트엔드, 백엔드, 데이터베이스 등이 서로 연결되어 동작한다. 백엔드는 일반적으로 독립적으로 서비스를 제공하기보다 웹 서버와 연동하여 사용한다.백엔드: 서비스의 핵심 기능과 비즈니스 로직을 처리한다.웹 서버: 클라이언트의 HTTP 요청을 받아 웹 콘텐츠를 제공하고, 백엔드 애플리케이션과 연동한다.대표적인 웹 서버: Apache HTTP Server(httpd), Nginx백엔드 프레임워크 예시: Spring Boot(8080번 포트), Django(8000번 포트)백엔드 프레임워크는 자체 실행 기능을 제공할 수 있지만, 실제 서비스에서는 웹 서버와 함께 구성하여 운영하는 경우가 많다.1-2. 서비스와 포트의 관계리눅스에서 서..
[리눅스 기초] NTP, 로그, 방화벽, SELinux, 쉘 스크립트
·
리눅스
1. NTP 서버 관리와 시간 동기화1-1. 시간 동기화가 중요한 이유서버의 시간은 로그 분석과 보안 관리에서 중요한 역할을 한다. 서버의 시간이 정확하지 않으면 로그에 기록된 사건의 발생 시점을 파악하기 어렵고, 여러 서버의 로그를 비교하거나 장애 원인을 분석하는 데 문제가 생길 수 있다.따라서 서버의 시간을 정확하게 유지하고, 외부 시간 서버와 동기화하는 것이 중요하다.1-2. timedatectltimedatectl은 리눅스 시스템의 시간과 시간대 설정을 확인하고 관리하는 명령어이다.주요 확인 항목은 다음과 같다.Local time: 시스템의 현지 시간Universal time: 협정 세계시(UTC)RTC time: 하드웨어 시계 시간Time zone: 시스템에 설정된 시간대System clock ..
[토스뱅크 사이버보안 부트캠프] 3~4주차 후기 (9월 21일 ~ 10월 2일)
·
TIL
늦은 3~4주차 후기로 돌아왔다.3주차는 추석 연휴가 끼어있는 주로 5일 중 21일과 22일만 출석하고 나머지는 휴강이었다.수업은 전반적으로 리눅스의 기초적인 내용과 실습을 위주로 진행되었다.책은 아래의 두 권으로 진행되었다.먼저 라는 책을 통해 기본적인 리눅스 내용을 학습한 뒤에, 이라는 좀 더 심화된 내용이 있는 책으로 학습을 하였다. 두 권을 합치면 정말 많은 분량임에도 불구하고 무려 두번째권의 마지막 두 챕터를 제외하고 전부 진도를 나갔다(!) 심지어 강사님은 시간이 남았지만 학생분들을 배려해서 진도를 나가지 않고 자습 시간을 제공해주셨다..ㅎㅎ 개인적인 생각으로는 진도가 너무 많다보니, 앞의 내용을 이해하기도 전에 앞의 내용을 기반으로 하는 뒤의 내용을 배워야하고, 실습이 매우 빠르게 진행되어..
[리눅스 기초] 네트워크 관리, OpenSSH
·
리눅스
Chapter 11. 네트워크 관리Linux에서 네트워크를 관리할 때는 네트워크 인터페이스, IP 주소, 라우팅, NetworkManager를 이해하는 것이 핵심이다. 1. 네트워크 인터페이스 정보 확인 ip 명령어현대 Linux에서 네트워크 인터페이스의 정보를 확인할 때 사용하는 대표적인 명령어이다.ipip addrip address showip address show를 사용하면 다음과 같은 정보를 확인할 수 있다.네트워크 인터페이스 이름MAC 주소IPv4 주소IPv6 주소인터페이스 활성화 상태서브넷 정보브로드캐스트 주소예를 들어 다음과 같이 인터페이스가 구성되어 있을 수 있다.loenp2s0enp18s0 Loopback 인터페이스lo는 실제 랜카드가 아니라 자기 자신을 가리키는 가상 네트워크 인터페이..
[리눅스 기초] 로그 관리, 리눅스 부트 프로세스, 소프트웨어 패키지
·
리눅스
Chapter 08. 로그 관리1. rsyslogdrsyslogd는 리눅스 시스템에서 발생하는 로그를 기록하고 관리하는 프로세스입니다.syslog를 기반으로 로그를 처리하며, 로그의 종류와 우선순위를 기준으로 원하는 로그를 분류하고 /var/log 아래의 파일에 저장할 수 있습니다.특히 로그 전송 시 암호화 옵션을 사용할 수 있어 보안을 강화할 수 있고, 로그 처리 및 저장 성능이 우수하다는 특징이 있습니다.rsyslogd의 설정은 /etc/rsyslog.conf를 기반으로 이루어집니다. 2. Selector와 Actionrsyslog의 로그 처리 규칙은 크게 Selector와 Action으로 나눌 수 있습니다. SelectorSelector는 어떤 로그를 선택할 것인지를 결정합니다.Selector는 다..
[리눅스 기초] 논리 볼륨 관리, systemd, 로그 관리
·
리눅스
Chapter 06. 논리 볼륨 관리1. 전통적인 파티셔닝의 한계전통적인 디스크 파티셔닝은 하나의 디스크를 여러 영역으로 나누어 독립적으로 사용할 수 있다는 장점이 있습니다.하지만 이미 구성된 파티션의 크기나 레이아웃을 변경하기 어렵다는 한계가 있습니다.파티션 크기를 변경하려면 일반적으로 데이터를 백업한 뒤 파티션을 다시 구성하고, 포맷한 후 데이터를 복원해야 합니다. 따라서 추가적인 백업 공간이 필요하고 작업 과정도 복잡합니다.이러한 파티셔닝의 한계를 보완하기 위해 LVM(Logical Volume Manager)을 사용합니다. 2. LVM이란?LVM은 물리적인 디스크 공간을 논리적으로 관리하기 위한 기술입니다.전통적인 파티션과 달리 저장 공간을 레고 블록처럼 유연하게 조합하고 분리할 수 있으며, 필요..
[리눅스 기초] 고급 권한 관리, 작업 스케줄링, 디스크 관리, 파일시스템 및 스왑
·
리눅스
Chapter 02. 고급 권한 관리대부분의 경우 기본 권한만으로도 파일의 접근 제어를 설정할 수 있지만, 특정한 목적을 가진 파일의 경우 기본적인 권한만으로는 적절한 권한을 부여하기 어려운 경우가 있다.이러한 문제를 해결하기 위해 특수 권한(확장 권한)을 사용한다.특수 권한의 종류 - setuid, setgid, sticky bitsetuid실행 중 프로세스 소유자를 파일 소유자로 변경한다.기호 s다른 사용자의 신분으로 잠깐 변신할 수 있게 해준다.설정된 파일 실행 시 실행자가 아니라 파일의 소유한 사용자의 권한으로 프로세스가 실행된다.대표적인 예 - passwdstudent6@rocky-node2:~$ passwd → 일반 사용자가 자신의 패스워드를 설정한다.즉, /etc/shadow → 여기가 수정..