악의적 인 프로그램이 파일의 끝에 또는 시작 부분에 코드를 추가하기 때문에 서버 문제가 발생합니다. 나는 내 지식의 범위에서 보안 허점을 고쳤다. 호스팅 제공 업체가 보안이 적절하다고 알았지 만 사이트에서 바이러스/악성 코드 활동으로 편집증을 앓고 있습니다. 나는 계획을 가지고 있지만, sed 또는 awk 또는 gawk와 같은 리눅스 편집자들에게 정통하지는 않다. 내 PHP 지식을 사용하여이 작업을 수행 할 수 있지만 매우 리소스 집약적 인 것입니다.awk를 사용하여 맬웨어 바이러스 활동을 잠 그려면 도움이 필요합니다.
악성 코드/바이러스가 파일의 시작 또는 끝에 코드를 추가하므로 (웹 사이트에 오류가 표시되지 않도록) 모든 .php 파일을 반복적으로 조사하는 명령을 작성하는 방법을 알려주십시오. (필자는 부모 및 모든 하위 디렉토리에서 다른 유형의 파일을 변경하는 데 도움을 줄 것입니다.) 파일의 시작과 끝에 XXXXXX_START 및 YYYYYY_END와 같은 특정 태그를 추가하십시오.
그런 다음 모든 .php 파일을 읽고 코드의 첫 번째 줄이 XXXXX_START이고 마지막 줄이 YYYYYYY_END인지 확인하고 어떤 파일이 다른 것으로 확인되면 보고서를 작성해야합니다.
불일치가 발견되면 모든 파일을 확인하고 보고서를 이메일로 보내주기 위해 cron을 설정합니다.
바이러스가 주석 처리 된 줄 뒤에 데이터를 추가 할 수 있기 때문에 이것이 100 % 완벽하지는 않지만, 이것이 내가 생각할 수있는 최선의 선택입니다.
sed -i -r '1i add here' *.txt
을하지만이 순환하지 않고 단지 상위 디렉토리의 파일에 줄을 추가 -
나는 시작에 데이터를 추가하려면 다음 명령을 시도했습니다.
그런 다음 이걸 발견했습니다. BEGIN 및 END는 특수 패턴입니다. 입력 레코드를 일치시키는 데 사용되지 않습니다. 오히려 awk 스크립트에 시작 또는 정리 정보를 제공하는 데 사용됩니다. BEGIN 룰은 첫 번째 입력 레코드가 읽히기 전에 한 번 실행됩니다. 모든 입력이 읽 t 진 후에 END 룰이 실행됩니다. 예 :
awk 'BEGIN { print "Analysis of `foo'" }
/foo/ { ++foobar }
END { print "`foo' appears " foobar " times." }' BBS-list
그러나 불행히도, 나는 아무것도 해독 할 수 없었습니다.
위에 언급 된 세부 정보에 대한 도움을 주실 수 있습니다. 다른 제안 사항도 환영합니다.
감사합니다,
니틴
:
당신은 파일을 확인하려면 다음의 쉘 스크립트를 사용할 수 공식 호스팅 업체 (USB 스틱 또는 랩톱 또는 어딘가) 이외의 다른 곳에서 사용하는 공식 해시. 확인이 필요할 때 호스팅 제공 업체의 파일 해시를 다시 생성 한 다음 이번에 얻은 정보를 지난 번에 기록한 내용과 비교하십시오. 불일치는 파일 변경으로 인한 것입니다. 가장 큰 원인은 파일을 업데이트했음을 잊었고 저장된 해시 값을 변경하지 않았지만 검토 할 수있는 파일 수가 제한되어 있다는 것입니다. –