Score:1

วิธีป้องกันการเข้าถึงระยะไกลใน iptables

ธง cn

ฉันตั้งค่า iptables ด้วย docker-compose แต่รายการที่อนุญาตเฉพาะที่อยู่ IP ที่ฉันต้องการดูเหมือนจะไม่ทำงานเนื่องจากเซิร์ฟเวอร์ยังคงพยายามเข้าถึงระยะไกล:

การเชื่อมต่อที่ตรงกัน pg_hba.conf บรรทัด 95: "host all all all md5"
2021-09-01 21:36:42.132 UTC [8821] FATAL: การตรวจสอบรหัสผ่านล้มเหลวสำหรับผู้ใช้ "postgres"
2021-09-01 21:36:42.132 UTC [8821] รายละเอียด: ไม่มีบทบาท "postgres"

ฉันจะแก้ไข iptables ให้ตั้งค่าได้อย่างถูกต้องได้อย่างไร ฉันทำอะไรผิดที่นี่?

-P อินพุตลดลง
-P ไปข้างหน้าลดลง
-P เอาต์พุตยอมรับ
-N นักเทียบท่า
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N นักเทียบท่า-ผู้ใช้
-A อินพุต -i lo -j ยอมรับ
-A อินพุต -i eth1 -j ยอมรับ
-A INPUT -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-อินพุต -p tcp -m tcp --dport 22 -j ยอมรับ
-อินพุต -p tcp -m tcp --dport 80 -j ยอมรับ
-อินพุต -p tcp -m tcp --dport 443 -j ยอมรับ
-A INPUT -s xxx.xxx.xx.xx/xx -p tcp -m tcp --dport 5432 -j ACCEPT (โดยที่ x ถูกลบที่อยู่ IP)
-อินพุต -s xxx.xxx.xx.xx/xx -p tcp -m tcp --dport 5432 -j ยอมรับ
-A INPUT -p icmp -m icmp --icmp-type 0 -j ยอมรับ
-A INPUT -p icmp -m icmp --icmp-type 3 -j ยอมรับ
-A INPUT -p icmp -m icmp --icmp-type 11 -j ยอมรับ
-A ไปข้างหน้า -j นักเทียบท่า-ผู้ใช้
-A ส่งต่อ -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A ไปข้างหน้า -o นักเทียบท่า 0 -j นักเทียบท่า
-A ไปข้างหน้า -i docker0 ! -o นักเทียบท่า 0 -j ยอมรับ
-A ไปข้างหน้า -i docker0 -o docker0 -j ยอมรับ
-A FORWARD -o br-1de8a78b46b8 -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A ไปข้างหน้า -o br-1de8a78b46b8 -j นักเทียบท่า
-ไปข้างหน้า -i br-1de8a78b46b8 ! -o br-1de8a78b46b8 -j ยอมรับ
-A ไปข้างหน้า -i br-1de8a78b46b8 -o br-1de8a78b46b8 -j ยอมรับ
-A ส่งต่อ -p tcp -m tcp --dport 5432 -m iprange --src-range 82.208.14.110-82.208.14.119 -j ยอมรับ
-A FORWARD -p tcp -m tcp --dport 5432 -j REJECT --reject-with icmp-port-unreachable
-นักเทียบท่า -d 172.18.0.2/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 6379 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.3/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 2368 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.4/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 5432 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.5/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 5900 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.5/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 4444 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.8/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 8000 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.9/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 443 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.9/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 80 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.6/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 9300 -j ยอมรับ
-นักเทียบท่า -d 172.18.0.6/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 9200 -j ยอมรับ
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i br-1de8a78b46b8 ! -o br-1de8a78b46b8 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j ผลตอบแทน
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o br-1de8a78b46b8 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j ผลตอบแทน
-A นักเทียบท่า-ผู้ใช้ -j ผลตอบแทน

แก้ไข:

นี่คือการกำหนดค่านักเทียบท่าของฉัน:

  โพสต์เกรส:
    ภาพ: "postgres:12.1"
    env_file:
      - '.env'
    พอร์ต:
      - '5432:5432' # ลบออก 127.0.0.1: - เพิ่มไฟร์วอลล์ใน iptables

    เริ่มต้นใหม่: "${DOCKER_RESTART_POLICY:-unless-stopped}"
    stop_grace_period: "${DOCKER_STOP_GRACE_PERIOD:-3s}"
    ปริมาณ:
      - postgres:/var/lib/postgresql/data
      - /opt/ghost_postgres:/var/lib/postgres
    เครือข่าย: 
      - เอสเน็ต

  เรดดิส:
    ภาพ: redis:5.0.6-alpine
    คำสั่ง: เซิร์ฟเวอร์ redis --requirepass "${REDIS_PASS}"
    เริ่มต้นใหม่: "${DOCKER_RESTART_POLICY:-unless-stopped}"
    stop_grace_period: "${DOCKER_STOP_GRACE_PERIOD:-3s}"
    พอร์ต:
      - '6379:6379'
    ปริมาณ:
      - redis:/var/lib/redis/data
    เครือข่าย: 
      - เอสเน็ต


  ร้อยแก้ว:
    สร้าง: 
      บริบท: "."
      หาเรื่อง:
        - "FLASK_ENV=${FLASK_ENV:-การผลิต}"
        - "NODE_ENV=${NODE_ENV:-การผลิต}"
    ขึ้นอยู่กับ:
      - "โพสเกรส"
      - "เรดดิส"
    env_file:
      - ".env"
    พอร์ต:
      - "${DOCKER_WEB_PORT:-127.0.0.1:8000}:8000"
    เริ่มต้นใหม่: "${DOCKER_RESTART_POLICY:-unless-stopped}"
    stop_grace_period: "${DOCKER_STOP_GRACE_PERIOD:-3s}"
    ปริมาณ:
      - "${DOCKER_WEB_VOLUME:-./public:/app/public}"
    เครือข่าย:
      - เอสเน็ต
      
  เว็บ: 
    ขึ้นอยู่กับ:
      - ฟ้อง
    รีสตาร์ท: เสมอ
    สร้าง:
      บริบท: ../nginx #added /deploy สำหรับการพัฒนา ลบสำหรับการผลิต
      นักเทียบท่าไฟล์: Dockerfile
    ปริมาณ:
      ...
    พอร์ต:
      - 80:80
      - 443:443
    เครือข่าย:
      - "เอสเน็ต"


  ผักชีฝรั่ง:
    สร้าง: 
      บริบท: "."
      หาเรื่อง: 
        - "FLASK_ENV=${FLASK_ENV:-การผลิต}"
        - "NODE_ENV=${NODE_ENV:-การผลิต}"
    คำสั่ง: คนทำงานขึ้นฉ่าย -B -l ข้อมูล -A 
    env_file:
      - '.env'
    ขึ้นอยู่กับ:
      - "โพสเกรส"
      - "เรดดิส"
    env_file:
      - ".env"
    เริ่มต้นใหม่: "${DOCKER_RESTART_POLICY:-unless-stopped}"
    stop_grace_period: "${DOCKER_STOP_GRACE_PERIOD:-3s}"
    ปริมาณ:
      - "${DOCKER_WEB_VOLUME:-./public:/app/public}"
    เครือข่าย:
      - "เอสเน็ต"
Score:1
ธง cz

นักเทียบท่าเปิดพอร์ตในไฟร์วอลล์เอง เนื่องจาก docker-compose.yml ของคุณร้องขออย่างชัดเจนให้เปิดเผยพอร์ต 5432 ต่อโลก

    พอร์ต:
      - '5432:5432' # ลบออก 127.0.0.1: - เพิ่มไฟร์วอลล์ใน iptables

ไม่ชัดเจนว่าเหตุใดจึงอยู่ที่นี่ไม่ว่าจะในรูปแบบใด โปรดจำไว้ว่าบริการในเดียวกัน เครือข่าย เข้าถึงกันได้ตลอดโดยไม่จำเป็น พอร์ต ระบุไว้ ระบุเท่านั้น พอร์ต เพื่อให้สามารถเข้าถึงได้จากภายนอก

ป.ล.: คุณได้เปิดคอนเทนเนอร์ redis ของคุณให้โลกเห็น ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการเช่นกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา