본문 바로가기

CentOS 727

728x90
반응형
[CentOS 7] 계정 비밀번호 만료 안 되게 설정하기 개발용인데 계정 비밀번호를 주기적으로 보안을 위해 변경하는 것은 생산성을 저해시키는 요소 중 하나이다. 하지만 최근 운영체제들은 기본적으로 계정 비밀번호가 만료되도록 설정되기 때문에 이러한 현상을 피하기 위해서는 계정 비밀번호가 만료되지 않도록 설정하는 것이 좋다. 계정 비밀번호 만료 화면 아래의 같이 계정의 비밀번호가 만료되었다고 나타난다. You are required to change your password immediately (password aged) WARNING: Your password has expired. You must change your password now and login again! Changing password for user [계정명]. Changing passwo.. 2023. 2. 16.
GitLab의 reCAPTCHA 오류가 발생할 때 처리 방법 본 글에서는 아래의 사진처럼 GitLab에서 reCAPTCHA 오류가 발생하는 경우 조치하는 방법을 정리한다. GitLab의 reCAPTCHA 오류를 조치하는 방법 중 가장 간단한 방법은 "127.0.0.1" 주소로 관리자 계정에 접속하여 reCAPTCHA를 비활성화하거나 설정을 수정하는 것이다. 본인의 경우 GitLab reCAPTCHA 키값을 v3 버전으로 입력하여 발생했었는데 reCAPTCHA v2 버전의 키값으로 수정하여 입력한 후 재시작하니 접속이 잘 되었다. 2022. 10. 30.
[CentOS 7] GitLab 재시작 및 상태 확인 명령어 GitLab을 재시작하는 명령어는 다음과 같다. GitLab 재시작 명령어 gitlab-ctl restart GitLab 상태 확인 명령어 gitlab-ctl status 2022. 10. 30.
[CentOS 7] Fail2Ban에서 SSH 정책 설정하기 Fail2Ban 정책을 조정해야하는 이유 무작위 대입 공격(Brute foce, 브루트포스)은 가장 단순하고 시간이 오래걸리지만 시간만 있다면 언젠가는 해킹이 가능한 것이 특징이다. 그런 관점에서 무작위 대입 공격에 필요한 비용을 최대한 올리는 것이 중요하다. 지난 글에서는 CentOS에서 Fail2Ban을 설치하는 방법을 다루었고 기본 정책만으로는 무작위 대입 공격을 방어하기에는 부족하기 때문에 Fail2Ban 정책을 손보는 것이 좋다. Fail2Ban 정책 설정 아래의 명령어를 입력하여 Fail2Ban 정책 파일을 수정한다. vi /etc/fail2ban/jail.conf 아래의 사진처럼 각종 설정 화면이 나타날텐데 SSH에 적용할 것이고 로그인 관련 시도 허용 횟수와 밴 시간을 적절하게 조절한다. .. 2022. 8. 22.
[CentOS] 프로세스가 사용 중인 포트 확인 포트(Port)가 이미 점유되어 있어서 사용하지 못 하는 경우 어떤 프로세스가 해당 포트를 사용하고 있는지 확인하는 것이 필요하다. 아래의 명령어를 입력하면 현재 사용 중인 포트와 프로세스 정보가 나타난다. netstat -tulpn | grep LISTEN 2022. 8. 12.
[CentOS 7] Forever 4.0.3 설치 Node.js(이하 노드) 프로그램은 오류가 발생하는 경우 종료되는 경우가 흔하다. 그러므로 종료되어도 자동으로 재실행되는 방법이 잘 활용되는데 자동으로 노드 프로그램을 재시작하는 프로그램인 Forever를 많이 쓴다. Forever를 설치하는 방법은 다음과 같다. Forever 설치 아래의 명령어로 입력하여 Forever를 NPM(Node Package Manger)로 설치한다. npm install forever -g 설치한 Forever 버전 확인 아래의 명령어를 입력하여 설치한 Forever 버전을 확인한다. forever --version Forever로 자동 재실행할 프로그램 설정 아래의 명령어를 입력하여 자동으로 재실행할 프로그램을 설정한다. forever start [실행할Node.js프로.. 2022. 8. 8.
[CentOS] 프로세스 목록 확인 및 프로세스 종료하기 한번씩 프로세스 목록을 확인하고 프로세스를 죽여야 하는 경우가 있다. 본 글에서는 이러한 경우를 해결할 수 있는 명령어를 정리했다. 프로세스 목록 확인 아래의 명령어로 프로세스 목록을 확인할 수 있다. ps a 프로세스 종료하기 아래의 명령어로 프로세스를 종료할 수 있다. kill [옵션] [프로세스명]​ 2022. 8. 7.
[CentOS] 명령어 입력 기록(History) 삭제 명령어를 입력하면 아래의 사진처럼 기록이 남는다. 명령어를 입력한 기록을 보안을 위해 삭제해야하는 경우가 있다. 특정 기록만 삭제 아래의 명령어를 입력하면 해당 줄(Line)의 기록만 삭제된다. history -d [줄번호] 모든 기록 삭제 모든 기록을 삭제하려면 아래의 명령어를 입력한다. history -c 2022. 8. 5.
[CentOS] 사용자 계정 추가 계정 목록 확인 아래의 명령어를 이용하여 계정 목록을 확인한다. cut -f1 -d: /etc/passwd 계정 생성 아래의 명령어를 입력하여 사용자 계정을 추가한다. useradd 계정명 홈 디렉토리를 설정하고 싶다면 아래 명령어를 활용해서 계정을 추가한다. useradd USERNAME -d 경로명 계정을 삭제하고 싶다면 다음의 명령어를 이용하여 삭제한다. userdel 계정명 비밀번호 설정 아래의 명령어를 입력하여 사용자 계정의 비밀번호를 설정한다. passwd 계정명 2022. 8. 3.
[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.
[CentOS] 즉시 재부팅 명령어 CentOS를 즉시 재부팅하는 명령어는 아래와 같다. sudo shutdown -r 대기시간 2022. 3. 16.
[CentOS 7] 메모리 2GB만으로 GitLab을 구동하지 말자. 메모리가 GitLab에 미치는 영향 GitLab을 메모리에 적재할 공간이 부족해서 가상 메모리를 사용하는데 이 때문에 실행하는데 필요한 시간이 길다. 정상적으로 실행하는 것도 오래 걸리지만 사용자가 다수 있는 경우 사실상 사용이 어렵다. 실험 해보니까 전체 메모리가 1,837MB인데 대부분의 메모리가 GitLab 관련 프로그램 구동에 사용된다. 결론은 메모리 2GB에서 GitLab은 못 쓴다. 메모리를 증설해서 다시 설치하니 잘 동작한다. 메모리가 최소 4GB는 되어야 정상적으로 사용가능하다. 2022. 3. 15.
[CentOS 7] SSH 보안 강화를 위해 포트 번호를 수정하자 SSH 보안 강화를 위해서는 포트 번호를 수정하는 것이 필수적이다. 흔한 22번 포트로 SSH를 이용하는 경우 온갖 종류의 공격에 시달리는 불상사가 발생한다. 1. SSH 설정 변경 아래 명령어를 입력하여 SSH 설정을 변경한다. vi /etc/ssh/sshd_config '#Port 22' 라고 주석처리 되어 있는 것을 #을 지우고 포트번호를 22 대신에 다른 숫자를 아래 사진처럼 입력한다. 필자의 경우 테스트용으로 10022로 입력하였다. 2. SELinux 포트 사용 허용 SELinux가 입력한 포트를 허용하도록 아래의 명령어를 입력한다. semanage port -a -t ssh_port_t -p tcp 포트번호 필자의 경우 아래와 같이 입력하였다. semanage port -a -t ssh_po.. 2021. 8. 4.
[CentOS 7] tar 명령어로 특정 파일(폴더)를 제외하고 압축하기 최근에 제타위키나 다른 블로그에 있는 "리눅스에서 특정 파일을 제외하고 압축하기" 글을 참고하여 압축을 진행하였는데 특정 파일이나 폴더가 제외되지 않아서 이것저것 삽질하다가 되는 명령어를 찾아서 글을 적게 되었다. 'a'라는 최상위 폴더가 있고 그 하위에 'b'라는 폴더와 'c'라는 폴더, index.php 파일이 있을때 'b'폴더를 제외하고 압축하는 명령어는 다음과 같다. tar -zcvf "a.tar.gz" --exclude "a/b" "a/" 위의 명령어를 입력하면 아래와 같이 로그가 나타난다. 압축된 파일을 확인해보면 아래 사진처럼 'b' 폴더만 제외하고 잘 압축된 것을 알 수 있다. 'tar 명령어로 특정 파일(폴더)를 제외하고 압축하는 명령어'는 아래와 같이 정리할 수 있다. tar -zcvf.. 2021. 5. 9.
[CentOS 7] 워드프레스 설치 중 'Permission denied'가 발생하는 경우 워드프레스를 설치 중에 '데이터베이스 연결을 구축하는 중 오류입니다'라는 메시지가 떠서 'wp-config.php'파일을 수동으로 생성하고 디버그 옵션을 활성화시키니 'Permission denied'라는 메시지가 나타났다. 나의 경우는 데이터베이스 서버를 별도로 두고 있었기 때문에 SELinux에서 데이터베이스로 연결을 차단하여 발생하는 문제였다. 1. 아파치 웹서버 네트워크 연결 권환 활성화 아래의 명령어를 입력하여 네트워크 연결 권한을 활성화한다. setsebool httpd_can_network_connect_db=1 2. 워드프레스 설치 진행 잘 적용이 되면 워드프레스 설치화면을 새로고침한다. 아래처럼 워드프레스 설치화면이 나타나면 잘 된 것이다. 2021. 4. 18.
[CentOS 7] HAProxy 최신 버전 설치하기 HAProxy는 소프트웨어 기반 L7 스위치라고 흔히 부른다. HAPROXY를 사용하면 응용 계층 프로토콜까지의 정보를 토대로 패킷 스위칭을 할 수 있기에 WAS(Web Application Server)를 여러대 두는 경우 로드밸런싱 등의 용도로 사용할 수 있다. 본 글에서는 CentOS 7에서 HAProxy를 설치하는 방법에 대해서 다룬다. YUM을 활용하여 설치하는 경우 구버전만 가능하다. YUM으로 설치하는 방법은 아래 링크에서 확인할 수 있다. 링크 : [CentOS 7] HAProxy를 YUM으로 설치하기, 공학코드, 2021-04-08. 1. HAProxy의 최신 버전을 확인한다. 공식 홈페이지로 가서 사용가능한 HAProxy 버전을 확인한다. 본 글에서는 안정화된 가장 최신 버전인 2.3... 2021. 4. 8.
[CentOS 7] HAProxy를 YUM으로 설치하기 Cent HAProxy를 YUM으로 설치하는 것은 편리하지만 현재 구버전만 지원된다. 1. HAProxy 설치 아래의 명령어를 입력하여 HAProxy를 설치한다. yum install -y haproxy 아래의 명령어를 입력하여 HAProxy가 잘 설치되었는지 확인한다. haproxy -v 2. HAProxy 시작 및 자동 실행 등록 아래의 명령어를 입력하여 HAProxy 서비스를 시작한다. systemctl start haproxy 아래의 명령어를 입력하여 HAProxy 서비스가 CentOS 부팅시 자동으로 실행되도록 설정한다. systemctl enable haproxy 2021. 4. 8.
[CentOS 7] 아파치 웹서버 "Permission denied" 오류 조치 아파치 웹서버를 구축하여 자신의 서비스를 개발하다보면 다음과 같은 "Permission denied"라는 오류가 발생한다. 파일 사용 권한 문제인데 파일 소유주와 그룹, 그룹별 사용 권한을 이미 설정하여 권한을 부여했는데도 발생하면 SELinux 때문에 발생하는 문제이다. 1. 오류화면 2. SELinux 정책 수정을 통한 권한 부여 아래와 같이 명령어를 입력하여 읽기 권한을 부여하면 대게 문제는 해결된다. chcon -R -t httpd_sys_content_t 대상경로 쓰기 권한이 필요하다면 아래의 명령어를 입력하면 된다. chcon -R -t httpd_sys_rw_content_t 대상경로 참고문서 [1] RHEL/CentOS 7 httpd SELinux policy 변경, lesstif. 2021. 4. 8.
[CentOS 7/8] 아파치 웹서버(HTTPD) HTTPS(SSL) 적용하기 아파치 웹서버의 가상호스트(Virtual Host) 기능을 이용하여 도메인별로 HTTPS를 적용하는 방법을 소개한다. SSL 인증서는 아래의 참고 링크를 확인하여 생성한다. 참고링크 : "인증서 생성하기[CentOS 7/8] HTTPS 서비스를 위해 SSL 인증서 생성하기", 공학코드, 2021-04-08. 1. SSL 모듈 설치 먼저 아파치 웹서버가 SSL을 사용할 수 있도록 SSL 모듈을 설치한다. yum install mod_ssl -y 2. HTTPS(SSL) 설정 아래의 명령어를 입력하여 HTTPS 설정 파일을 생성한다. vi /etc/httpd/conf.d/ssl.conf "ssl.conf" 파일 안에 아래의 설정을 자신의 상황에 따라 적절하게 입력한다. Listen 443 https SSLP.. 2021. 4. 8.