커맨드 라인을 통해 Ubuntu 12.04의 모든 금지 된 IP를 어떻게 봅니까?


36

서버에서 모든 금지 된 IP를 보는 빠른 명령을 찾지 못하는 것 같습니다. 아니면 편집 할 수있는 파일이 있습니까?

나는 fail2ban이 모든 IP를 금지하도록 입력하는 것으로 추측합니다. 설정을 어디서 조정합니까?

ufw를 비활성화 한 경우에만 원격으로 서버에 로그인 할 수있는 것 같습니다. 나는 자신을 금지 해제하는 방법을 찾지 못하는 것 같습니다. 나는 왜 내가 처음부터 금지되었는지조차 모른다. 모든 시도를 볼 수있는 로그가 있습니까?


5
sudo iptables -L -n?
Seth

너무 많은 출력이 있습니다. 무엇을 찾아야합니까? i.imgur.com/zTTXJTE.png ... 감사합니다 .. <ip_address> 허용 ufw를 수행했지만 여전히 작동하지 않았습니다. 나는 그것이 금지 된 곳을 모른다.
Patoshi パ ト シ

또한 ufw 상태를 수행 한 다음 ufw를 비활성화하고 iptables -F를 수행 한 다음 ufw를 활성화하십시오. 여전히 서버에 원격으로 액세스 할 수 없습니다. 내 ip는 상태 상자에 다음과 같이 명확하게 표시됩니다. i.imgur.com/f7JD2Ny.png
Patoshi パ ト シ

서버를 ssh하기 전에 ssh 포트를 열었습니까?
Qasim

어떻게 확인합니까? 방화벽이 꺼져있을 때 SSH를 사용할 수 있습니다. 기본적으로 작동하지 않습니까?
Patoshi パ ト シ

답변:


24

sudo iptables -L INPUT -v -n | less

이것은 iptables에게 INPUT chain의 모든 규칙을 나열하고 자세한 숫자 출력을 제공하도록 지시합니다. 한 번에 한 페이지 씩 얻을 수 있도록 덜 파이핑합니다.


2
2014 년 이후로 뭔가가 바뀌었을 수도 있지만 지금 상황에 따라 fail2ban이 INPUT체인 에 물건을 넣지 않기 때문에이 대답은 잘못되었습니다 .
billynoah

@billynoah 물론 뭔가 바뀌 었습니다. 인생에서 아무것도 정적이 아닙니다. 우선, 12.04는 더 이상 지원되지 않습니다. 그래도 계속 사용하고 있다면 2021 년 4 월까지 지원되는 16.04 LTS로 업그레이드하는 것이 좋습니다.
Geek

2014 년이라고 말했기 때문에 12.04를 참조하는지 확실하지 않습니까? 나는 당신의 대답의 해에 대해 이야기하고있었습니다.
billynoah

1
@billynoah 나는이 답변이 제공 된 질문에서 참조 되었기 때문에 12.04를 참조하고 있습니다. 혼란을 드려 죄송합니다. :-)
Geek

45

짧은 버전 :

현재 차단 된 모든 IP를 나열하십시오.

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

IP 금지 해제 :

fail2ban-client set postfix-mail unbanip 111.222.333.444

긴 버전 :

"공식적인"방법을 찾고 있다면 fail2ban https://www.fail2ban.org/wiki/index.php/Commands 명령 행 클라이언트가 있습니다 .

~ # fail2ban-client status
Status
|- Number of jail:      8
`- Jail list:           roundcube, sshd, sogo, postfix-sasl, postfix-mail, dovecot, ssh, sshd-ddos

그럼 당신은 실행할 수 있습니다

~ # fail2ban-client status roundcube

Status for the jail: roundcube
|- filter
|  |- File list:        /var/log/mail.log
|  |- Currently failed: 0
|  `- Total failed:     12
`- action
   |- Currently banned: 1
   |  `- IP list:       111.222.333.444
   `- Total banned:     1

또는 기존의 모든 감옥에서 반복되는 내 명령을 사용할 수 있습니다.

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

어떤 출력 :

Status for the jail: roundcube
   |  `- IP list:
Status for the jail: sshd
   |  `- IP list:
Status for the jail: sogo
   |  `- IP list:
Status for the jail: postfix-sasl
   |  `- IP list:
Status for the jail: postfix-mail
   |  `- IP list:
Status for the jail: dovecot
   |  `- IP list:
Status for the jail: ssh
   |  `- IP list:
Status for the jail: sshd-ddos
   |  `- IP list:

지금은 정답이되어야합니다.
Basj

awk없이 :fail2ban-client status | grep "Jail list:" | sed "s/`- Jail list://" | sed "s/\s//g" | sed "s/,/\n/g" | xargs -L1 fail2ban-client status | less
Quamis

21

이전에 금지 된 모든 IP를 통해 볼 수 있습니다 /var/log/fail2ban.log

sudo zgrep 'Ban' /var/log/fail2ban.log*

그러나 일부 금지는 일시적이므로,이를 가장 잘 취소하는 방법을 잘 모르겠습니다 (내 fail2ban 로그가 비어있어 테스트하기가 더 어려워집니다!). awk명령 을 사용하여 큰 회계 체계를 시작할 수는 있지만 상당히 지루합니다.

어쨌든, 그건 당신이 금지 된 이유를 찾고 있다면 당신이 그것을하고 싶은 방법입니다.

다른 방법은 IP 테이블을보고 삭제중인 항목을 보는 것입니다. 다시 말하지만, 기본 경로가 재정의되었지만 0.0.0.0/0 소스로 규칙을 차단하고 실제 사용을 위해 충분히 깨끗하게 유지되는 것처럼 보이기 때문에 몇 가지 문제가 있습니다.

sudo iptables -L -n | awk '$1=="DROP" && $4!="0.0.0.0/0"'

이것은 왜 금지가 발생했는지 설명하지 않습니다.


fail2ban은 다른 응용 프로그램이 아닌 금지를 수행하는 기본 응용 프로그램입니까? 내 서버는 기본 우분투 서버이므로 다른 서버에는 아무것도 설치하지 않았습니다.
Patoshi パ ト シ

그런 경우에 그렇습니다.
Oli

1
주 내 현재 버전 쓰는 NOTICE [snap-iptables] Ban 45.32.216.148- 아니 ':'전후의 단어를 금지하지만, 공간을 후.
Alexis Wilke
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.