Java
-
LombokJava/Spring 2018. 9. 30. 03:16
Spring Web 개발 중에 VO를 만들다보면 Getter/Setter를 이용하게 된다. 너무 많아지면 지저분하고 복잡하게 된다. 그래서 어노테이션으로 해결할 수 있는 라이브러리가 Lombok이다. pom.xml에서 lombok을 추가한다. 2345 org.projectlombok lombok 1.18.2 그 후 .m2 repo 경로 안에 lombok-해당version.jar를 찾아서 java -jar lombok-version.jar를 입력하면 고추모양이 들어간 installer가 뜬다. 사용하는 IDE를 선택하고 install / update를 누르면 완료 된다. IDE를 재시작 후 사용하면 된다. @Data나 @Getter @Setter 등을 이용한다.
-
Spring SecurityJava/Spring 2018. 9. 11. 16:24
Spring Security 보안에 있어서 가장 중요한 개념은 “인증(Authentication)”과 “권한부여(Authorization)”이라 할 수 있다. 인증(Authentication)이란 애플리케이션의 사용자가 해당 사용자가 주장하는 본인이 맞는지 확인하는 절차로써 아래와 같은 방법을 사용할 수 있다. - 크리덴셜 기반 인증 : 사용자명과 비밀번호를 이용한 방식 - 이중 인증 : ATM기기를 이용할 떄처럼 물리적인 카드와 사용자가 입력한 개인정보를 조합하는 방식 -> OTP, 핸드폰 본인인증 - 하드웨어 인증 : 자동차 키와 같은 방식 권한부여(Authorization)란 인증을 통해서 인증된 주체를 하나 이상의 권한에 매핑해, 보호된 리소스에 대한 권한을 체크하는 것을 말한다. - 인증이 되었..
-
Secure - 잘못된 접근 제어Java/Spring 2018. 9. 11. 13:22
잘못된 접근 제어 접근이 허락된 사용자만 접근할 수 있도록 하고, 그 외에는 접근하지 못하게 한다. -> Update, Delete 특정기능에 대해 적절한 인증과 인가 작업이 수행되지 않는 경우 -> 인증 : 로그인 되있는지, 인가 : 기능을 수행할 권한이 있는지 비 인가된 기능에 대해 UI를 제공하지 않아야 한다. -> 버튼 안보이게 하기 공격자가 제공한 정보에 대한 점검작업이 서버실에서 수행되지 않는 경우를 막아야 한다. 공격자는 UI를 통하지 않고 URL을 직접 조작해서 관리자 페이지로 접근을 시도한다. 페이지에 인증, 인가 작업이 수행되게 해서 인증, 인가가 되지 않으면 튕겨버리게한다. Redirecf / Forward 웹 애플리케이션이 사용자가 입력한 값을 사용해 다른페이지로 이동시키는 기능을 ..
-
Secure - 암호화정책Java/Spring 2018. 9. 10. 15:51
암호화정책 데이터 저장시 안전한 암호 알고리즘을 사용해 암호화된 데이터를 전송하도록 해야된다. - 개인정보를 위해서 복호화가 가능한 암호방식, 복호화가 불가능한 암호방식이 있다. 비밀번호나 계좌, 주민번호등은 복호화가 안되게 해야 안전하다. - 단방향 - 해시함수 Http는 취약하다 Http에 SSL인증서를 더한 안전한 프로토콜이 Https다. 중간에 내용을 캐치당하더라도 내용이 변조될 위험이 적다. 블록암호 - 복호화가 가능한 암호, 양방향 암호 단방향 암호에서는 똑같은 암호를 입력해서 같은 값이 나오면 진행한다. 단방향 암호 해시함수에서는 SHA-256이 많이 쓰인다. 슈퍼컴퓨터로 복호화하려해도 30만년 이상 걸리는 어려운 함수다. 양자컴퓨터에서는 더 쉽게 풀리는 단점이 있지만, 현존하는 컴퓨터 세대..
-
Secure - FileJava/Spring 2018. 9. 10. 15:32
파일 업로드/다운로드 취약점 파일의 타입이나 확장자를 체크하지 않는 취약점 - 파일을 업로드할때 난수화 시키면 막을 수 있다., 애초부터 배치파일을 못보내게 한다., 특정파일을 업로드하지 못하게 막아둔다, 실행가능한 파일을 업로드 한 뒤 에러가 발생하는지 확인한다. - Spring mvc방법을 쓰면 동작되는 방법이 다르기 때문에 동작되지 않는다. 큰 사이즈 파일 업로드 취약점 진단. - 업로드할때 사이즈를 지정시켜서 막을 수 있다., 업로드되는 파일은 외부에서 직접 접근이 불가능한 경로에 저장한다. 타입이나 확장자를 체크한다. 파일체크 - MimeTypeCheck