SERVER/ubuntu 6

[리눅스시스템 보안]웹서버 구축 및 취약점을 통한 해킹2

1.웹 로그분석웹서버의 접근 로그는 /var/log/apache2에 위치하며 다음과 같이 기본 점근 로그의 구조를 파악해야한다.192.168.156.18 - - [06/Jul/2024:15:07:24 +0900] "GET /board/login_chk.php HTTP/1.0" 200 394 "-" "Mozilla/5.0 (Hydra)"[순서대로] 접속자IP주소 ,접속시간 ,요청방식/요청페이지 ,프로토콜버전 ,HTTP응답코드 ,전송크기 ,접속브라우저도구 2.아파치 보안 설정2.1 심볼릭 링크 기능 비활성화 웹서버를 운영할때 리눅스의 심볼릭 링크 기능을 활용하면 웹 문서 경로이외의 경로에 접근할수 있다.1.심볼릭 링크 생성root@k-VirtualBox:/var/www/html# ln -s / sym.htm..

SERVER/ubuntu 2024.07.06

[리눅스시스템 보안]웹서버 구축 및 취약점을 통한 해킹

웹서버 구축은 아래와 같이 한다.※웹 서버 구축>아파치 + php + maria db설치1.패키지 정보 update   # apt update2.아파치 웹서버 설치(기본2.4.x버전)    # apt install apache2 -y3.mariadb설치    # apt install mariadb-server -y4.php모듈 설치    # apt install php php-mysql -y5.패키지 정보를 확인하여 취약한 버전이 설치되어있는지 점검    # apt show apache26.웹서비스 시작 및 mariadb시작    #systemctl start apache2    #systemctl start mariadb7.방화벽 확인 후 정책 추가    # ufw enable     # root@k-..

SERVER/ubuntu 2024.06.30

[리눅스시스템보안]PAM으로 사용자 계정 보안

PAM(인증모듈)은 Pluggable Authentication Modules의 약자로 리눅스 시스템의 사용자의 인증을 담당하는 모듈이다. ※PAM처리 흐름도1.로그인시도 >2.구성확인(PAM구성파일)>3.PAM모듈에 사용자 신원 확인 >4.확인 후 로그인 허용  ※PAM의 구성 파일은 모듈타입,ControlFlag,PAM모듈,Module Arguments총 네가지이다.#모듈 타입 4가지모듈설명authentication module비밀번호,공개키(public key)를 이용하여 사용자의 신원을 확인하는 모듈account module계정만료,시간,특정 서비스 접근 권한등 인증 조건을 검사하는 모듈password module비밀번호갱신,비밀번호 복잡도등을 설정하는 모듈session module사용자 세션의 ..

SERVER/ubuntu 2024.06.23

[리눅스시스템보안]방화벽

정의 : 방화벽이란 불법으로 외부에서 침입하는 것을 차단하고 내부에 정보가 유출되는것을 방지하는 침입차단 시스템 서버간 통신 데이터를 패킷이라고 부르는데 외부에서 들어오는 패킷은 인바운드라고 하고, 서버에서 나가는 패킷은 아웃바운드라고한다. 이 패킷의 정책을 설정하여 정책에 따라 패킷을 허가하거나 거부하는 방식으로 동작한다. 리눅스 방화벽은 크게 리눅스 커널을 제어하여 실제 네트워크 패킷을 필터링하는 방화벽 처리부와 필터링 정책을 추가/제거하는 방화벽 제어부로 구성된다. 우분투는 ufw(Uncomplicated Firewall)방화벽 시스템을 사용하고, redhat linux는 firewalld방화벽 시스템을 사용한다. 방화벽 처리 흐름을 보면 리눅스 커널에는 nftables프레임워크가 패킷을 필터링(허..

SERVER/ubuntu 2024.06.23

[리눅스시스템보안]사용자계정

1.사용자 계정 관리사용자 계정의 보안을 위협하는 유형은 무차별 대입공격(사전대입 공격)과 시스템계정의 유출,파일 및 디렉터리의 변조와 유출로 나뉜다.아래와 같이 계정을 만들어 보자(-m을 사용해야 ( home/계정명 )이 생성이 된다.) 위의 이미지와 같이 sudo passwd -S user_test명령어를 입력하면 user_test에 P와 같은 메시지를 볼수 있다.(P:비밀번호가 설정되어있는 상태 ,L:비밀번호가 잠겨있는상태)만약 해당 사용자의 계정을 잠가버리고 싶을 경우 sudo usermod -L 을 이용하여 잠그면 된다.잠금을 해제할 경우에는 sudo usermod -U 을 입력하면 된다.2.사용자 로그인 제한아래와 같이 서비스 관리용으로 사용하는 계정들은 셸코드 마지막 부분이 /sbin/nol..

SERVER/ubuntu 2024.06.16

[리눅스 시스템 보안] GRUB

1.부트로더리눅스가 부팅될때 BIOS에서 하드웨어 장치를 인식하고 초기화한다.하드웨어에 문제가 없으면 부트로더를 주기억 장치(RAM)에 로드하고 부트로더를 실행한다.부트로더는 부팅에 필요한 리눅스 커널을 로드하고, 그후 리눅스의 init프로세스가 시작되면서 리눅스 프로그램을 실행한다.사용자 전원On >하드웨어 초기화(BIOS) >부트로더실행(GRUB) > 선택된 커널 실행 > Runlevel에 따라 프로그램 실행  아래의 파일 수정[root@see]sudo vi/etc/grub.d/00_header아래와 같이 sudo update-grub환경을 적용적용을 하고 reboot를 하게 된다면 아래와 같이 grub의 권한을 물어보는 과정이 추가된다.

SERVER/ubuntu 2024.06.16