Jongwan.com

Hello world

카테고리: 리눅스

Apache Traffic Server 시작오류

Apache Traffic Server를 apt로 설치하고 systemctl start trafficserver로 시작하려면 정상적으로 시작을 하지 않는 경우가 있다.   이런경우 아래처럼 디렉토리를 생성시켜주면 정상적으로 시작이 된다 $ mkdir /var/run/trafficserver $ chown trafficserver:trafficserver /var/run/trafficserver   systemctl status trafficserver로 확인해보면 /var/run/trafficserver 를 생성시켜주지 못해서 오류가 나면서 종료되는 문제이다.   서버 시작시 서비스가 실행되도록 하려면 아래처럼 한다 $ systemctl enable trafficserver […]

Read More

우분투 12.04 iptables + geoip

우분투 12.04에서 iptables와 geoip를 이용해서 국가단위로 접근을 제한하는 방법을 안내합니다.   설치 필요한 패키지 설치 # sudo apt-get install xtables-addons-common # sudo apt-get install libtext-csv-xs-perl   GEOIP 데이터베이스 다운로드 # sudo /usr/lib/xtables-addons/xt_geoip_dl   다운로드한 데이터베이스 압축해제 # sudo mkdir /usr/share/xt_geoip # sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv   사용방법 특정 국가만 차단 # iptables -A INPUT -m […]

Read More

Asterisk 수신거부 코드 – DB연동

asterisk 11 버전에서 특정번호를 수신거부하는 코드입니다. 수신거부하는 번호를 DB테이블에 저장하고 관리합니다.   테이블스키마 CREATE TABLE `ban` ( `phone` VARCHAR(32) NOT NULL COMMENT ‘전화번호’, `reg_date` DATETIME NOT NULL COMMENT ‘등록일’, INDEX `phone` (`phone`) ) COMMENT=’수신거부 전화번호’ COLLATE=’utf8_general_ci’ ENGINE=MyISAM;   extensions.conf [inbound] exten => 07010002000,1,Answer exten => 07010002000,n,NoOp(“caller id: ${CALLERID(number)}”) exten => 07010002000,n,MYSQL(Connect connid 호스트 유저 비밀번호 […]

Read More

게이트웨이 핑체크

Gateway ping 확인하는 스크립트 eth0 – 192.168.100.1 eth1 – 192.168.200.1 default gateway는  192.168.100.1 로 등록되어 있는 상태에서 192.168.100.1로 핑을 계속 보내면서 네트워크를 확인한다. 최대 실패횟수가 초과하면 현재 default gateway를 제거하고 eth1의 게이트웨이를 등록하고 관리자에게 이메일을 발송한다.  

Read More

리눅스 hostname 변경

우분투에서 호스트네임을 변경하는 방법 hostname 파일 수정 #vim /etc/hostname hostname 적용 #hostname -F /etc/hostname hostname 확인 #hostname

Read More

find 명령으로 오래된 파일찾기

find 명령으로 오래된 파일을 찾아본다 현재위치에서 *.txt파일중 30일이 지난 파일을 출력 # find . -name “*.txt” -type f  -ctime +30 -print 현재위치에서 30일이 지난 모든 파일을 삭제 # find . -type f -ctime +30 | xargs rm 현재위치에서 30일이 지난 모든 디렉토리를 삭제 # find . -type d -ctime +30 | xargs rm -rf 현재 […]

Read More

fail2ban – 워드프레스 로그인 차단 (wp-login.php)

워드프레스 악의적인 로그인 차단 fail2ban 을 이용하여 워드프레스(https://wordpress.org/) 로그인 페이지를 안전하게 해보자 어느날 갑자기 무차별대입공격(brute force attack)으로 로그가 엄청나게 늘어나 버렸다. 워드프레스에 Wordfence 플러그인이 설치되어 있었지만 차단해주지는 못했다. 때문에 로그파일을 읽어 방화벽(iptables)에 등록해주는 fail2ban 을 이용하여 직접 방어해본다.   기본환경 ubuntu 14.04에 apache2가 설치되어 있다.   fail2ban 설치하기 fail2ban은 지정된 로그파일을 모니터링하면서 정규식을 이용, 특정패턴을 […]

Read More

NCDU – 리눅스에서 폴더별 용량 확인

NCDU 우분투에서 폴더의 사용량을 확인하기 위해 항상 du 명령어를 사용했었다. 간단하게 사용이 가능하지만 한눈에 알아보기 힘든 UI로 인해서 고민하다 비주얼하게 출력해주는 프로그램을 하나 만들어 볼까?? 하던차에 구글링을 해보니, 이미 많이 사용되는 프로그램이 있어 소개해본다 일단 콘솔에서 확인해야 하기에 바오밥(https://en.wikipedia.org/wiki/Disk_Usage_Analyzer) 의 경우 X윈도우가 필요하니 패스~ NCDU 설치방법 NCDU를 사용하기 위해서 우분투기준 아래와 같이 설치를 진행한다 #apt-get […]

Read More

업로드 디렉토리에서 웹쉘 php 실행 방지(webshell)

업로드 디렉토리에서 아래 명령을 실행 # find . -type f | xargs grep -n “eval(” 파일은 gif형식인데 내용에는 php 코드가 들어있다. POST로 데이터를 전송하면 eval() 명령으로 실행이 된다. 위와 같은 상황처럼 이미지에 들어있는 php코드가 실행이 되는 것을 방지하지 위해서 아예 업로드 디렉토리는 php파싱을 하지 않도록 하는 방법을 안내한다   /etc/httpd/conf/httpd.conf

Read More

tcpdump

tcpdump # tcpdump [ -AdDefIKlLnNOpqRStuUvxX ][ -B buffer_size ][ -c count ][ -C file_size ][ -G rotate_seconds ][ -F file ][ -i interface ][ -m module ][ -M secret ][ -r file ][ -s snaplen ][ -T type ][ -w file ][ -W filecount ][ -E spi@ipaddr algo:secret,… ][ -y datalinktype ][ -z postrotate-command ][ […]

Read More