iptables로 모든 활동 기록

iptables기본적으로 "모두 수락"모드의 필터 규칙이 있습니다. 즉, PC에서 또는 PC 로의 모든 연결을 허용하지만 서버 또는 PC에 대한 연결에 대한 모든 정보를 기록하려면 어떻게해야합니까?

참고 : 지금 실행할 절차는 배포에서 100 % 유효합니다. 데비안/데비안 기반, 그래서 당신이 사용한다면 슬랙웨어, 페도라, CentOS에, 오픈수세, 절차가 동일하지 않을 수 있습니다. 아래 설명 된 내용을 적용하기 전에 배포판의 로그인 시스템을 읽고 이해하는 것이 좋습니다. 저장소에서 사용 가능한 경우 배포에 rsyslog를 설치할 수도 있지만이 자습서에서는 syslog도 마지막에 설명되어 있습니다.

지금까지는 모두 좋지만 무엇로그인 할 곳은 어디입니까?? 쉽게, 파일에서«/var/log/방화벽/iptables.log", 뭐 존재하지 않습니다, 우리 스스로 그것을 믿을 때까지 ...

1- «파일을 만들어야합니다.iptables.log»폴더 내부«/ var / 로그 / 방화벽»그것도 존재하지 않기 때문에 그것을 만들어야한다는 것.

mkdir -p / var / 로그 / 방화벽 /
/var/log/firewall/iptables.log를 터치합니다.

2- 권한, 매우 중요 ...

chmod 600 /var/log/방화벽/iptables.log
chown 루트 : adm /var/log/firewall/iptables.log

3- rsyslog, 데비안 로그인 데몬은«/etc/rsyslog.d«, 그래서 우리는 내가 호출 할 파일을 만들어야합니다«방화벽.conf»rsyslog에서 우리가 원하는 것을 해석 할 수 있습니다.

/etc/rsyslog.d/firewall.conf를 터치합니다.

그리고 우리는 그를 떠나 새끼 부드럽게 다음 내용 :

: msg, 포함, "iptables :"-/ var / log / firewall / iptables.log
& ~

나는 아주 작은 아이디어가 없습니다.이 두 줄은 무엇을 하는가?

첫 번째 줄은 로그 된 데이터에서«iptables : »파일에 추가«/var/log/방화벽/iptables.log«

두 번째는 이전 패턴으로 기록 된 정보의 처리를 중지하여«로 계속 전송되지 않도록합니다./ var / log / messages".

4- 로그 파일 회전 로그 로테이트하다.

«/etc/logrotate.d/" 파일 "방화벽»다음 내용이 포함됩니다.

/var/log/방화벽/iptables.log
{
회전 7
매일
10M 크기
날짜문자
실종자
600 루트 adm 생성
notifempty
압축
지연 압축
후 회전
invoke-rc.d rsyslog reload> / dev / null
엔드 스크립트
}

로그를 삭제하기 전에 7 번 회전시키기 위해서는 하루 1 번, 최대 로그 크기 10MB, 압축, 날짜, 로그가 존재하지 않는 경우 오류없이 루트로 생성됩니다.

5- 모든 해피 엔딩 xD와 마찬가지로 rsyslog 데몬을 다시 시작합니다.

/etc/init.d/rsyslog 재시작

모든 것이 작동한다는 것을 어떻게 증명할 수 있습니까?

SSH를 사용해 보겠습니다.

설치 OpenSSH를 (그들이 그것을 설치하지 않은 경우 ...):

apt-get openssh-server 설치

계속하기 전에 콘솔에서 루트로 실행해야합니다.

iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4

이 iptables 문을 실행하면 우리가 한 일이 헛되지 않았 음을 보여주는 충분한 정보가 기록됩니다. 이 문장에서 우리는 iptables에게 포트 22를 통해 들어오는 모든 정보를 기록하도록 지시합니다. 다른 서비스로 테스트하려면 MySQL의 경우 3306과 같이 포트 번호를 변경하여 더 많은 정보를 원하면 예제를 인용하십시오. 매우 잘 문서화 된 튜토리얼을 읽으십시오. 가장 많이 사용되는 구성의 일반적인 예를 기반으로합니다.

SSH는 기본적으로 포트 22를 사용하므로 테스트 해 보겠습니다. openssh를 설치 한 후 연결합니다.

ssh pepe @ 테스트 서버

로그를 보려면 꼬리를 사용하여이 문제를 해결하십시오.

꼬리 -f /var/log/방화벽/iptables.log

이 예에서 Iptables는 모든 일, 시간, IP, Mac 등을 기록하므로 서버 모니터링에 적합합니다. 결코 아프지 않는 약간의 도움.

이제 우리는 처음에 말했듯이 다른 배포판을 사용한다는 점에 유의하십시오. rsyslog, 또는 이와 유사한 것. 배포판에서 syslog, 동일한 연습을 수행하려면 약간 편집 / 수정해야합니다. syslog.conf

나노 /etc/syslog.conf

다음 줄을 추가하고 저장합니다.

kern.warning /var/log/firewall/iptables.log

그리고 아시다시피 해피 엔딩 :

/etc/init.d/sysklogd 재시작

결과 : 동일합니다.

지금은 그게 다입니다. 향후 포스트에서는 계속해서 iptables를 가지고 놀 것입니다.

참조 :

iptables가 다른 파일에 기록하도록 강제

rsyslog를 사용하여 iptables를 별도의 파일에 기록

Fedora / RHEL 시스템의 Iptables 구성 튜토리얼


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   페레리가디아

    조금씩하고있는 BOFH를위한이«미니 매뉴얼»

  2.   고라츠키

    고마워요, 조금씩 iptables의 세부 사항과 데이터를 제공 할 것입니다. 제가 작업에서 알아야했던, 때로는 우리가 필요로하고 인터넷에서 매우 잘 설명되지 않는 모든 사용자에 의해 ... xD

    1.    KZKG ^ 가아라

      이 기회에 여러분을 환영합니다 😀
      당신은 정말로 기여할 많은 것을 가지고 있고, 당신은 네트워크, 시스템, 방화벽 등에 대한 정말로 진보 된 지식을 가지고 있습니다. 그래서 저는 당신이 hahaha를 갖게 될 많은 독자 중 하나가 될 것입니다.

      인사와 음 ... 알다시피, 무엇이든지간에 😀

    2.    이자르

      그 아이템이 기대됩니다 ^^

  3.   휴고

    Koratsuki에 가자, 나는 당신이이 블로그를 자주 방문하는 것을 몰랐다.

    그건 그렇고, 방화벽 활동 로깅의 또 다른 변형은 패키지를 사용하는 것입니다 ulogd이는 이러한 유형의 추적을 쉽게 분리하기 위해 netfilter 프로젝트의 사람들이 만든 것입니다 (다른 방법으로 저장할 수 있음). 내가 일반적으로 사용하는 접근 방식입니다. 예를 들면 다음과 같이 사용하기 쉽습니다.

    iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"

  4.   고라츠키

    게시물에 F5를 주어야합니다. Ulogd 작업 방식이 저에게 적합합니다. 심지어 MySQL도 D 유형을 기록합니다.

  5.   MSX

    좋은 소식을 계속하세요.

  6.   치 놀로 코

    사장님, 어떻게 지내세요?
    손 좀 주 시겠어요?
    튜토리얼을 못 받고 물보다 맑기 때문에 내가 어디가 잘못되었는지 모르겠다