본문 바로가기

[개발] Programming/Server17

SPF(메일서버등록제) 란 무엇이고, 설정을 확인하는 방법 Sender Policy Framework 메일서버등록제 '메일서버등록제'란 이메일 발신 도메인 서버에 특정 IP 레코드를 추가하는 것이다. (KISA 주도로) SPF를 사용하는 이유는 SMTP(Simple Mail Transfer Protocol)에는 이메일 발신 정보가 너무 simple하여 악용될 수 있기 때문에 IP를 지정하여 위조되지 않았다는 것을 검증해주기 위한 목적이다. 대다수 스팸 발송자가 자신의 신원을 감추기 위하여 발송자 주소나 전송경로를 허위로 표기하거나 변경하는 경우가 많다는데 착안했다. SPF를 이용한 이메일 인증절차 - 발신자 : 자신의 메일서버 정보와 정책을 나타내는 SPF 레코드를 해당 DNS에 등록 - 수신자 : 이메일 수신 시 발송자의 DNS에 등록된 SPF 레코드를 확인하.. 2020. 10. 6.
윈도우 서버 TLS Cipher 추가/제거하는 방법 - SSL Labs Server Cipher  보안 설정 보안에 취약한 TLS 1.0, 1.1 사이퍼들을 제거하기 위해 윈도우 서버 설정을 해보았다. 우선 설정에 앞서 현재 서버에 적용된 사이퍼들과 보안등급을 활용하기 위해 SSL Labs라는 사이트에서 테스트를 돌렸다. 참고로 서버 보안 설정을 확인하기 상당히 유용한 사이트다. 100% 무료. 테스트 사이트: www.ssllabs.com 처음에 테스트 결과는 C 등급... 좀 당황스러웠는데, 테스트 결과를 확인해 보니 서버에 별도의 설정을 하지 않아서 구 사이퍼들까지 모두 지원하고 있었기 때문이다. 그러다 보니 weak 뿐만 아니라 insecure 까지 검출된 것이다.   특히 TLS 1.0, 1.1은 보안상 제거 해야될 대상. 단 호환성을 먼저 확인.. 2020. 9. 25.
윈도우 서버 .NET 버전 보는 방법 윈도우 서버에 설치된 .NET 버전을 확인할 수 있는 2가지 방법. 참고로 방법 1은 버전 4 이하 까지만 조회되고, 2번째 방법은 더 최신 버전까지도 확인할 수 있지만, 조금 귀찮은 방법. 1. 커맨드 창 활용 윈도우 키 > cmd 입력 후 엔터 > 아래 명령어 입력 dir %windir%\Microsoft.NET\Framework | findstr DIR 아래 결과 화면을 보면 최소 4.0 이상임을 알 수 있다. 2. 레지스트리 명령어 윈도우 키 또는 찾기 > 아래 명령어 입력 regedit.exe 레지스터리 설정 창이 뜨면 아래 순서대로 메뉴를 찾아 들어간다. HKEY_LOCAL_MACHINE SOFTWARE Microsoft NET Framework Setup NDP NDP라는 폴더 하위에 있는 .. 2020. 8. 9.
The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 해당 문구에 나와있는 라이브러리는 JNI에 의해 로딩된 OS의 dll 번들에 포함되어 있습니다. 해당 라이브러리는 (sendfile, epoll, OpenSSL, system status 등등) Java Runtime에는 없는 OS의 기능들을 사용할 수 있게 해줍니다. 근데 사실 이런 기능이 없어도 톰캣이 돌아가는 데는 전혀 문제가 없습니다. 경우에 따라 네이티브 라이브러리를 사용했을 때 성능이 향상되는 경우가 있습니다. 만약 성능 향상을 원하시면 \tomcat\bin 디렉토리 아래 tcnative-1.dll (또는 libtcnative.so for Linux) (경로: 클릭) 파일을 다운로드하고 넣어주시면 됩니다. 그리고 이클립스 실행 변수에 아래 경로를 추가하시면 됩니다. -Djava.library... 2019. 10. 10.
톰캣 Connection has been abandoned PooledConnection WAS access 로그를 보던 중 아래 경고 문구 발견, 의미를 찾아보니 ...WARNING: [생략] 생략 Connection has been abandoned PooledConnection [생략]:java.lang.Exception at org.apache.tomcat.jdbc.pool.ConnectionPool.getThreadDump(ConnectionPool.java:1070) at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:778) at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634) at.. 2018. 10. 24.
서버 SSL 인증서 (개별, offload) 특징 SSL 인증이란?SSL (Secure socket layer) 인증은 서버와 클리언트 간의 인증을 제공한다. 개별 SSL 특징 - 443 포트를 사용하는 경우에 해당 - 인증서를 각각의 서버 단위로 관리 - 443포트에 인증서가 바인딩 되어 있는지 확인. 즉 포트에 인증서 경로 비번 등 설정되어 있다. SSL Offload 특징 - 80 포트로 웹가속기(LB)에 붙지만 그 이후로는 https로 통신이 이루어짐. - 인증서가 각각의 서버에는 없다. - 443 포트 설정이 안되어 있다. 즉, 인증서가 바인딩 되어 있지 않다. - 인증서를 일괄 관리할 수 있어 효율적이다. SSL Offload 부가 설명 전용 SSL 인증서를 사용하여 회사 또는 비즈니스는 웹 서버에 해당 인증서를 호스팅 해야 하는데, 이때 인.. 2018. 10. 24.
톰캣을 root가 아닌 일반 계정으로 실행하기, setcap 사용 리눅스, 톰캣을 root가 아닌 일반 계정으로 실행하기 setcap 명령어 실행: 일반계정으로 1024 이하 포트 사용이 가능해진다. setcap 자세한 설명은 요기 참고 (http://sangchul.kr/470) 명령어는 아래와 같다, 뒤에 경로는 자바가 설치된 위치. setcap 'cap_net_bind_service=+ep' /usr/localjdk_1.8/bin/java * 만약 아래와 같은 오류가 발생했다면 libjli.so: cannot open shared object file 'java.conf' 파일을 새로 열고 vi /etc/ld.so.conf.d/java.conf 아래 한줄 추가 해주면됨. 여기서도 자바 경로는 설치된 위치로 잡아준다. /usr/java/jdk_1.8/amd64/jl.. 2018. 10. 24.
톰캣 root가 아닌 일반 계정으로 실행하기, sudo 사용 리눅스, 일반 계정으로 80포트를 띄울 수 있는 방법 1. /etc/sudoers 설정 추가 root 로 접속한 뒤, 'sudoers' 파일 편집을 위해 권한 설정 ]$ cd /etc ]$ chmod 700 sudoers (만약 파일 수정 권한을 갖고 있다면 굳이 권한을 변경할 필요는 없음) 권한을 설정한 뒤 해당 파일을 열고 ]$ vi sudoers 하단에 아래와 같이 계정 및 명령어 추가 하고 저장 kido ALL=(ALL)NOPASSWD: /tomcat경로/bin/startup.sh,/tomcat경로/bin/shutdown.sh * 만약 kido라는 일반 계정으로 명령어를 실행하고 싶은 경우 kido ALL = NOPASSWD : 톰캣구동 명령어 , 톰캣종료 명령어 만약에 모든 명령어를 허용하고 싶.. 2018. 10. 23.