해킹이 의심되는 파일들 발견…

흠 그동안 관리를 잘 안했더니, 확실히 여러가지 문제들이 생긴 것 같다. 서버 이전 전에 왠만한 문제들은 해결하고 가는게 좋을 것 같아서 파일들을 좀 살펴봤는데, 변조된 파일로 보이는 파일들이 많이 보인다. 대강 아래와 같은 식의 요상한 데이터가 덮어씌워져 있는데…

문자열을 \\xHEX 형식으로 치환해놔서 그냥 보기에는 어떤 내용인지를 쉽게 알아볼 수가 없고, pattern matching 해서 찾아내기에도 드럽게 해놨다. -_- 나뿐 놈들…

도대체 어떤 코드를 넣어놨나 궁금해서 아래 코드를 이용해서 눈으로 볼 수 있는 형태로 치환해봤는데…

Continue reading 해킹이 의심되는 파일들 발견…

작은 것이 아름답다.

‘작은 것이 아름답다.’라는 말을 들어보셨나요? ‘Simple is beautiful’ 이라는 유닉스 철학인데, 요새 매쉬업이라는 개념을 보고 있으면 바로 이 말이 떠오르곤 합니다.

유닉스 철학 중에는 ‘출력이 다른 프로그램의 인풋으로 사용될 수 있다고 예상하라. (Expect the output of every program to become the input to another, as yet unknown, program.)’ 라는 항목이 있습니다. 파이프 라는 말을 들어보셨을지 모르겠지만 이를 이용하면 다른 프로그램의 출력을 내 프로그램의 입력으로 받아 사용할 수 있기 때문에 복잡한 프로그램을 만들기보다는 간단한 프로그램을 만들고, 이미 만들어져있는 프로그램들과 조합을 해서 사용하는 것이 가능해집니다.

Continue reading 작은 것이 아름답다.

problem in fastcgi with apache

현재 unfix 서버에는 apache + mod_fcgid 환경에서 fastcgi 를 지원하고 있다. 그런데 fastcgi 를 적용시킨 후 가끔 apache 가 먹통이 되는 현상이 생겨버렸다.

대부분의 apache 프로세스가 D state 를 가지게 되면서 더 이상 프로세스를 만들어내지 못하게 되서 요청을 처리하지 못하게 되는 것 같은데, D state 는 Uninterruptible sleep 을 의미하므로 fastcgi 프로세스에서 interrupt 를 disable 시킨채로 sleep 상태에 들어가서 이런 문제가 생기는 것으로 보인다.

그렇다고 하루종일 아파치가 정상적으로 동작하고 있나를 확인할 수는 없기에 스크립트를 하나 작성해봤다.

sort 와 uniq 를 이용해서 숫자를 셀 수도 있지만 정상적인 경우에 D stat 를 가지는 프로세스가 존재하지 않으므로 for 를 이용하기로 했다. 꺄아! 과연 효과는 -_-! 두둥!