묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
hasRole 과 hasAuthority 의 차이
안녕하세요 hasRole 과 hasAuthority 의 차이가 없는 거 같아서 질문 드립니다.기능 상 차이가 없다면 용도의 차이가 있는지 궁금합니다.
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
Basic Authorization 헤더는 인증 후 모든 요청에 자동으로 설정되는 건가요?
안녕하세요 선생님, 질문이 있습니다.[ 기본 인증 필터 - BasicAuthenticationFilter ] - 14:00 ~ 14:20 부분에서 Http Request Header 에 Authroization Header 가 자동으로 세팅이 되는데, 이건 브라우저가 지원해주는 기능인 건가요??
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
REST 방식과 폼 인증 방식의 차이점과 언제 적용하는 질문입니다.
타임 리프로 페이지를 구성한다면 CSRF 토큰을 타임리프에서 자동으로 생성하기 때문에 직전 세션인 [실전 프로젝트 - 회원 인증 시스템] 강의 내용으로 스프링 시큐리티 설정이 충분하지만, 타임 리프가 아닌 자바스크립트 기반의 뷰나 리액트 등으로 페이지를 구성할 때에는 [실전 프로젝트 - 비동기 인증] 으로 스프링 시큐리티를 설정해야 되는 것으로 생각하면 될까요?그 이유는 CSRF 토큰을 자바스크립트에서는 자동으로 생성하지 않기 때문이다. 라고 이해했는데 다른 이유가 혹시 더 있을까요?
-
해결됨CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)
안전성 확보조치 기준이 언제 버전인지 궁금해요
2조의 정의와제5조의 3항의 내용이 고시 제2023-6호, 2023.9.22 시행 및 일부개정 버전과 다른거 같아서욤.. 국가법령정보센터에서 법령체계도로 봤을 때 저는 9월 22일 시행자료가 최신인 것으로 이해했는데 혹시 다른 버전이.. 어딘가 있나요?
-
미해결
spring Security 구현중 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 에러 발생
https://github.com/myungkeun02/spring_blog_3공부하고있는 코드입니다.제목 그대로 포스트맨으로 테스트중에Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception라는 에러가 발생합니다.구글링해서 문제가 발생할만한 부분을 모두 찾아 보았지만 해결이 안되어 글 올려봅니다.해결해주시는분께 아메리카노 쏩니다
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
SecurityContextHolderStrategy 관련 질문
리멤버미 인증에서 doFilter 호출한 시점에서 securityConttextHolderStrategy는 요청-응답 흐름에서 SecurityContext를 어떻게 관리할 것인지 관리하는 전략인데 이것은 세션과 다르고 기본 구현체로 ThreadLocalSecurityContextHolderStrategy가 사용되어 개별 스레드 단위로 격리되어 SecurityContext가 관리되는 것으로 알고 있습니다.강의에서 이 부분을 세션에 저장되어있는지 확인하고 리멤버미 인증을 시작할 것인지 아닐 것인지 결정하는 것으로 말씀 주셨는데, 정확히는 앞에 있는 필터에서 인증을 거치고(기본적으로 세션 인증) 인증 결과를 SecurityContextHolderStrategy에 저장시킨 상태에서 인증이 됐는 지 여무를 확인하는 것을 축약해서 말씀해주신 것인지 혼동이 있어서 질문드립니다.
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
강의자료 오타 제보
UsernamePasswordAuthenticationFilter 설명부 이미지 GET /login 이 아니라 POST /login 같습니다!
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
Kotlin DSL 활용
import org.springframework.security.config.annotation.web.invoke시큐리티 5.3부터 Kotlin 환경에서 스프링 시큐리티를 사용하실 때 DSL을 지원받을 수 있습니다.공식문서에 나와있습니다.(https://docs.spring.io/spring-security/reference/servlet/configuration/kotlin.html)이 DSL을 사용한 예제 프로젝트도 제공됩니다. (https://github.com/spring-projects/spring-security-samples/tree/main/servlet/spring-boot/kotlin/hello-security) DSL 문 삽입은 IDE의 지원을 받을 수 없어서 위 import 문을 직접 작성해야합니다. @Configuration class SecurityConfig { @Bean fun securityFilterChain(http: HttpSecurity): SecurityFilterChain { http { authorizeHttpRequests { authorize("/", permitAll) authorize(anyRequest, authenticated) } formLogin {} rememberMe { } sessionManagement { sessionCreationPolicy = SessionCreationPolicy.STATELESS } } return http.build() } } 예를 들면 위와 같이 DSL의 지원을 받아 설정을 구성할 수 있습니다.람다 표현식을 작성하지 않고 설정할 수 있습니다.IDE를 통해 DSL 설정 클래스를 쭉 따라가보면 어떤 파라미터를 전달하면 될지 확인할 수 있는데 이를 참고하면 좀 더 편리하게 설정을 사용할 수 있습니다.다만 일부 설정은 제공되지 않는 것도 있어서 해당하는 부분은 Spring에서 제공되는 API 그대로 사용하셔야합니다.
-
해결됨CPPG 자격증 취득 과정 (2024년)
교재 제공 문의 드립니다.
안녕하세요 기술사님. 인프런에서 강의를 수강하는 경우 별도의 프린트물 교재는 제공(배송)되지 않는 것인지 궁금합니다.
-
미해결
postman에서 authorization이 안보입니다.
jwt를 공부하던 중 JwtAuthenticationFilter에 있는 successfulAuthentication메서드에서 response.addHeader("Authorization", "Bearer "+ jwtToken); 이렇게 header값에 추가를 해주었는데 postman에서 send를 해도 response의 headers쪽에 authorization라는 키값이 안보입니다... 무슨 다른 설정을 해주어야 할까요?
-
미해결롱런하는 슈퍼 개발자가 되기 위한 필수 지식, IT 인프라 기초 총정리
네트워크 프로토콜과 계층 강의
안녕하세요 강의 문의 드립니다.10:34에 검은색 화면으로 넘어가는데 강의가 끝나서 이렇게 넘어가는게 맞는거죠??
-
해결됨CPPG 자격증 취득 과정 (2024년)
개인정보 영향평가 결과 구분 문의 드립니다.
절차,체계, 현황, 증거로 구분하여 모두 충족하는 경우 이행, 일부 충족 부분이행, 모두 미충족 미이행으로 이해하였습니다. 쭉 읽다보니 19번 항목이 헷갈려서 문의 드립니다.개인정보의 열람, 정정/삭제, 처리정지 요청방법은 안내 : 이행불복 청구 절차 및 방법은 안내하지 않음 : 미이행이럴 경우 부분이행으로 판단하는 것이 맞지 않은지?이 부분에서 영상 진행이 매끄럽지 못한 것 같아 문의 드리니 확인 부탁 드리겠습니다.
-
해결됨CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)
강의 내용 문의
강의 내용이랑 네이버 판매자료 가 상이 합니다 언제쯤 업데이트 예정인지 그리고 동영상 속 강의 자료로 업데이트 하시는 지 궁금하네요 빠른 답변 부탁 드립니다 아님 다른 강의 자료 구매를 해야하기 때문에 환불 요청 드려요
-
해결됨CPPG 자격증 취득 과정 (2024년)
T5. 중 ISMS-P 인증심사원 표 수정 요청 드립니다.
페이지의 왼쪽 표의 제목이 등급별 자격 요건이 아니라 경력 대체 요건으로 변경되어야 합니다. 실제 공고 내용을 보면 각각의 구분에 해당하는 경력에 대해서 기술하고 있고, 해당 표는 경력을 대체할 수 있는 요건인데 헷갈리게 되어 있습니다. 동영상 설명도 명확하게 짚어주셨으면 합니다.
-
미해결롱런하는 슈퍼 개발자가 되기 위한 필수 지식, IT 인프라 기초 총정리
애플리케이션 서버의 동적 컨텐츠가 동영상?
안녕하세요섹션1의 "서버의 역할과 종류" 강의 7:00 시점에 설명하고 계신애플리케이션 서버가 제공하는 동적 콘텐츠에 대해움직이는 컨텐츠가 동적 콘텐츠라고 설명하고 계십니다.눈으로 움직임을 관찰할 수 있는 컨텐츠, 동영상, 반짝이는 효과같은 걸 동적컨텐츠라고 설명하고 계신데이게 저는 잘못된 설명같습니다. 웹 서버 - 정적 컨텐츠 - 이미지, 텍스트 파일 - Apache HTTP server어플리케이션 서버 (WAS) - 동적 컨텐츠 - 어플리케이션 내부 로직에 따라 변하는 데이터 - Apache Tomcat Server 위와 같은 개념으로 알고 있는데요,설명하신 동영상도 결국 시퀀스가 정해진 이미지들이 압축된 형식의 파일같은 거라 정적인 컨텐츠로 봐야할 것 같은데요,.. 동적이라는게 진짜 움직여서 동적이라고 하는게 아니라로직에 따라 변화하기 때문에 동적이라고 하는 것으로 알고 있습니다.. 수학에서 말하는 상수가 정적, 변수가 동적에 대응한다고 봅니다..다른 서적들을 봐도 그리고 개발자로서 경력상was의 동적 컨텐츠를 동영상이라고 하는 설명은 처음 듣네요... was = 동적 컨텐츠 = 동영상으로 설명해버리셔서 그 뒤에 이어지는 was 역할도 동영상을 비유해서 하셨는데 잘못된 것 같습니다...was에는 예를 들어 jvm이 구동할 수 있는 java 프로그램이 설치됩니다.클라이언트의 요청을 받아서 java프로그램이 처리할 수 있게 하는 서버가 was(어플리케이션 서버)입니다.개발자가 프로그래밍 한대로 데이터가 응답되겠죠..그래서 동적 컨텐츠라고 하는 것으로 알고 있습니다. 혹시나 제가 잘못 이해한 것이라면 죄송합니다.그러나 강의에서 잘못 설명하신 거라면 꼭 정정하셔야 할 것 같습니다. 확인 부탁 드립니다.감사합니다.
-
미해결[보안] Wazuh+ELK(SIEM)를 활용한 위협헌팅(Threat Hunting) 시스템 구축 및 운영실습 (기초)
웹사이트에 파일 업로드가 안됩니다.
05_시나리오 #2 (리눅스 웹쉘, 디페이스 공격) 실습 중입니다.구체적으로 이제 web.py 실행하여 웹페이지에 deface.py를 업로드를 하는데 자꾸 No file provided라고 메시지가 출력됩니다. web.py를 아래와 같이 수정해서 어떤 오류가 나타나는지 확인했고from flask import Flask, request, render_templateimport osimport subprocessimport loggingfrom logging.handlers import RotatingFileHandlerapp = Flask(__name__, template_folder='./uploads')log_location = "/home/wazuh/flask_app.log"logging.basicConfig(filename=log_location, level=logging.INFO)handler = RotatingFileHandler(log_location, maxBytes=10000, backupCount=3)formatter = logging.Formatter("[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s")handler.setFormatter(formatter)app.logger.addHandler(handler)@app.route('/', methods=['GET'])def index(): return render_template('index.html')@app.route('/execute', methods=['POST'])def execute_file(): app.logger.info(f"Files: {request.files}") app.logger.info(f"Form Data: {request.form}") file = request.files.get('file') if file: filepath = f"./uploads/{file.filename}" file.save(filepath) os.chmod(filepath, 0o755) try: output = subprocess.check_output(filepath, shell=True).decode('utf-8') return f"Output: {output}" except Exception as e: return f"Error executing file: {str(e)}" return "No file provided"if __name__ == '__main__': app.run(debug=True)아래는 flask_app.log 입니다ImmutableMultiDict([]) 이라고 나타나는것을 볼 수 있는데 클라이언트로부터 전송된 파일이 없다고 말합니다.웹페이지는 아래와 같습니다.
-
해결됨롱런하는 슈퍼 개발자가 되기 위한 필수 지식, IT 인프라 기초 총정리
포워드 프록시 서버 문의
안녕하세요 포워드 프록시 서버 문의드립니다. 보여주신 강의 자료에는 웹 서버가 캐시 서버보다 앞에 존재하는 그려져 있는데 포워드 프록시 서버에 대해 찾다 보니깐 포워드 프록시 서버는 웹 서버보다 앞에 존재하는 걸로 나와있는데 어떤게 맞는걸까요?ㅠㅠㅠㅠㅠ
-
해결됨[보안] Wazuh+ELK(SIEM)를 활용한 위협헌팅(Threat Hunting) 시스템 구축 및 운영실습 (기초)
virustotal 코덱 문제 해결 요청합니다.
안녕하세요 이번 실습부터 갑자기 wazuh 서버로 이벤트 로그를 잘 보내던 Windows 클라이언트로부터 더 이상 이벤트를 받지 못하고 있습니다. 도와주셨으면 합니다.둘이 서로 네트워크 연결 문제 및 설정이 제대로 되어있는지 확인 및 에이전트 / 서비스 재시작을 다수 해봤으며, 에러로그는 아래와 virus total codec 문제인것을 볼 수 있었습니다. 지금 alerts.log는 virustotal 다른 사람들의 결과물에 비해 좀 부실하게 작성되어서 나와있길레 가져왔습니다. (해당 로그에서 시스템 무결성 체크나 netstat 명령을 가져오는건 잘 보입니다.) 또한, 강좌에서 나온것 처럼 sysmon 이벤트로그에서 calc, vss 관련로그도 정상적으로 등장하는것을 확인했습니다. -wazuh server-/var/ossec/logs/ossec.log2024/01/25 03:07:15 wazuh-integratord: ERROR: Unable to run integration for virustotal -> integrations2024/01/25 03:07:15 wazuh-integratord: ERROR: While running virustotal -> integrations. Output: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 1481: invalid start bytevar/ossec/logs/alerts/alerts.log** Alert 1706119676.269841153: - virustotal,2024 Jan 25 03:07:56 (DESKTOP-8KIVUDS) 윈도우IP->virustotalRule: 87103 (level 3) -> 'VirusTotal: Alert - No records in VirusTotal database'{"virustotal": {"found": 0, "malicious": 0, "source": {"alert_id": "1706119670.269839011", "file": "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\bam\\State\\UserSettings\\S-1-5-21-2409306197-2214590480-1851912469-1000", "md5": "a1d87ba945282fbbd3276dc1b9918a23", "sha1": "4b6965b3c854f07763683c778774221fecf263b4"}}, "integration": "virustotal"}virustotal.found: 0virustotal.malicious: 0virustotal.source.alert_id: 1706119670.269839011virustotal.source.file: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\bam\State\UserSettings\S-1-5-21-2409306197-2214590480-1851912469-1000virustotal.source.md5: a1d87ba945282fbbd3276dc1b9918a23virustotal.source.sha1: 4b6965b3c854f07763683c778774221fecf263b4integration: virustotallocal_rules.xml 파일 설정 내용은 아래와 같습니다. <!-- Sysmon Wazuh Rules version 1.0--><group name="local,syscheck,"> <!-- Rule for ZEROMINI_RANSOM_NOTE.txt --> <rule id="100001" level="10"> <decoded_as>json</decoded_as> <field name="syscheck.path">C:\\Users\\User\\Desktop\\ransom_test\\ZEROMINI_RANSOM_NOTE.txt</field> <description>ZEROMINI_RANSOM_NOTE.txt file detected.</description> </rule> <!-- Rule for .koyange extension --> <rule id="100002" level="10"> <decoded_as>json</decoded_as> <field name="syscheck.path">\.koyange$</field> <description>File with .koyange extension detected.</description> </rule></group><group name="sysmon,sysmon_process-anomalies,"><rule id="300001" level="13"> <if_group>sysmon_event1</if_group> <field name="win.eventdata.Image">calc.exe</field> <description>Calc process started (possible ransomware simulation)</description></rule><rule id="300002" level="13"> <if_group>sysmon_event1</if_group> <field name="win.eventdata.CommandLine">vssadmin delete shadows</field> <description>Shadow copy deletion command detected (possible ransomware simulation)</description></rule><rule id="300003" level="13"> <if_group>sysmon_event1</if_group> <field name="win.eventdata.TargetFilename">ZEROMINI_RANSOM_NOTE.txt</field> <description>Ransom note detected (possible ransomware activity)</description></rule><rule id="300004" level="13"> <if_group>sysmon_event1</if_group> <field name="win.eventdata.parentImage">python.exe</field> <description>File with python extension detected (possible ransomware activity)</description></rule><rule id="300005" level="13"> <if_group>sysmon_event1</if_group> <field name="win.eventdata.CommandLine">ping 8.8.8.8</field> <description>Ping to 8.8.8.8 detected (possible network test or exfiltration attempt)</description></rule></group>
-
해결됨[보안] Wazuh+ELK(SIEM)를 활용한 위협헌팅(Threat Hunting) 시스템 구축 및 운영실습 (기초)
맨마지막 agenetless 제거 시도 시 .passlist가 보이지 않던 이유
28:26 터미널에 ls -al 결과물 보면 zeromini_malware 파일이 있는걸 보면 해당 터미널은 wazuh server 보여주는게 아니라 ssh로 wazuh Linux 가상 머신을 보여주고 있던것 같습니다. 그래서 .passlist 파일이 안보였던것 같습니다.
-
해결됨CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)
cppg 참고자료 업데이트
혹시 cppg 참고 자료https://smartstore.naver.com/csroadmap/products/6394915947여기에 있는 자료는 업데이트 예정 없으신가요?