본문 바로가기

main/Server

웹 서버의 SSL 인증서를 확인하고 싶을 때 SSL Checker Use our fast SSL Checker to help you quickly diagnose problems with your SSL certificate installation. You can verify the SSL certificate on your web server to make sure it is correctly installed, valid, trusted and doesn't give any errors to any of your u www.sslshopper.com Let's Encrypt 인증서를 사용하고 있는 웹 서버가 있는데, 이상하게 Expiry Date가 아직 지나지 않았는데도 Cert Error를 자꾸 뱉어 데이터를 불러오지 않는 것이다. 인증서를 .. 더보기
[CentOS7] letsencrypt 인증서 삭제하기, *.conf 에러 핸들링 오랜만에 서버 인증서 갱신해주러 접속을 해줬다. 자동 갱신하는 건 걸어 놓긴 했는데, ... 파일 복사하고 하는 것 때문에 가끔씩 건드려주고 있다. 이것도 자동으로 바꾸긴 해야겠다. 그러다가 명령어를 잘못 입력해서 인증서를 하나 더 생성해버림.. 그러면서 인증서가 httpd.conf의 설정을 건드리고 파일이 수정되어 뭔가 꼬였다. httpd가 뻗어버리고 status찍으면 failed 나오는 상태가 됐다 ㅎㅎ +) 파일이 수정되었다는 사실은 수정 이력 조회 명령어를 통해 알아보았다 // 현재 디렉토리에서 조회 ls -l // 더 자세한 시간 출력 ls -l --time-style full-iso // 파일의 더 자세한 정보 조회 stat [파일명] 먼저 새로 생성된 인증서를 삭제해주고, certbot de.. 더보기
[CentOS 7] wget 버전 업그레이드 wget 취약점 (CVE_2016-4971) 이 있다는 소식에 내 wget 버전을 확인해보았고 1.14이길래 최신버전으로 업그레이드를 하기로했다. yum groupinstall "Development Tools" -y yum install gcc glibc glibc-common gd gd-devel openssl -y yum install glibc-devel glibc-headers kernel-headers kernel-devel gnutls-devel -y cd /opt wget https://ftp.gnu.org/gnu/wget/wget-1.20.3.tar.gz tar -xzf wget-1.20.3.tar.gz cd wget-1.20.3/ ./configure make && make instal.. 더보기
[CentOS 7] Apache 서버 로그 관리 - httpd.conf httpd.conf 에서 로그를 관리하는 명령 ErrorLog logs/error_log LogLevel debug CustomLog logs/access_log combined error_log : 아파치 서버의 에러 정보 기록 에러 로그의 포맷에는 시간/위험도/IP주소/메시지 정보가 포함된다. LogLevel : error_log가 기록될 위험도 수준을 정해줄수있다. emerg 서버를 사용할 수 없게 만든 긴급 상황 표시 alert 즉시 해결해야 하는 오류 표시 crit 임계 조건을 보여줌 error 오류 조건을 표시 warn 일반적으로 오류가 아니지만 해결해야 하는 경고 조건 표시 notice 일반적인 알림 info 정보 메시지 표시 debug 디버그 수준 메시지 표시 access_log : 아파치.. 더보기
[CentOS 7] Apache 기본 계정 보안 - httpd.conf - User와 Group이 로그인 불가한 계정으로 설정되어 있는지 확인 User nobody Group nobody - DocumentRoot 디렉토리 구조가 노출되지 않도록 설정 DocmuentRoot는 모든 웹 컨텐츠가 저장될 디렉토리 구조이다. 시스템의 루트 파일시스템 등과는 별도의 파일시스템을 사용해야 한다. 웹 서버 데몬은 chroot에 설치하는 것을 권고한다. 만약 웹서버 데몬이 공격당해도 chroot 이외 디렉토리로는 접근할 수 없어 피해를 최소화할 수 있다. 웹 브라우저에서 사용자가 URL을 입력했을 때 웹 컨텐츠가 없을 경우 기본적으로 DocumentRoot 디렉토리 리스트를 보여주게 된다. 이를 방지하기 위해서 Options 지시자에서 Indexes 옵션을 제거한다. 웹 서버에서 심볼릭.. 더보기
[Apache] 유저 생성, 정보 확인, sudo 권한주기, 비밀번호 pass 하기 일반 유저 생성 후 생성확인 useradd general passwd general ls -al /home/general 유저 정보 확인 cat /etc/passwd cut -f1 -d: /etc/passwd # user_id만 grep /bin/bash /etc/passwd # useradd를 통해 등록된 계정만 계정 정보가 콜론으로 구분하여 표시된다. user_id 유저 ID, 하지만 시스템에서는 유저를 uid로 식별한다. :passwd (x) 암호화된 패스워드가 저장되어 있지만 보안상의 이유로 /etc/shadow에 저장돼있다. 유저 비밀번호 해시값 확인 - 일반 유저 접근 불가 cat /etc/shadow :uid 유저를 식별하기 위해 정수를 이용한다. 0-root, 일반사용자-1000부터 :gi.. 더보기
[CentOS 7] let's encrypt 인증서 확인하기 / 갱신하기 (crontab) 인증서 내용 확인 명령어는 certbot certificates 이며 만료일도 여기서 확인할 수 있다. 갱신은 만료일 30일 전부터 할 수 있다. certbot renew ㅋㅋㅋㅋ아직 아니라고 안 시켜줌 ㅎㅎ not yet을 보더라도 한 달에 한번씩 갱신하는걸로 crontab에 등록해보겠다. crontab -e 0 4 15 * * certbot renew 크론 문법은 순서대로 이다. *는 매번을 의미한다. 위 문법은 매년 매달 15일 4시 0분에 명령어를 수행하게 된다. 크론탭은 서버가 꺼져있으면 작동하지 않는다고 한다. 그 시간에 서버에 문제가 생겼을 경우에도 작동시켜주고 싶다면 anacron 등을 따로 설정해주어야 하는 것 같다. vim /var/log/cron log는 여기에 남는다고 하니 다음 실.. 더보기
[정규표현식] Rewrite 지시자로 정규표현식 이해하기 Rewrite Pattern에 정규식을 사용할 수 있다. 다음은 많이 사용되는 정규식 문법이다. . : 다수의 한 문자 ? : 0개 이상의 한 문자 * : 0개 이상의 문자 또는 문자열 + : 1개 이상의 문자 또는 문자열 (chars) : 문자 또는 문자열을 그룹화 ^ : 문자열의 첫문자(열)을 지정 $ : 문자열의 끝문자(열)을 지정 \ : 정규표현식에서 특별한 의미로 사용되는 문자의 특수기능을 제거 {n} : n번 반복 {n,} : n번 이상 반복 {n,m} : n번 이상 m번 이하 반복 [chars] : 문자들의 범위 또는 표현할 수 있는 문자들을 설정 Rewrite Subrutine 지시자 L : 뒷 구문 여부를 무시, 해당 줄에서 종료 N : 새로운 Rule 시작 R : Redirection... 더보기