2016-08-30 11 views
0

며칠 전 SSH를 통해 내 우분투 호스트에 CSF를 설치했습니다. 모든 것이 잘 작동하는 것 같았고 몇 시간 동안 그걸 가지고 놀 수있는 기회가있었습니다. 어떻게 내가 포트를 닫고 열 었는지 알아 냈어. 모든 것이 잘 작동하는 것처럼 보였습니다.TCP_IN에서 포트를 제거해도 CSF에서 외부 트래픽을 차단하지 않습니다.

오늘 저는 3306 mysql 포트에 대한 제한을 만들고 특정 IP 주소에만 액세스를 허용하려고했습니다. csf.conf의 TCP_IN 및 TCP_OUT 행에서 제거되었는지 확인하고 csf.allow에 삽입했는지 확인하여이 작업을 수행했습니다.

nmap을 사용하여 포트를 검색 할 때 포트가 열려있는 것처럼 보입니다. 추가 디버깅을 한 후 현재 csf.conf 및 csf.allow 파일에서 변경 한 사항은 포트 가용성에 아무런 영향을 미치지 않는다는 것을 알았습니다.

나는 ufw 방화벽, iptables 및 csf 사이에 몇 가지 문제가있을 수 있으므로 ufw 방화벽을 중지하고 모든 iptables 규칙을 삭제하고 기본값으로 설정한다는 것을 알아 냈습니다.

:~$ sudo iptables -L 

Chain INPUT (policy ACCEPT) 
target  prot opt source    destination 

Chain FORWARD (policy ACCEPT) 
target  prot opt source    destination 

Chain OUTPUT (policy ACCEPT) 
target  prot opt source    destination 

:~$ sudo service ufw status 
ufw stop/waiting 

그리고 지금 난 그냥 플러시는 중지 및 CSF 방화벽 시작 : 그것은 sudo는의 iptables -L 것 같아 다시 시작 후 뇌척수액 -f, 뇌척수액 -x, CSF -e

을 출력 거대한을 것이다 어디에서나 소스를 어디서나 목적지로 갖는 규칙 목록. 나는 이전의 경험이 없으므로 민감한 정보를 추출 할 수 있는지 잘 모르겠지만 그것에 대해 읽은 후에는 내 상황에 맞지 않다고 생각했습니다.

한편 csf -L에는 다른 출력이 있습니다. 대부분의 출발지 및 목적지 IP는 0.0.0.0/0입니다. csf -L 출력에서 ​​추출한 것은 INVALID Chain이 있다는 것입니다.

Chain INVALID (2 references) 
num pkts bytes target  prot opt in  out  source      destination 
1  0  0 INVDROP all -- *  *  0.0.0.0/0    0.0.0.0/0   ctstate INVALID 
2  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x3F/0x00 
3  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x3F/0x3F 
4  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x03/0x03 
5  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x06/0x06 
6  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x05/0x05 
7  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x11/0x01 
8  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x18/0x08 
9  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:0x30/0x20 
10  0  0 INVDROP tcp -- *  *  0.0.0.0/0   0.0.0.0/0   tcp flags:!0x17/0x02 ctstate NEW 

Chain ALLOWIN (1 references) 
num pkts bytes target  prot opt in  out  source    destination 
1  210 10680 ACCEPT  all -- !lo *  [mysship]  0.0.0.0/0 

Chain ALLOWOUT (1 references) 
num pkts bytes target  prot opt in  out  source    destination 
1  295 41404 ACCEPT  all -- *  !lo  0.0.0.0/0    [mysship] 

MYSSHIP 내가이 csf.allow에 넣어 것 또한 SSH 포트가 csf.conf TCP_IN, TCP_OUT 목록에 있습니다 SSH를 사용하여 연결하는로부터 IP입니다 . 당신이 원하는 @

Chain INPUT (policy DROP) 
target  prot opt source    destination 
ACCEPT  all -- anywhere    anywhere 
ACCEPT  all -- anywhere    anywhere   state RELATED,ESTABLISHED 
ACCEPT  tcp -- anywhere    anywhere   tcp dpt:ssh 

Chain FORWARD (policy DROP) 
target  prot opt source    destination 

Chain OUTPUT (policy ACCEPT) 
target  prot opt source    destination 

당신은 (소스) -s와 IP를 추가하거나 -d :

답변

0

EMM은 나를 위해 내가 봐, 내가 원하는 무엇이든 허용 한 후 드롭 할 수있는 정책을 변경 (destinaiton)!

+0

iptables 명령을 사용하여 수락 규칙을 변경하는 것에 대해 이야기하고 있습니까? 나는 CSF 방화벽을 사용하고 있었다. –

0

혼란을 일으키는 것이 무엇인지 모르겠지만 iptables와 csf에서 이전 구성을 모두 플러시했습니다. 모든 configs를 하나 하나 쓴 것보다 csf를 다시 설치하고 nmap을 사용하여 모든 단계를 테스트했습니다. 또한 TESTING_INTERVAL을 15로 수정했습니다. TESTING = 1로 유지하는 동안 방화벽 설정이 너무 빨리 지워졌다고 생각합니다.