분류 전체보기
-
[AWS] AWS WAF 적용 시, 주의해야 할 Default 설정들Back End/AWS 2022. 12. 17. 16:46
AWS Immersion Day 에서 소개 받은 AWS WAF v2 를 적용하면서 Default 설정 때문에 필자가 직면했던 문제점들에 대한 포스팅입니다. 이전 포스팅 [AWS] 서비스에 WAF 적용하기 WAF 란? WAF(Web application firewall) 는 OSI 4레벨 layer 가 아닌 7레벨 Layer 에 적용되는 방화벽이다. WAF 라는 서비스를 사용하여 OWASP’s Top 10 Web Application Vulnerabilities 에 대한 방어를 어느정도 쉽게 구축할 developer-ping9.tistory.com 서론 보통 회사의 직원으로써 자사상품은 항상 좋은점만 소개한다. AWS WAF 도 그랬다... (그래서 홀렸다...) AWS 에서 제공하는 Rule 들로 WAF..
-
[AWS] CloudWatch Log Insight value counts (CloudWatch Log Insight 에서 groupby count 사용하기)Back End/AWS 2022. 12. 17. 15:19
CloudWatch LogInsight 에서 GroupBy 문을 사용하여 Count 를 할 수 있다. 예제 데이터와 쿼리문은 아래와 같다. Example Data From CloudWatch { "timestamp": 1670839795503, "rule": [ { "ruleGroupId": "AWS#AWSManagedRulesCommonRuleSet", "terminatingRule": null, "nonTerminatingMatchingRules": [ { "ruleId": "SizeRestrictions_BODY", "action": "COUNT", "overriddenAction": "BLOCK", "ruleMatchDetails": [] } ], } ], "uri": "/my/api", "arg..
-
[Spring Security] Filter 가 두번 실행될 때 (when filter get executed twice in Spring)Back End/서버 비용 2022. 12. 17. 15:07
Case 갑자기 내가 작성한 AuthenticationFilter 가 2번 실행되는 현상을 목격했다. 단순히 chain.doFilter() 를 기준으로 앞뒤로 실행되는 것이 아닌 정확히 모든 로직이 2번이 실행되는 것이다. Cause 원인은 아래 예제코드와 같이 Spirng Security 에 등록할 필터를 Bean 으로 등록하고, Security Config 에서 또 Filter 를 추가한 데 있었다. @Configuration @EnableWebSecurity(debug = false) @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) class SecurityConfig { @Bean fun filterChain( a..
-
[Spring Data JPA] DB 예약어 처리 (You have an error in your SQL syntax)Back End/Spring Data JPA 2022. 12. 9. 18:25
실 DB 에 JPA 를 붙이다보면 가끔 마주하는 현상이다. 에러 메세지도 모호하기 그저 없다. SQL 문법이 틀렸다, SQL을 실행할 수 없다. 컬럼이 없다. 등등 차라리 Keyword Constraint 에 걸렸다고 해주지.... 무튼 모호한 에러메세지라면 한번 쯤 DB Keyword 에 걸리지 않았는지 생각해보자. DB 예약어(Keyword) 를 위반한 엔티티 @Entity class UserAttendanceEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(columnDefinition = "INT") val id: Long? = null @Column(columnDefinition = "INT") val userIdx..
-
[AWS] EventBridge 에서 Lambda 를 Trigger 하기Back End/AWS 2022. 11. 13. 17:51
Rule 생성 EventBrdige -> Rules 에서 Rule 생성 Schedule Job 으로 이벤트를 발생시킬 것인지, Event Pattern 으로 이벤트를 발생시킬지 선택하고 생성한다. Target 은 당연히 Lambda 로 생성하면된다. Resource Based Policy Statements 추가 Add Permission 을 선택하여 Action = lambda:InvokeFunction 을 추가한다.
-
[트러블슈팅] File: can't read input file : IOException 해결방법Back End/트러블슈팅 2022. 11. 13. 16:32
파일 권한 문제일 수도 있고, 소스경로가 틀렸을 수도 있고 원인은 다양하다. 아래의 File 내부 메서드로 내가 처한 상황이 어떠한 상황인지 확인할 수 있다. File file = iWantToRead(src); file.exists(); // 존재자체는 하는지 file.canRead(); // 읽기 권한이 있는지 file.isDirectory(); // 디렉토리인지 file.getAbsolutePath(); // 읽었다면 파일의 절대경로는 어디인지
-
[Java] multipartFile 이미지 리사이징 예제코드프로그래밍 언어/Java 2022. 11. 13. 16:27
사용자가 업로드 한 로고이미지를 리사이징한 후 S3 버킷에 저장해야하는 로직을 구현할 일이 있었다. 아래는 이미지를 컨트롤러에서 받아 리사이징 하는 코드이다. Using Java Library public class ImageUtils { public static File multipartFileToFile(MultipartFile multipartFile) throws IOException { File file = new File(multipartFile.getOriginalFilename()); multipartFile.transferTo(file); return file; } public static BufferedImage resizeImage(MultipartFile image, int maxW..