본문 바로가기

분류 전체보기358

아마존 부팅시 루트권한 스크립트 실행 아마존 클라우드를 사용하면서, 리눅스의 방화벽 설정 등이 꼬여서 ssh 접근이 막힌다거나 하는 불상사가 발생하면 어떡해야할까요? 당황하지 말고 사용자 데이터로 스크립트를 등록하도록 합니다. 이때 해당 인스턴스를 중지하여야 스크립트를 저장할 수 있습니다. 스크립트는 아래와 같이 작성합니다.(firewalld 의 default zone 을 trusted 로 변경하여 모든 포트로 접근이 가능하도록 허용) #cloud-boothook #!/usr/bin/env bash /bin/firewall-offline-cmd --set-default-zone=trusted /bin/firewall-cmd --set-default-zone=trusted 이때 #cloud-boothook 을 반드시 맨 상단에 기입하여야합니다.. 2019. 6. 17.
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.
iOptron SmartEQ StarFi 전원공급 케이블 만들기 iOptron SmartEQ 에는 12V 전원공급 포트가 존재하지 않습니다. 따라서 StarFi 또는 SkyFi 에 전원공급을 하려면 별도의 외부 전원을 사용하여야합니다. 최근 아두이노가 보급되면서 5V USB 전원을 9V 또는 12V 로 승압하는 케이블들이 판매되고 있습니다. 이를 이용하여 전원 케이블을 제작합니다. USB 5V to 12V 승압 케이블을 절단한 후, RJ11(4P6C) 의 1번(상기 이미지에서 맨 왼쪽), 4번핀(상기 이미지에서 맨 오른쪽)에 12V(빨강), GND(검정) 를 연결합니다. 아울러 마운트의 전원 또한 외부 보조배터리를 통해 12V 를 공급할 수 있습니다. 상기 이미지는 보조 배터리로 StarFi 및 SmartEQ 에 전원 공급 후 GoTO 테스트를 하는 모습입니다. 이렇.. 2019. 5. 7.
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.
macOS High Sierra 에서 PPTP VPN 설정하기 보안문제로 Sierra 버전부터 VPN 에서 PPTP 가 제거되었습니다. 아직은 VPN 관련 UI에서만 제거되었고 관련 실행파일들은 존재하는 것으로 보입니다. 우선, 서버 등의 설정은 과거 포스팅을 참고해주세요. 2013/04/15 - [프로그래밍/서버관리] - PPTP VPN 설정하기... (CentOS 5.9, Windows7) /etc/ppp 디렉토리 아래 peers 디렉토리를 생성한 후 설정 파일을 작성합니다. vi /etc/ppp/peers/vpnplugin PPTP.pppnoauth# logfile /tmp/ppp.logremoteaddress "서버주소"user "아이디"password "비밀번호"redialcount 1redialtimer 5idle 1800# mru 1368# mtu 13.. 2018. 6. 15.
EOS 윈도우즈에 설치하기 관리자 권한으로 PowerShell 을 실행한 후, 아래 명령어를 실행합니다.Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 재부팅한 후에 "Windows 설정 > 업데이트 및 보안 > 개발자용"으로 들어가 개발자 모드를 켭니다. Ubuntu 를 다운로드 합니다.https://www.microsoft.com/ko-kr/p/ubuntu/9nblggh4msv6 설치가 완료되고 앱을 실행하면, 나머지 설치 작업을 진행한 후에 생성할 계정 아이디와 비밀번호를 요구합니다. 관련하여 입력한 후, git 과 cmake 를 설치합니다. sudo apt install cmakesudo apt install git gi.. 2018. 6. 7.
EOS dawn 4.1 빌드하기 - MacOS 먼저 git 을 통하여 소스를 다운로드합니다. git clone https://github.com/EOSIO/eos --recursive 스크립트를 실행하여 자동으로 빌드 작업을 진행합니다. cd eos./eosio_build.sh 의존성 검사를 수행한 후, 설치가 필요한 패키지를 출력합니다. 1 을 입력하여 관련 패키지를 설치합니다. 이후, 다시빌드 작업을 수행합니다. 빌드 작업이 모두 끝나면, 아래와 같은 메시지가 출력됩니다. 빌드된 프로그램을 설치합니다. cd buildsudo make install 테스트를 위하여 mongo DB 를 실행합니다. /usr/local/bin/mongod -f /usr/local/etc/mongod.conf & 싱글 노드 테스트넷을 구동합니다. cd programs/.. 2018. 5. 22.
Lambda 를 사용하여 CodeCommit 을 Slack 과 연동하기 먼저, Slack 에서 Incoming WebHooks 를 설치합니다. 설치 후, 설정을 시작합니다. 연동할 채널을 선택한 후, Add Incoming WebHooks integration 버튼을 클릭합니다. 생성된 Webhook URL 을 기록해둡니다. 이후, 아마존 클라우드콘솔로 접속한 후 람다함수를 생성합니다. 아래 표기된 내용으로 변경합니다.(기존에 등록한 람다함수를 사용할 경우, 역할 부분을 "기존 역할 선택"으로 하고 해당 함수를 선택합니다.) 기존 함수 코드를 변경합니다. 일단, 여기저기 돌아다니는 소스들을 취합하여 작성해보았습니다. 'use strict'; const url = require('url');const https = require('https');const util = requ.. 2018. 5. 21.
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.
AWS 서버 yum install, update 시 메모리 부족 해결하기 아마존 EC2 로 설치하였을 경우, 기본적으로 스왑 메모리를 사용하지 않습니다. 따라서 부족한 메모리로 인한 yum 설치 등에서 오류가 발생하는 경우가 있는데 이때 임시로 스왑 메모리를 사용하도록하여 관련 작업을 진행시킬 수 있습니다. dd if=/dev/zero of=/swapfile bs=1M count=512 chmod 600 /swapfile mkswap /swapfileswapon /swapfile 작업이 끝난 후, 스왑 파일을 다시 제거합니다. swapoff -a rm -f /swapfile vi /etc/fstab 에서 아래 내용을 추가합니다. /swapfile swap swap defaults 0 0 2018. 5. 11.
CodeCommit 서울 리전 사용하기 - 403 오류해결 CodeCommit 서울 리전이 개설됨에 따라 기존 설정을 활용하여 신규 리포지토리를 추가하려보니, 403 오류가 발생하더군요. 그동안 관련 설정중 변경된 것들이 있나 모두 찾아보았으나 답은 정말 단순한 곳에 있더군요. ㅠㅠ git bash 에서 다음과 같이 서울리전 서버에 접속하며 RSA 키를 저장합니다. ssh git-codecommit.ap-northeast-2.amazonaws.com 그리고 ssh 의 전역 설정을 불러온 후, notepad ~/.ssh/config Host 의 내용을 와일드 카드를 이용하여 아래와 같이 수정합니다. Host git-codecommit.*.amazonaws.com 2018. 4. 2.
페이팔(paypal) sandbox 사용하기 1. https://developer.paypal.com/ - 개발자 페이지로 로그인합니다. Sandbox Access Token 을 생성합니다. 생성이 모두 끝나면, Accounts 메뉴를 선택하여 facilitator 와 buyer 가 생성되었는지 확인합니다. 각각 판매자와 구매자 계정이라고 보면 됩니다. 각 계정의 비밀번호를 변경하여 줍니다. 판매자의 경우, API 연동을 위한 기본 값들을 확인할 수 있습니다. 2. https://www.sandbox.paypal.com - sandbox 페이지로 로그인합니다. 이때 로그인 아이디, 비밀번호는 상기 developer 페이지에서 생성한 구매자 또는 판매자 아이디, 비밀번호를 사용합니다. 테스트를 위해 생성된 잔액을 확인할 수 있습니다. 이제 열심히 개.. 2018. 2. 22.
PHPStorm Terminal 을 git bash 로 교체하기 Windows 에서 PHPStorm 의 터미널은 당연한 얘기겠지만, 명령프롬프트가 실행됩니다. 이를 git 설치시 함께 배포되는 bash로 변경해봅니다. 설정(Ctrl + Alt + S) 에서 Tools > Terminal 로 들어갑니다. 그리고 아래와 같이 git 의 설치 경로에 있는 sh.exe 를 연결합니다.(64비트용으로 git 을 설치하였다면, C:\Program Files\ 아래 위치합니다.) "C:\Program Files (x86)\Git\bin\sh.exe" -login -i 터미널 창을 닫고 띄우면, 아래와 같이 bash 가 실행됩니다. 이렇게 간단한 것을 그동안 미련하게 작업해왔네요. ^^ 2017. 8. 31.