>

이것은 내 /etc/sysconfig/iptables 입니다 :

ssh를 위해 2 개의 포트가 80 개의 아파치와 22 개의 포트를 가지고있다.

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

포트 22 (SSH)의 경우 특정 IP 주소를 제외하고 아무도이 포트에 연결할 수 없도록하고 싶습니다.

예제 ip :

1.2.3.4

IP가 변경되어 더 이상 서버에 SSH로 연결할 수없는 경우에 대한 감독/관심 사항은 무시하십시오.

  • 답변 # 1

    올바른 방법으로 질문을 받으면 포트 22의 특정 IP 주소에서만 서버에 접근 할 수 있기를 위해 Iptables를 다음과 같이 업데이트 할 수 있습니다.

    iptables -A INPUT -p tcp -s YourIP --dport 22 -j ACCEPT
    
    

    이 경우 내부 네트워크에 대해 DNS를 열어야하는 경우 YourIP로만 ssh 포트를 여는 것입니다 :

    iptables -A INPUT -p udp -s YourIP --dport 53 -j ACCEPT
    iptables -A INPUT -p tcp -s YourIP --dport 53 -j ACCEPT
    
    

    IP를 추가하고 열면 나머지 IP의 출입문을 닫아야합니다

    iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP
    iptables -A INPUT -p udp -s 0.0.0.0/0 --dport 53 -j DROP
    iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 53 -j DROP
    
    

    (규칙 세트에서 올바른 위치에 규칙을 설정하십시오. iptables -A INPUT   INPUT 의 끝에 규칙을 추가합니다  현재와 ​​같습니다.)

    또는 joel이 말했듯이 대신 하나의 규칙을 추가 할 수 있습니다.

    iptables -A INPUT -p tcp ! -s <permittedIP> -j DROP
    
    

    또는 방화벽으로 기본 정책을 설정하여

    iptables -P INPUT DROP
    
    

    SO에 대한이 질문에 제시된 바와 같이 :

    iptables -A INPUT -p tcp --dport 22 -s YourIP -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j DROP
    
    

  • 답변 # 2

    SSH 키를 사용하는 것이 좋지만 설명하겠습니다.

    구현하려는 목적으로 IPtables를 사용할 필요는 없으며 여러 가지 방법이 있습니다. 이것은 IPtables 방식입니다.

    iptables -I INPUT -s [YOUR_HOME_IP] -p tcp -m tcp --dport [SSH_PORT] -j ACCEPT
    
    

    [YOUR_HOME_IP]  = 집 IP (아주 간단)

    [SSH_PORT]  = SSH를 실행하는 포트 (기본적으로 22)

    iptables -I INPUT -p tcp -m tcp --dport [SSH_PORT] -j REJECT
    
    

    이렇게하면 IP를 제외한 어느 누구도 SSH에 로그인 할 수 없습니다.

    다른 방법이 있는데, sshd_config 에 무언가를 추가하는 것입니다 .

    다음을 추가하십시오 :

    AllowUsers root@[YOUR_HOME_IP]
    PermitRootLogin without-password
    
    

    이렇게하면 root 로 SSH에 로그인 할 수 있습니다  비밀번호를 묻지 않고 IP에서 사용자.

    와 cronjob이 있음을 명심하십시오

    iptables -X
    iptables -F
    
    

    Smart를 사용하면 SSH를 사용하여 서버를 잠그지 않아도됩니다 (cronjob은 IPtables를 재설정하므로 다시 액세스 할 수 있습니다). 여전히 액세스 권한이 있으면 cronjob을 제거하고 IPtables를 다시 설정할 수 있습니다.

  • 답변 # 3

    다른 답변은 iptables -I 를 사용하고 있습니다  예를 들어 자주 사용하지 않는 경우가 많습니다.

    iptables는 일치하는 첫 번째 규칙을 실행하므로 규칙 순서가 매우 중요합니다. 와이즈 비즈  "삽입"명령이며 색인 매개 변수와 함께 사용하여 목록에서 지정된 규칙이 속하는 위치를 지정해야합니다. 와이즈 비즈  "append"명령으로, 규칙을 목록 끝에 추가합니다.

    -I 를 사용하는 일부 배포판 (아마도 모두)에서  색인 매개 변수가 없으면 규칙을 색인 1에 추가하여 첫 번째 규칙을 확인합니다. 이 시나리오에서 마지막으로 실행 한 명령이 -A 인 경우  그런 다음 iptables는 -I 가 있는지 여부에 관계없이 모든 트래픽을 삭제합니다.  나중에 체인에서 규칙.

    단일 IP의 SSH 만 허용하는 규칙을 설정하는 샘플은 다음과 같습니다.

    규칙없이 시작하기 :

    iptables -I INPUT -s tcp 0.0.0.0/0 -j DROP
    
    

    새로운 "1.2.3.4에서 SSH 허용"규칙 추가 :

    ACCEPT

    다른 모든 IP에서 SSH 차단 :

    #> iptables -nL 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

    이제 INPUT 체인은 다음과 같습니다 :

    #>iptables -A INPUT -p tcp -s 1.2.3.4 --dport 22 -j ACCEPT
    
    

    나중에 두 번째 IP를 허용해야하는 경우 #>iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP 를 사용할 수 있습니다  블랙리스트 규칙 앞에 배치 할 매개 변수입니다.

    Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 1.2.3.4 0.0.0.0/0 tcp dpt:22 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

    -I
    
    

    #>iptables -I INPUT 2 -p tcp -s 4.3.2.1 --dport 22 -j ACCEPT 를 사용한다는 알림  새 규칙을 규칙 번호 2로 추가하고 DROP 규칙을 번호 3으로 올렸습니다.

    Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 1.2.3.4 0.0.0.0/0 tcp dpt:22 ACCEPT tcp -- 4.3.2.1 0.0.0.0/0 tcp dpt:22 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

  • 이전 tmux와 함께 Byobu를 사용할 때 Vim에서 Ctrl + 화살표 키 사용시 문제
  • 다음 fedora - 터미널의 미러에서 Oracle Java 설치