[정보처리기사] SW 개발 보안을 위한 공격기법의 이해
·
책/2024 수제비 정보처리기사
DoS 공격-> 시스템을 악의적으로 공격해서 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격-> 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 소진시키는 등의 공격DoS공격의 종류공격기법설명SYN 플러딩-> TCP 프로토콜의 구조적인 문제를 이용한 공격-> 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격UDP 플러딩-> 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP Destination Unreachable)를 생성하게 하여 지속해서 자원을 고갈시키는 공격-> ICMP 패킷은 변조되어 공격자에게 전달되지 ..
[Spring] Tomcat Server 기동 시 Listener와 Spring IoC Container의 초기화 과정
·
Spring
Tomcat 서버와 리스너 개요Tomcat 서버가 켜지면 먼저 서블릿 컨테이너가 동작한다. 이때 웹 애플리케이션이 초기화되고, 설정 파일(web.xml 등)에 정의된 리스너가 등록돼 동작을 시작한다. 리스너는 서버의 상태 변화(시작, 종료, 세션 생성 등)를 감지하는 역할을 한다.Listener와 Spring IoC 컨테이너 초기화ContextLoaderListener가 web.xml에 등록돼 있으면 톰캣이 켜질 때 이 리스너가 동작해서 Spring의 ApplicationContext.xml를 초기화한다. 이 과정에서 Spring의 IoC 컨테이너가 생성된다.Listener는 주로 ApplicationContext 를 설정하고, 필요한 Bean들을 로딩한다. Spring Application은 이때 XM..
[Spring] 2-Layered 아키텍처 정리
·
Spring
2-Layered 아키텍처는 코드의 결합도를 낮추고, 유지보수를 쉽게 하기 위해 설계된 구조이다.이 아키텍처는 서비스 레이어를 추가하여 프레젠테이션 레이어(Controller)와 데이터 접근 레이어(DAO) 간의 결합도를 낮추는 방식으로 동작한다.아키텍처의 구성프레젠테이션 레이어 (Controller)사용자의 요청을 받아 적절한 서비스로 전달한다.주로 요청 처리와 응답을 관리하며, 비즈니스 로직을 직접적으로 처리하지 않고 서비스 레이어를 통해 처리한다.서비스 레이어 (Service)비즈니스 로직을 처리하고, DAO를 사용해 데이터베이스와 상호작용한다.주된 역할은 데이터를 가공하고, 트랜잭션 관리 등의 비즈니스 로직을 담당하는 것이다.주요 특징 및 장점결합도 감소Controller와 DAO 사이의 직접적인..
[Spring] 스테레오타입 어노테이션과 @RequestMapping
·
Spring
Spring에서 제공하는 스테레오타입 어노테이션은 개발자가 클래스의 역할을 명확하게 정의하고, 해당 클래스의 빈(Bean) 관리를 Spring 컨테이너에게 맡길 수 있게 해준다.이를 통해 코드의 구조화와 성능 최적화를 달성할 수 있다. 스테레오타입 어노테이션 종류@Component가장 범용적인 스테레오타입 어노테이션이다. 일반 객체를 Spring 컨테이너에서 관리하도록 할 때 사용한다. @Component를 상속받은 어노테이션@Component를 상속받은 어노테이션중  @Repository, @Service, @Controller 이렇게 3개를 정리해보려고 한다. @Repository는 데이터 액세스 계층(DAO)에서 사용한다.@Repositorypublic class MemberDAO {// 생략.....
[Spring] ViewResolver
·
Spring
ViewResolver ?ViewResolver(VS)는 말 그대로 뷰(View)를 결정하는 역할을 한다.Spring MVC 구조에서, 컨트롤러가 요청을 처리한 후, 클라이언트에게 어떤 뷰 페이지를 보여줄지 결정할 때 ViewResolver가 개입하게 된다. 페이지 이동 시 VR이 관여하고, setter 주입 방식을 사용하므로 prefix와 suffix를 property로 설정한다.컨트롤러가 반환하는 뷰의 이름(예: "login" 또는 "main")을 받아서 실제 JSP 파일 경로로 변환해주는 객체가 바로 ViewResolver다. Spring에서는 다양한 ViewResolver를 제공하는데, 그 중 가장 많이 사용하는 것은 InternalResourceViewResolver다.이 ViewResolver..
[Spring] org.springframework.beans.factory.BeanDefinitionStoreException 에러
·
에러일기
원인빈 이름이 충돌했기 때문이다.이 에러같은 경우는 친절하게 왜 그런지 읽어보면 알려준다.Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'board' for bean class [com.yn.app.biz.board.BoardServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.yn.app.view.board.BoardController] board 라는 빈 이름이 겹쳐서 그렇다고 한다. 해결방안겹치지 않도록 바꾸면 된다.
[Spring] DispatcherServlet과 Spring MVC의 핵심 흐름 분석
·
Spring
이전 글 이어서 ..https://yn98.tistory.com/88 [Spring] DispatcherServlet, ViewResolver , DI 방식 정리이번 포스팅에서는 DispatcherServlet과 ViewResolver의 역할, 의존성 주입 방식, 그리고 JSP에서 스프링으로 넘어가는 과정에 대해 다루려고 한다. DispatcherServlet의 기본 구조 DispatcherServlet은 스프링 프레yn98.tistory.com앞선 글에서, DispatcherServlet에 알아봤다. 다시 DispatcherServlet에 대해 정리하자면, 앞에 글의 DispatcherServlet는 진짜 DispatcherServlet이 아니라 이해를 위해 임의로 코드를 작성한 것이다.실제 Dispa..
[Spring] DispatcherServlet, ViewResolver , DI 방식 정리
·
Spring
이번 포스팅에서는 DispatcherServlet과 ViewResolver의 역할, 의존성 주입 방식, 그리고 JSP에서 스프링으로 넘어가는 과정에 대해 다루려고 한다. DispatcherServlet의 기본 구조 DispatcherServlet은 스프링 프레임워크에서 요청을 처리하고, 적절한 컨트롤러로 전달한 뒤 응답을 제공하는 중심 역할을 담당하는 서블릿이다.이 서블릿은 FrontController 역할을 하며, 클라이언트의 요청을 받아들이고 HandlerMapping을 통해 적절한 컨트롤러를 찾아 처리 후, ViewResolver를 통해 응답을 생성한다.즉, FrontController == DispatcherServlet 라고 생각하면 된다.package com.yn.app.view.control..