본문 바로가기
728x90
반응형

분류 전체보기217

APF (Advanced Policy Firewall) Linux에서 방화벽을 사용하는 가장 일반적인 방법은 iptables 를 이용하는 것이다. 그러나, 이 것이 공부할 것이 만만치 않게 많고, 설정해야 할 것도 복잡스럽다. 그래서, 이것을 쉽게 사용할 수 있도록 제공되는 도구들이 여러가지 있는데, 그 중에서 다양한 배포본에서 두루 편하게 쓸 수 있는 녀석을 찾아보니, apf 라는 프로그램이 가장 좋아보였다. 이것을 CentOS 에서 설치,설정 하는 방법을 정리해보았다. Linux 에서 방화벽을 사용하려면, 우선 iptables가 Enable된 상태여야 한다. iptables 실행 # service iptables start iptables OS 시작시 자동실행되도록 하기 # chkconfig iptables on 설치 (CentOS) # yum insta.. 2011. 6. 23.
perl 스크립트를 통한 해킹 사고 올해 들어서 벌써 2번째 해킹사고가 발생하였다. 한번은 exim 이라는 SMTP를 통해서, 그리고, 어제는 apache+php 를 통해서 이루어졌다. 각기 다른 서비스를 통해서 당했지만, 해킹 형태는 비슷하였다. 해당 서비스의 취약점을 통해서 /tmp 디렉토리에 perl 스크립트를 심고, 데몬으로 돌려서 특정 사이트에 과다 트래픽을 발생시켜서 마비시키는 것이었다. 이를 해결하는 방법으로는 아래 소개한 여러 복잡한 방법이 있지만, 공통점은 perl 을 이용한다는 것이므로, 가장 간단한 방법은 perl을 삭제하여 없애버리는 것이다. ^^; Simple is Best ??? http://blog.naver.com/PostView.nhn?blogId=nicegass&logNo=130033355546&redire.. 2011. 6. 23.
(Freeware for Business) 다씨 : 국산 이미지뷰어 지난 Viu2 에 이어서 이미지뷰어를 하나 더 소개하고자 한다. Viu2는 외산이며, 한글도 지원이 안되고, 약간은 다른 인터페이스를 가지고 있어서, 약간의 적응시간이 필요하였다. 그러나, 다씨는 국내에서 제작이 되었으며, 기타 다른 이미지뷰어와 비슷한 인터페이스를 채용하고 있다. 더군다나 (주)휴먼토크라는 회사에서 심혈을 기울여서 유지/개선하고 있는 제품이며, 모든 사용자(기업 포함)에게 완전히 무료이다. 의외로 사람들에게 많이 알려지 않았지만, 기능적으로 많이들 사용하는 알씨와 견주어서도 뒤지지 않으므로, 알씨를 완전히 대체할 수 있는 프로그램이다. 직접 사용하고 비교해보라. 그러니, 기업 사용자는 유료 프로그램인 알씨를 지금 바로 삭제해주시고, 다씨를 설치하기 바란다. 굳이 기능을 나열해보자면, 썸.. 2011. 6. 23.
(Perl) perlbrew 를 이용하여 다양한 버전의 Perl을 설치해보자! CentOS 5.6 에 기본으로 설치되어 있는 Perl 의 버전은 5.8.8 이다. 버전이 낮아도 한참 낮다. 요즘 다른 OS에는 5.10을 기본으로 사용하도록 되어 있으며, 최신 버전은 5.12 이다. 거기에 벌써 5.14 RC 버전까지 나온 상태이다. 이런 구닥다리 버전을 벗어나서 그나마 남들도 쓰는 버전을 쓰려면, 별도로 Perl 을 설치해야 되는데... 직접 소스 파일을 다운로드하여 컴파일/설치 하는 것도 방법이겠지만... 더욱 유연하고 확장성 있는 방법을 소개하고자 한다. 지난번 pythonbrew 를 이용해서 여러 버전의 python 을 설치하는 법을 알려드렸는데, 이것의 원조인 perlbrew 를 이용하면 우리가 원하는 것을 할 수 있다.먼저 perlbrew를 설치한다.$ curl -Lk h.. 2011. 5. 23.
(Ruby) 10MB 이상의 파일중에서 중복된 파일 찾기 아래 코드에서 파일에 대한 MD5SUM 을 구하기 위해서 주석 처리한 부분을 대신 사용할 수 도 있다. 인터넷에서 찾아보면 이렇게 되어 있는 경우가 많은데, 이렇게 하면 메모리를 많이 잡아먹는 문제가 발생한다. 반드시 Digest::MD5.file().hexdigest 를 이용해야만 적은 메모리를 사용하면서 원활하게 동작되니 주의하기 바란다.# -*- coding: cp949 -*-require 'find'require 'digest/md5' file_list = Array.newFind.find("C:\\") do |path| if File.file?(path) and File.size(path) > 10_000_000 # digest = Digest::MD5.hexdigest(File.read.. 2011. 5. 17.
(PHP) 빈 디렉토리 삭제하기 파일서비스를 하다 보면, 불필요하게 비어 있는 디렉토리들이 우후죽순으로 생겨난다. 용량은 얼마 차지하지 않겠지만, 관리상 지저분한 면이 있으니, 깔끔한(?) 성격을 가진 관리자라면 이것 조차도 지우고 싶을 것이다. Windows 에서는 빈 디렉토리를 지울 수 있는 유틸리티를 이용해서 지워도 되고, Unix 계열이라면 find 를 이용해서 지울 수 있다.다음 PHP 코드를 이용하면, 모든 OS에서 동일하게 빈 디렉토리를 삭제할 수 있다. 같은 일을 하는 코드를 찾아봤지만, 없어서 직접 구현해보았다. 간단하다, 모든 디렉토리를 순회하면서 해당 디렉토리 내에 파일/디렉토리가 있는지 검사해서 아무 것도 없으면, 삭제 대상으로 등록하고, 나중에 한방에 지우도록 한 것이다.// --------------------.. 2011. 5. 14.
728x90
반응형