
rsyslog 파서의 버퍼 오버플로우인 CVE-2019-17041에 대한 개념 증명 익스플로잇으로, 원격 코드 실행을 시연합니다.
Rsyslog는 로켓처럼 빠른 시스템으로 로그 처리를 수행합니다.
고성능, 뛰어난 보안 기능 및 모듈식 디자인을 제공합니다. 일반 syslogd로 시작했지만, rsyslog는 로깅의 스위스 군용 칼과 같은 도구로 진화하여 다양한 소스에서 입력을 받아 변환하고 결과를 다양한 대상으로 출력할 수 있습니다.
Rsyslog는 제한된 처리가 적용될 때(2013년 12월 v7 기준) 초당 백만 개 이상의 메시지를 로컬 대상으로 전달할 수 있습니다. 원격 대상 및 더 정교한 처리에서도 성능은 일반적으로 "놀랍다"고 평가됩니다.
http://lists.adiscon.net/mailman/listinfo/rsyslog
대부분의 배포판은 자체 저장소에 rsyslog를 포함하고 있습니다. 따라서 일반적으로 패키지 관리자를 사용하여 설치하면 됩니다. systemd를 사용하지 않는 시스템(특히 Ubuntu)에서는 rsyslog가 이미 설치되어 있는 경우가 많습니다.
안타깝게도 배포판은 rsyslog 개발 속도를 따라가지 못하는 경우가 많아 이전 버전만 제공합니다. 이 문제를 해결하기 위해 현재 버전의 패키지를 직접 만들었습니다.
다음에서 사용할 수 있습니다:
지침을 따르세요: https://www.rsyslog.com/doc/v8-stable/installation/build_from_repo.html
일반적으로 필요한 것:
이것들은 소스에서 빌드하는 것이 가장 좋습니다.
json-c를 위해 필요한 것:
export PKG_CONFIG_PATH=/lib64/pkgconfig/
sudo yum install git valgrind autoconf automake flex bison python-docutils python-sphinx json-c-devel libuuid-devel libgcrypt-devel zlib-devel openssl-devel libcurl-devel gnutls-devel mysql-devel postgresql-devel libdbi-dbd-mysql libdbi-devel net-snmp-devel
Adiscon 저장소 추가:
apt-get update && apt-get install -y software-properties-common
add-apt-repository -y ppa:adiscon/v8-stable
참고: git master 브랜치로 작업하려는 개발자라면 Adiscon 저장소를 추가하는 것은 좋지 않은 생각일 수 있습니다. 지원 라이브러리도 소스에서 컴파일하는 것이 더 좋습니다. 최신 rsyslog 버전은 저장소에 있는 라이브러리보다 더 최신 버전이 필요할 수 있기 때문입니다. 해당 라이브러리는 최소한 libestr, liblognorm, libfastjson입니다.
omhiredis 지원으로 빌드하는 데 필요한 패키지:
apt-get update && apt-get install -y build-essential pkg-config libestr-dev libfastjson-dev zlib1g-dev uuid-dev libgcrypt20-dev liblogging-stdlog-dev libhiredis-dev uuid-dev libgcrypt11-dev liblogging-stdlog-dev flex bison
다른 모듈을 위한 추가 패키지:
libdbi-dev libmysqlclient-dev postgresql-client libpq-dev libnet-dev librdkafka-dev libgrok-dev libgrok1 libgrok-dev libpcre3-dev libtokyocabinet-dev libglib2.0-dev libmongo-client-dev
KSI를 위해 Adiscon PPA에서:
sudo apt-get install libksi0 libksi-devel
sudo apt install build-essential pkg-config libestr-dev libfastjson-dev zlib1g-dev uuid-dev libgcrypt20-dev libcurl4-gnutls-dev zlib1g-dev liblogging-stdlog-dev liblogging-stdlog-dev flex bison
참고: 특정 라이브러리의 버전 요구 사항이 더 높을 수 있으며, 이 경우 Debian 백포트 저장소를 추가하는 것이 도움이 될 수 있습니다. 예: apt libfastjson-dev -t stretch-backports로 설치.
다른 모듈을 위한 추가 패키지:
libdbi-dev libmysqlclient-dev postgresql-client libpq-dev libnet-dev librdkafka-dev libgrok-dev libgrok1 libgrok-dev libpcre3-dev libtokyocabinet-dev libglib2.0-dev libmongo-client-dev
sudo zypper install gcc make autoconf automake libtool libcurl-devel flex bison valgrind python-docutils libjson-devel uuid-devel libgcrypt-devel libgnutls-devel libmysqlclient-devel libdbi-devel libnet-devel postgresql-devel net-snmp-devellibuuid-devel libdbi-drivers-dbd-mysql
테스트벤치 VM을 위해:
sudo zypper install gvim mutt
사용 가능한 패키지:
zypper install gcc make autoconf libtool flex bison
누락된 패키지:
libcurl-devel valgrind python-docutils uuid-devel libgcrypt-devel libgnutls-devel libmysqlclient-devel libdbi-devel postgresql-devel net-snmp-devel libdbi-drivers-dbd-mysql json-c zlib-dev libdbi
버그라고 생각되면 메일링 리스트에 문의하세요. 종종 약간의 구성 트릭으로 해결되기도 합니다.
버그를 다음에 등록하세요: https://github.com/rsyslog/rsyslog/issues
rsyslog에 대한 기여는 매우 환영합니다. 포크하여 풀 리퀘스트를 보내주세요.
기여에 대한 자세한 내용은 CONTRIBUTING 파일을 참조하세요.
Python이나 Perl과 같은 언어를 사용하여 출력 플러그인을 쉽게 추가할 수 있습니다. 따라서 아직 지원되지 않는 시스템에 연결해야 하는 경우 외부 플러그인을 통해 쉽게 수행할 수 있습니다. 자세한 내용은 외부 플러그인 디렉토리의 README 파일을 참조하세요.
주요 rsyslog 문서는 HTML 형식으로 제공됩니다. 읽으려면 웹 브라우저를 ./doc/manual.html로 열어보세요. 또는 온라인에서 가장 최신 rsyslog 버전의 문서를 볼 수 있습니다: https://www.rsyslog.com/doc/
우리는 모든 측면에서 오픈 소스 프로젝트이며 외부 피드백과 기여에 매우 개방적입니다. 우리는 표준을 기반으로 작업하며 모든 실제 요구 사항을 해결하려고 노력합니다(물론 가끔 모든 요구 사항을 해결하지는 못합니다 ;)). 프로젝트는 주로 Adiscon의 후원을 받지만 기술 개발은 회사 목표와 독립적이며 대부분의 결정은 메일링 리스트 토론 결과에만 기반합니다. rsyslog 주변에는 활발한 커뮤니티가 있습니다.
rsyslog 팀의 공식 멤버라는 것은 없습니다. 그와 가장 가까운 것은 메일링 리스트를 구독하는 것입니다: http://lists.adiscon.net/mailman/listinfo/rsyslog
이러한 공개 토론 방식은 아마도 가장 잘 알려지고 가장 성공적인 협력 표준 기관인 IETF 프로세스를 모델로 삼았습니다.
rsyslog의 주요 후원사인 Adiscon은 맞춤형 개발 및 지원 계약을 판매하여 rsyslog 자금을 조달하려고 합니다. Adiscon은 rsyslog를 상업용 라이선스로 제공하지 않습니다(이는 rsyslog의 라이선스 구조상 누구에게도 불가능합니다).
모든 제3자도 맞춤형 개발, 지원 및 rsyslog 컨설팅을 자유롭게 제공할 수 있습니다. 우리는 그러한 제3자 작업의 결과를 기꺼이 메인 저장소에 병합합니다(기여 정책에 명시된 몇 가지 필수 사항을 충족한다는 가정 하에).