전체 글 212

SSH implement

SSH 좀 더 공부 Secure Shell Protocol, 즉 네트워크 프로토콜 중 하나이다. 즉, 컴퓨터와 컴퓨터가 통신하기 위한 규약 중 하나인데, 이름에서 알 수 있듯 보안을 중시한다. telnet 도 쉘 기반 원격 프로토콜이지만 보안성에 치명적인 단점이 있는데, 중간에 데이터가 가로채질 경우 암호화가 되어있지 않아 그대로 노출이 된다. SSH 는 클라이언트(접속하는 측)와 서버 간 오가는 데이터를 암호화하여 해당 취약점이 보완된 쉘 기반 프로토콜이라고 할 수 있다. 안전한 파일 전송, 원격 제어 등을 위해 사용되곤 한다. 현재 네트워크 소켓을 한 번 보자 이게 원래는 4242자리가 22로 되어있음 SSH의 기본 설정 22번 포트임 ss -tunpl 2. vim 없으면 깔기 apt install ..

42Seoul/Born2beroot 2023.05.09

AppArmor implement

AppArmor이란? 시스템 관리자가, 응용 프로그램의 역량, 권한을 제한할 수 있도록 하난 리눅스 커널 보안 모듈이다. 프로그램의 프로필을 통하여 네트워크 액세스, raw 소켓 액세스, 파일의 읽기, 쓰기, 실행 권한 등 해당 프로그램이 취할 수 있는 작업을 제한하고 관리한다. 강제적 접근 통제(MAC)를 제공하며, 취약한 서버 소프트웨어에 유용하다. 과제에서 AppAromor가 실행되는지만 확인하라고 해서 프로필은 안 만들어도될 듯 밑 부분은 추가적으로 공부하깅 하고 싶으면 하셈 ㅋ AppAromor 프로필 프로필은 /etc/apparmor.d 디렉토리에 저장됨. 서버 소프트웨어와 같은 일부 패키지는 패키지와 함께 시스템에 설치된 자체 AppArmor 프로파일로 함께 제공 될 수 있다. apparmo..

42Seoul/Born2beroot 2023.05.09

group 설정 implement

현재 내 계정에 대한 group 확인 아마 sudo랑 user42는 없을 것임. 내가 추가를 해버려서 이렇게 나타나는 것 groups 우리 사용자가 user42에 속해있어야함. sudo 그룹에 속해있어야함. user42 group 만들기 2. sudo group 만들기 3. sudo , user42 내 계정 추가 a. -G만 해버리면 jaeyojun이 sudo에 들어가게 되고 user42에 넣으면 sudo에 안 들어가게 된다. 4. 명령어를 통해 user42그룹이 primary group이 되도록 한다 추가로 공부한 거 sudo deluser : 그룹에서 사용자 제거가능 sudo userdel -r : 사용자 제거 가능 사용자 추가해보기 사용자 확인하기 cut -f1 -d: /etc/passwd USER..

42Seoul/Born2beroot 2023.05.09

sudo implement

sudo 좀 더 공부하기 sudo란? Linux 및 기타 Unix 유사 운영 체제에서는 root 계정만이 모든 명령을 실행하고 패키지 설치 및 제거, 계정 및 그룹, 시스템 구성 파일 수정 등과 같은 특정 중요한 작업을 수행 할 수 있다. sudo 명령어를 통하여 다른 일반 사용자가 일부 명령을 실행하고 시스템 작업을 수행하도록 허용 할 수 있는데, 먼저, 최소 사양으로 설치하였을 시 sudo 패키지를 따로 설치해주어야 한다. 중요한 작업을 수행하는 권한에 관련한 문제이니 모든 계정에게 sudo 권한을 부여한다면, 보안상 큰 문제가 있을 것이다. 따라서 /etc/sudoers 라는 sudo 명령어의 config file을 통해 sudo 를 사용 가능한 계정을 제한하고 몇 가지 설정으로 보안을 강화한다. ..

42Seoul/Born2beroot 2023.05.09

SSH, UFW study

SSH SSH(Secure SHell)의 줄임말로 보안이 강화된 서버 원격 접속 및 제어 도구이다. 기존 리눅스에서는 텔넷이라는 것을 사용해서 서버 요청을 하고 응답을 하였다. 하지만 텔넷 클라이언트를 토왜 서버를 조작할 때 주고 받는 데이터가 암호화 되지 않아서 해커들이 패킷을 가로채서 데이터들을 가져가는 이들이 발생했다. 이것을 막기위해 SSH라는 것이 탄생하였다. 텔넷과 마찬가지로 원격지에서 서버에 접속하고 관리할 수 있는 도구지만 통신할 때 암호화된 상태로 데이터를 주고 받으므로 보안에 더욱 뛰어나다. UFW(Uncomplicated Firewall) UFW (Uncomplicated Firewall, 언컴플리케이티드 방화벽)는 데비안 계열 및 다양한 리눅스 환경에서 작동되는 사용하기 쉬운 방화벽..

42Seoul/Born2beroot 2023.05.09

apt, aptitude study

apt와 aptitude는 패키지 관리를 처리하는 널리 사용되는 두 가지 도구이다. 설치, 제거, 검색 등을 포함하여 패키지에 대한 모든 종류의 활동을 처리할 수 있다. 패키지란? → 어떤 일을 하기 위해 필요한 응용 소프트웨어 또는 일련의 컴퓨터 프로그램들을 지칭함. 근데 이 두 가지의 차이점은 무엇일까? apt(어드밴스트 패키징 툴, Advanced Packaging Tool) 소프트웨어의 설치와 제거를 처리하는 패키지 관리 툴이다. 초기에는 데비안 패키지용으로 설계되었지만 RPM패키지 관리자 .deb와 호환되도록 만들어졌습니다. apt 특징 apt는 그래픽 인터페이스 없이 명령어로 사용한다. 설치할 패키지 이름 지정과 명령줄에서 호출 할 때마다 ‘ /etc/apt/sources.list‘에 지정된 ..

42Seoul/Born2beroot 2023.05.09

LVM, sudo study

LVM(Logical Volume Manager)는 리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분이다. 좀 더 자세하게 설명(이 부분을 보자) 리눅스의 LVM(Logical Volume Manager)이란 이름 뜻 그대로 Logical(논리적인) Volume(공간) Manager(만들게 (관리 해주는) 해주는 프로그램)이다. 엥? 우리가 평소에 디스크를 파티션을 나눈 것도 논리적으로 만든 것이 아닌가? 파티션은 논리적으로 만든 것이라고 하긴 애매하다. 파티션이란 어떤 하나의 뭔가를 여러 개로 나누는 개념으로 수박 한 통을 여러 조각으로 짜르는 개념이라고 보면 된다. 수박 한 통(디스크 하나)을 이제 원하는 크기의 여러 조각(파티션)으로 나누는 것임. 우리는 이렇게 나누는 행위를 ..

42Seoul/Born2beroot 2023.05.09

AppArmor, SELinux

이 두 개를 보기 전에 먼저 알아야 할 부분인 접근 통제가 있다. 운영 체제에서(OS) 접근 통제는 디렉토리나 파일, 네트워크 소켓 같은 시스템 자원을 적절한 권한을 가진 사용자나 그룹이 접근하고 사용할 수 있게 통제하는 것이다. 접근 통제에서 시스템 자원을 객체(Object)라고 하며 자원에 접근하는 사용자나 프로세스를 주체(Subject)라고 한다. 예를 들어 /etc/passwd 파일은 객체이고, 이 파일에 접ㅈ근하여 암호를 변경하는 passwd라는 명령어는 주체 DAC(임의적 접근 통제, Discretionary Access Control) 주체(소유자/사용자)가 속해있는 그룹의 신원에 근거하여 객체(파일)에 대한 접근을 제안하는 방법. 객체의 주체가 접근 여부를 결정한다. (분산형 보안관리) 하..

42Seoul/Born2beroot 2023.05.07

Debian, Rocky study

Debian, Rocky는 둘다 오픈 소스 운영 체제임. Debian 가장 널리 사용되는 오픈 소스 운영 체제 중 하나. 자유 소프트웨어 정책을 따른다. 패키지 매니저 중 APT(Advanced Package Tool)이라는 패키지 매니저를 사용한다. APT는 패키지를 쉽게 검색하고 다운로드 하며, 의존성을 자동으로 해결할 수 있어 소프트웨어 설치 및 업데이트를 쉽게 관리 가능합니다. Debian Linux는 dpkg를 사용하여 패키지를 설치, 제거 및 관리합니다. dpkg는 패키지를 설치하기 전에 의존성을 검사하고, 패키지 설치 중에 에러가 발생하면 자동으로 롤백합니다. 다양한 아키텍처 x86, ARM, PowerPC등 다양한 아키텍처를 지원한다. 이는 다양한 하드웨어 및 임베디드 시스템에서 사용될 수..

42Seoul/Born2beroot 2023.05.07

리눅스 study

운영체제란? 운영체제 개념 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 괸라히며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다. 운영체제 구조 -> 운영체제는 커널과 인터페이스로 이루어져 있다. 커널 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로 운영체제의 성능을 좌우합니다. (자동차의 엔진에 해당한다. 인터페이스 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할을 합니다. 리눅스 리눅스의 ..

42Seoul/Born2beroot 2023.05.07