본문 바로가기

서버/리눅스63

RockLinux 8 에서 nvidia 드라이버 설치하기 nvidia 에서 드라이버를 다운로드합니다. 그리고 루트권한으로 필요한 패키지를 설치합니다. sudo dnf install kernel-devel kernel-headers gcc make 오픈소스드라이버인 Nouveau 를 비활성화합니다. 이를 위해 먼저 /etc/modprobe.d/blacklist.conf 파일을 생성하고 아래의 내용을 작성합니다. blacklist nouveau options nouveau modeset=0 initramfs 이미지를 재생성하고, 리부팅합니다. sudo dracut --force sudo reboot 재부팅 후, 다운로드한 드라이버를 실행하여 설치합니다. chmod +x NVIDIA-Linux-x86_64-535.03.run sudo ./NVIDIA-Linux-x8.. 2023. 6. 22.
CentOS 7.x snap 으로 mosquitto 설치하기 snap install mosquitto 포트 1883을 방화벽에서 사용 가능하도록 합니다. firewall-cmd --permanent --add-service=mqtt firewall-cmd --reload firewall-cmd --list-all mosquitto 의 설정은 /var/snap/mosquitto/common/mosquitto_example.conf 를 사용하여 mosquitto.conf 를 생성합니다. 계정 및 비밀번호를 사용할 경우, 설정파일의 #password_file 의 주석을 제거하고 파일명을 지정합니다. 또한 로컬 외에 원격으로 접속을 허용할 경우 listener 설정을 합니다. password_file /var/snap/mosquitto/common/pw.txt liste.. 2022. 8. 23.
CentOS 7.x snap 및 node-red 설치하기 snap 은 설치가 쉽고 안전하며 플랫폼 간 종속성이 없는 데스크톱, 클라우드 및 IoT용 앱 패키지입니다. Snap은 수백만 명의 사용자를 보유한 Linux용 앱 스토어인 Snap Store에서 검색하고 설치할 수 있습니다. 먼저, snap 을 설치합니다. yum install snapd systemctl enable --now snapd.socket ln -s /var/lib/snapd/snap /snap 설치가 끝난 후, 로그아웃 또는 시스템 재부팅을 하여야합니다. 이제 snap 을 이용하여 node-red 를 설치합니다. snap install node-red 방화벽 설정 파일(/usr/lib/firewalld/services/node-red.xml)을 생성합니다. node-red Node-RED.. 2022. 8. 23.
CentOS 7 특정 횟수 이상 TCP 접속 차단하기 먼저, iptables 로그 파일을 생성하도록 rsyslog.conf 의 RULE 을 추가합니다. vi /etc/rsyslog.conf kern.* /var/log/iptables.log 80 포트와 443 포트에 10초 이내 20회 접근이 발생하는 경우에 대하여 로그 및 차단 처리하도록 RULE 을 추가합니다. IP 의 경우 보안의 이유로 일부 x 표기하였습니다. iptables -I INPUT -p tcp -s 0.0.0.0/0 -d 172.31.x.x --dport 80 -m recent --set --name flood_list iptables -I INPUT -p tcp -s 0.0.0.0/0 -d 172.31.x.x --dport 80 -m recent --update --seconds 10 .. 2020. 10. 4.
zsh 사용하기 1. CentOS 7 yum install zsh 2. CentOS 8 dnf install zsh 3. MacOS X brew install zsh 기본 쉘을 zsh 로 변경합니다. chsh -s /bin/zsh 이후, 계정마다 oh my zsh 를 설치합니다. curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 계정 루트 디렉토리에서 .zshrc 파일을 수정합니다. git 을 사용하다면, 테마로 agnoster 를 사용합니다. vi ./zshrc ZSH_THEME="agnoster" 그 외 유용한 플러그인으로 zsh-syntax-highlighting 을 설치합니다. yum install zsh-synta.. 2020. 3. 10.
CentOS 7 SELinux 사용 SELinux 사용에 필요한 패키지들을 설치합니다. yum install policycoreutils-python yum install setools setools-console setroubleshoot* yum install policycoreutils-devel 메뉴얼 페이지를 생성합니다. sepolicy manpage -a -p /usr/share/man/man8; mandb 현재 SELinux 의 상태를 확인하려면 다음 명령어를 실행합니다. sestatus SELinux 의 모드는 Enforcing, Permissive, Disabled 3가지가 있으며 각각 운영, 디버그, 중지 모드라고 생각하면 됩니다. 모드를 변경하려면 /etc/selinux/config 파일을 수정하면 됩니다. 임시로 모드.. 2020. 3. 4.
CentOS 7, fail2ban 설정 ssh, ftp, smtp 등 무작위로 로그인 시도를 할 경우 서비스를 보호하기 위하여 fail2ban 을 사용하여 접속을 차단합니다. #yum install fail2ban-firewalld fail2ban-systemd 설치 후 설정 파일을 생성합니다. #cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local jail.local 파일의 경우 jail.conf 설정의 내용 중 중복되는 부분을 overwrite 하는 역할을 합니다. 하지만 yum 등의 패키지 매니저를 통한 업데이트가 발생할 경우 conf 파일은 교체되니 복사하여 local 파일을 생성합니다. DEFAULT 에 기본 설정을 지정하고 적용하고자하는 서비스에 enabled = true 를 추가하면 됩니다... 2019. 6. 4.
CentOS 7 방화벽 설정 CentOS 7 의 경우 iptables 대신 netfilter 를 기본 방화벽으로 사용합니다. 이러한 netfilter 의 관리 프로그램이 firewalld 서비스 입니다. #systemctl start firewalld #systemctl enable firewalld 설치 후 기본적으로 존재하는 zone의 경우 다음과 같습니다. #firewall-cmd --get-zones block dmz drop external home internal public trusted work 여기서 zone은 AWS 의 보안그룹과 같은 역할을 한다고 볼 수 있습니다. 즉, 방화벽 설정 등을 묶어 놓은 후 상황에 따라 교체하며 설정을 일괄 적용할 수 있습니다. 현재 적용되고 있는 zone 은 아래와 같이 확인할 수 .. 2019. 6. 4.
간단한 보안 검사하기 #yum install lynis #lynis audit system #yum install rkhunter #rkhunter -c Lynis 를 통해 서버 설정과 관련한 확인하고, rkhunter 를 통해 백도어 등을 검사합니다. 현재 운영중인 서버에서 lynis 를 실행해보니 몇가지 권고사항들이 나오네요. 먼저, 메일서버에서 VRFY 명령어를 중지시켜 서버에 어떤 계정이 존재하는지 검색할 수 없게합니다. vi /etc/postfix/main.cf disable_vrfy_command = yes 재실행합니다. #service postfix restart 그리고 php 의 expose_php = Off 또한 리포팅에 나와 이를 반영하였습니다. 적용하면 웹서버의 헤더에서 PHP 관련한 정보를 노출하지 않습.. 2019. 5. 30.
CentOS7, 아마존 리눅스 Let's Encrypt 무료 인증서 사용하기 Let's Encrypt 를 사용하여 https 를 운영하기 위하여 아래 패키지를 설치합니다.(루트 권한) yum install certbot python2-certbot-nginx 웹서버로 nginx 를 사용할 경우이며, 아래의 명령어를 실행하여 https 를 사용할 도메인을 지정합니다. certbot --nginx -m 메일주소 -d 도메인주소 관련 설정 파일들이 생성됩니다. nginx 의 설정을 테스트한 후, 이상이 없으면 재실행합니다. nginx -t systemctl restart nginx 브라우저로 접속한 후, 정상적으로 동작하는지 확인합니다. 인증서는 3개월 마다 갱신되므로 cron 으로 짝수월 1일 마다 갱신되도록 합니다. crontab -e 0 0 1 */2 * /usr/bin/cert.. 2018. 6. 18.
CentOS7, nginx, php-fpm 환경에서 버전별 PHP 사용하기 1. root 권한으로 작업 먼저, remi 리포에서 php7.2 버전을 설치합니다.yum install php72 php72-php-common php72-php-fpmyum install php72-php-mysql php72-php-gd php72-php-mbstring php72-php-mcrypt php72-php-xml php72-magickwand php72-php-pecl-zip php72-pecl-imagick 기존 php 버전과 충돌이 되지않드록 디렉토리를 생성하고 퍼미션을 조정합니다.mkdir /var/run/php72-fpmmkdir /var/lib/php72mkdir /var/lib/php72/nginx-sessionmkdir /var/lib/php72/nginx-wsdlcache.. 2018. 5. 20.
CentOS7 nginx 에서 http/2 적용하기 nginx 를 컴파일하지 않고 패키지 설치하는 방식으로 http/2 를 적용하는 방법입니다. 먼저, 기존의 nginx 를 제거합니다. 그런 후, 아래의 명령어를 실행하여 nginx 를 설치합니다. yum install https://repo.aerisnetwork.com/stable/centos/7/x86_64/aeris-release-1.0-4.el7.noarch.rpmyum install nginx-moreyum --enablerepo=aeris-testing update nginx-more 설치 후, 기존 설정 경로 conf.d 에 있는 vhost 설정 파일들을 conf.d/vhosts 로 옮깁니다. 설정 파일 중 include 경로 및 http/2 관련 내용을 추가합니다. server { clie.. 2017. 8. 29.
cron hourly 오류 메일이 계속 수신될 경우... 어느날 갑자기 아래와 같은 메일이 계속적으로 오기 시작하였습니다. /etc/cron.hourly/0yum-hourly.cron: Not using downloaded repomd.xml because it is older than what we have: Current : Tue Aug 9 13:58:01 2016 Downloaded: Tue Aug 9 02:17:58 2016 검색해보니 yum 캐시 문제인 듯 하여 이를 정리하였습니다. 참고로 yum cache 의 용량 확인은... du -sh /var/cache/yum 전체 캐시의 삭제는 아래의 명령어를 사용하였습니다. yum clean all 효과가 있는지는 좀 더 살펴봐야겠네요. ^^ 2016. 8. 10.
RoundCube 웹메일 설치하기 - nginx, php-fpm, CentOS 7 먼저, 패키지 설치를 합니다. yum install roundcubemail mediawiki, phpmyadmin 등 아파치 기반의 패키지들을 nginx 로 사용하기 위하여, php-fpm 풀에서 www 의 경우 유저와 그룹을 apache 로 지정하여 사용합니다. RoundCube 웹메일도 마찬가지로 www 풀(파일소켓이 아닌 9000번 포트로 지정해뒀는데... 추후 바꿀 예정입니다.)을 사용하도록 nginx 설정 파일을 생성합니다. vi /etc/nginx/conf.d/roundcube.confserver { listen 80; server_name webmail.도메인주소; root /usr/share/roundcubemail; # Logs access_log /var/log/roundcubemai.. 2016. 5. 27.
xrdp 원격데스크탑 연결 - CentOS 7 리눅스 데스크탑을 원격으로 접속하여 사용할 경우, xlaunch 나 TeamViewer 를 사용해왔는데 새로운 놈이 보여 설치하고 사용해보았습니다. yum install xrdp xrdp 서비스를 부팅시 실행하도록 설정한 후 실행합니다. systemctl enable xrdp systemctl start xrdp 3350, 3380 tcp 포트가 열려있으면 정상적으로 실행된 것입니다. 방화벽이나 SELinux 를 사용한다면 관련 설정을 추가하여야합니다.(저는 내부 개발용 리눅스라 무시.....^^) 만약, CentOS 7 의 기본 언어가 한글로 설정되어있다면 아래와 같이 언어 관련 설정을 추가합니다. vi /etc/xrdp/startwm.sh export LANG=ko_KR.UTF-8 이제 윈도우즈의 원.. 2016. 5. 25.