본문 바로가기

보안28

728x90
반응형
[톰캣 8.5] 정적 리소스에 CORS 필터가 적용되지 않을 때 현상스프링 프레임워크로 웹 기반 백엔드 시스템을 배포 중에 운영 환경에서 정적 리소스에 CORS 필터가 적용되지 않는 것을 확인하였다. 스프링 프레임워크로 개발한 프로그램을 톰캣에 탑재하여 배포하는 경우에 정적 리소스는 작성한 CORS 필터를 거치지 않기 때문에 발생한 이슈였다.해결 방법톰캣의 web.xml에 아래와 같이 CORS 필터를 설정하면 정적 리소스에도 CORS 필터가 동작한다. corsFilter org.apache.catalina.filters.CorsFilter cors.allowed.origins * cors.allowed.methods .. 2024. 11. 29.
[정보 보안 용어] 평문, Plaintext 정의평문(Plaintext)은 암호화되지 않은 정보를 말한다.참고문서"암호 용어", 정보통신기술용어해설, 2023년 8월 3일. @원문보기"평문 (Plaintext)", MDN 웹 문서, 2023년 10월 9일. @원문보기"평문, 平文, plaintext, cleartext", 정보통신용어사전, 한국정보통신기술협회. @원문보기 2024. 5. 23.
[깃랩/GitLab] "Url is Blocked" 오류 발생시 아웃바운드 설정 방법 오류 발생 화면과 원인아래와 같이 깃랩(GitLab)에서 웹훅(Webhook) 설정시에 오류가 발생한다면 아웃바운드를 허용해야 정상적으로 이용이 가능하다.Url is blocked: Requests to the local network are not allowed아웃바운드 허용 설정아웃바운드 화이트리스트를 작성하는 화면은 깃랩 관리자로 로그인한 후 'Settings' → 'Network' → 'Outbound requests'에서 찾을 수 있다. 아래의 사진처럼 허용하고자 하는 IP주소 또는 IP주소대역을 입력하고 저장하면 아웃바운드 설정이 완료된다. 2024. 5. 15.
[정보 보안 용어] 암호화, Encryption 정의암호화(Encryption)는 평문을 암호문으로 만드는 것을 말한다. 암호화는 원본 문서의 내용을 복호키를 가진자 외에는 의미를 알 수 없도록 정보를 변환하는 과정을 말한다.참고문서"암호화, 暗號化, encryption, encipherment", 정보통신용어사전, 한국정보통신기술협회. @원문보기"암호 용어", 정보통신기술용어해설, 2023년 8월 3일. @원문보기"암호학 기본용어", 동서대학교. @원문보기 2024. 5. 14.
[우분투 22.04] 화면 자동 잠금 해제 우분투 22.04를 사용할 때 일정 시간 동안 사용하지 않으면 화면이 자동으로 잠길 때가 있다. 이게 생각보다 여러 버그와 불편함을 발생시키기에 비활성화 해야할 때가 있다. 화면 자동 잠금을 해제 하려면 아래의 사진처럼 'Settings' → 'Power' → 'Power Saving Options'로 이동해서 잠기지 않도록 수정하는 것이 필요하다. 2024. 2. 10.
[IT 용어] SSH(Secure SHell) 정의 SSH(Secure SHell)는 TCP 위에서 보안 통신을 하는 프로토콜 중 하나이다. SSH는 인증과 기밀성, 무결성, 압축, 다중화, 포트포워딩(터널링)을 제공한다. 참고문서 "시큐어 셸, Secure Shell, SSH", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "SSH Secure Shell", 정보통신기술용어해설, 2022년 7월 20일. @원문보기 2023. 11. 7.
[우분투 22.04] XRDP 포트 변경 XRDP 서버를 우분투 22.04에서 운용할 때 기본 포트인 3389로 운영하면 공격에 노출될 가능성이 높다. 그래서 XRDP 서비스에서 사용할 포트를 변경하는 것이 좋다. XRDP 포트를 바꾸는 방법은 아래와 같다. XRDP 포트 변경 아래의 명령어를 입력하여 XRDP 설정 파일을 연다. nano /etc/xrdp/xrdp.ini 아래와 같이 화면이 나타나면 'port={포트번호}' 부분을 원하는 포트로 수정하여 저장한다. 아래의 명령어를 입력하여 변경된 포트 번호로 XRDP가 실행되도록 XRDP 서비스를 재시작한다. systemctl restart xrdp 변경된 포트 번호에 맞춰서 방화벽 포트 개방 등의 방화벽 설정을 확인한다. 2023. 11. 6.
[우분투 22.04] SSH(Secure SHell) 설치 일반적으로 컴퓨터를 안전하게 원격 관리하기 위해서 SSH(Secure SHell)을 사용한다. 본 글에서는 우분투 22.04에서 SSH를 설치하는 것을 설명한다. SSH 설치 아래의 명령어를 우분투 터미널에 입력하여 SSH 서버를 설치한다. apt-get install openssh-server SSH 서비스 시작 아래의 명령어를 입력하여 SSH 서비스를 시작한다. systemctl start ssh SSH 설정 수정 포트 번호 등 SSH의 설정을 수정하려면 아래의 명령어를 입력하여 설정 파일을 수정한다. vi /etc/ssh/sshd_config 참고문서 "[CentOS 7] SSH 보안 강화를 위해 포트 번호를 수정하자", 2021년 8월 4일. @원문보기 "[RHEL] SSH root 로그인 허용 .. 2023. 11. 2.
[정보 보안 용어] 연성 워터마킹(Fragile Watermarking) 정의 정보 보안 분야에서 연성 워터마킹(Fragile Watermarking)은 원본 데이터에 식별 무늬를 삽입하여 훼손 여부를 알아내는 방법을 말한다. 원본이 훼손되면 식별 무늬가 훼손 되어 훼손 여부를 알 수 있다. 주로 무결성 보장 기법에 활용한다. 참고문서 "연성 워터마킹, 軟性-, fragile watermarking", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "디지털 워터마킹, digital watermarking", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "Watermark, Watermarking, 워터마크, 워터마킹", 정보통신기술용어해설, 2019년 12월 4일. @원문보기 "Fast fragile watermark embedding and ite.. 2023. 9. 19.
[RHEL] PostgreSQL 보안 및 방화벽 설정 다른 시스템에서 PostgreSQL과 통신하기 위해서는 PostgreSQL 보안 설정과 시스템 방화벽 설정이 필요하다. 레드햇 방화벽 허용 설정 PostgreSQL은 기본적으로 5432 포트로 TCP 통신한다. 이 경우에는 아래와 같은 명령어로 방화벽에서 통신을 허용할 수 있다. firewall-cmd --permanent --zone=public --add-port=5432/tcp 아래의 명령어를 입력하여 설정이 적용되도록 방화벽 설정을 다시 불러온다. firewall-cmd --reload 아래의 명령어를 입력하여 설정한 것이 잘 적용되었는지 방화벽 목록을 확인한다. firewall-cmd --list-all PostgreSQL 보안 정책 설정 아래의 명령어를 입력하여 PostgreSQL 설정 파일을.. 2023. 8. 26.
[RHEL] SELinux 허용 포트 확인 및 추가 허용 포트 확인 SELinux가 허용한 포트 목록을 확인하는 명령어는 아래와 같다. semanage port -l 허용 포트 추가 아래의 명령어를 입력하면 허용할 포트를 추가할 수 있다. semanage port -a -p tcp -t http_port_t {포트번호} 참고문서 "Apache + Tomcat 여러대 운영시 SELinux 문제 해결(403 Permission, Port)", MyData, 2021년 11월 5일. @원문보기 2023. 8. 9.
[RHEL] Tomcat Connector(AJP, mod_jk)에서 'secret' 보안 오류 해결 방법 원인 Tomcat Connector(AJP, mod_jk)를 설정할 때 'secretRequired' 키에 값이 없으면 아래와 같은 오류가 발생한다. 30-Jul-2023 19:42:52.692 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to start component [Connector[AJP/1.3-8009]] org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1042) at org.apach.. 2023. 7. 31.
[RHEL] SELinux 상태 확인 명령어 RHEL(Red Hat Enterprise Linux)에서 아래의 명령어를 입력하면 SELinux 상태를 확인할 수 있다. sestatus -v 참고문서 "Chapter 2. Changing SELinux states and modes", 레드햇 고객포털. @원문보기 2023. 7. 29.
[RHEL] SSH root 로그인 허용 설정 RHEL(Red Hat Enterprise Linux)의 SSH(Secure Shell)은 기본적으로는 root 계정 로그인이 차단되어 있다. 처음에 RHEL을 설치하는 과정에서 허용을 할 수 있지만 이 과정을 놓친 경우 아래의 과정을 통해 SSH 접속시 root 계정 로그인을 허용할 수 있다. SSH 설정 수정 아래의 명령어를 입력하여 SSH 설정 파일을 텍스트 에디터로 연다. vi /etc/ssh/sshd_config 아래의 설정 값을 입력하여 root 계정으로 로그인을 허용한다. 'yes'는 비밀번호로 로그인이 가능한 상태를 말하며 'prohibit-password'는 키 값으로 로그인이 가능하다. PermitRootLogin yes SSH 서비스 재시작 아래의 명령어를 입력하여 SSH 서비스를 재.. 2023. 7. 26.
제6회 삼성 보안 기술 포럼 시청 중입니다. 2022년 8월 23일 화요일 10시부터 15시까지 진행되는 제6회 삼성 보안 기술 포럼을 시청 중입니다. 여러 주제를 이렇게 한 날에 발표하니 한 번에 볼 수 있어서 좋습니다. 휴식 시간에 즐길 수 있는 게임도 있습니다. 2022. 8. 23.
Git에서 "SSL certificate problem: self signed certificate" 해결 방법 사설 SSL(Secure Sockets Layer) 인증서로 HTTPS(Hypertext Transfer Protocol Secure) 통신을 하고 있다면 아래의 사진처럼 "SSL certificate problem: self signed certificate" 라는 문구로 Git이 통신을 거부할 수 있다. 이 경우 사설 SSL 인증서도 통신에 사용할 수 있도록 설정하면 해결할 수 있다. 윈도우 환경을 이용 중이라면 아래의 사진처럼 Git Bash를 켜고 리눅스라면 터미널에 접속한다. 아래의 명령어를 입력하여 HTTPS 인증서 유효성 검사를 비활성화하는 옵션을 전역(Global)으로 선언한다. git config --global http.sslVerify false 2022. 8. 22.
[CentOS 7] Fail2Ban에서 SSH 정책 설정하기 Fail2Ban 정책을 조정해야하는 이유 무작위 대입 공격(Brute foce, 브루트포스)은 가장 단순하고 시간이 오래걸리지만 시간만 있다면 언젠가는 해킹이 가능한 것이 특징이다. 그런 관점에서 무작위 대입 공격에 필요한 비용을 최대한 올리는 것이 중요하다. 지난 글에서는 CentOS에서 Fail2Ban을 설치하는 방법을 다루었고 기본 정책만으로는 무작위 대입 공격을 방어하기에는 부족하기 때문에 Fail2Ban 정책을 손보는 것이 좋다. Fail2Ban 정책 설정 아래의 명령어를 입력하여 Fail2Ban 정책 파일을 수정한다. vi /etc/fail2ban/jail.conf 아래의 사진처럼 각종 설정 화면이 나타날텐데 SSH에 적용할 것이고 로그인 관련 시도 허용 횟수와 밴 시간을 적절하게 조절한다. .. 2022. 8. 22.
[CentOS 7] Fail2Ban 설치 본 글에서는 CentOS 7.8을 기준으로 Fail2Ban을 설치한다. Fail2Ban은 SSH(Secure SHell)를 통한 무차별대입공격(Brute Force) 등의 계정 탈취를 막기 위해 접근 시도를 제한하는 프로그램이다. Fail2Ban 설치 아래의 명령어로 Fail2Ban을 설치한다. yum install fail2ban Fail2Ban 자동 실행 설정 아래의 명령어로 Fail2Ban이 CentOS가 기동하면 자동으로 실행되도록 설정한다. systemctl enable fail2ban Fail2Ban 실행 아래의 명령어로 Fail2Ban을 실행한다. systemctl start fail2ban Fail2Ban 상태 확인 아래의 명령어로 Fail2Ban이 잘 실행되었는지 확인한다. systemc.. 2022. 8. 3.
[CentOS 7/8] HTTPS 서비스를 위해 사설 SSL 인증서 생성하기 HTTPS 등 SSL을 이용한 암호화 통신을 생성하기 위해서는 SSL 인증서가 필요하다. 공인된 SSL 인증서를 쓰는 방법이 가장 좋겠지만 비용이 발생하고 굳이 공인된 SSL이 필요하지 않은 경우 사설(Private) SSL 인증서를 생성하여 사용하는 것이 편리하다. 이 글에서는 CentOS에서 OpenSSL을 이용한 사설 SSL 인증서를 생성하는 법에 대해서 다룬다. 편의를 위해서 아래의 경로에서 작업을 수행한다. 작업 경로: /etc/pki/tls/certs 1. OpenSSL을 설치한다. 아래의 명령어를 입력하여 OpenSSL을 설치한다. yum install openssl openssl version 2. 루트 인증서 키를 생성한다. 아래의 명령어를 입력하여 루트 인증서 키를 생성한다. opens.. 2022. 5. 28.
[GitLab] 보안 향상을 위해 reCAPTCHA를 활성화하자 reCAPTCHA를 활성화 하는 이유 GitLab을 운영하다보면 로그인을 무차별 대입(Brute Force)으로 시도하는 봇이 굉장히 많은 것을 알 수 있다. 안전한 해결방법은 GitLab에 접속가능한 IP 주소를 제한하는 것이겠지만 고정 IP를 사용하는 환경이 아니기에 IP 주소 목록 관리를 위한 지속적인 노력이 발생하므로 사용하기가 어렵다. 대안 중 하나로 로그인할 때 reCAPTCHA를 사용하는 것을 활성화하면 무차별 대입 공격을 어느 정도 막을 수 있다. reCAPTCHA 설정은 'Menu - Admin - Settings - Reporting - Spam and Anti-bot Protection'에서 진행할 수 있다. 2022. 3. 16.