วันเสาร์ที่ 24 กรกฎาคม พ.ศ. 2553

MPLS L2VPN Network Security on Juniper M-Series


การจัดการ VPN โดยใช้ Routing Instance
• สามารถสร้าง Routing Instance หรือเรียกว่าเป็น VPN แต่ละ Group ขึ้นมาได้อย่างมากมาย โดยถ้ามองในระดับของผู้ให้บริการนั้น หมายถึง การแยกลูกค้าแต่ละองค์กรออกจากกัน ลูกค้าแต่ละองค์กรจะเป็นคนละ VPN กัน โดยทำงานอยู่บนอุปกรณ์ตัวเดียวกัน
• การจัดการหรือวางแผนเรื่อง Route Distinguisher & Target No. ซึ่งประกอบด้วย AS No. ของผู้ให้บริการรายนั้น และระบุด้วยหมายเลขขององค์กรแต่ละราย ซึ่งสามารถกำหนดหมายเลขได้ถึง 7 หลัก หมายถึง จะช่วยในการแยกการให้บริการได้ด้วยความปลอดภัย ถ้าหมายเลข VPN Address ไม่ตรงกันในแต่ละ M-Series จะไม่สามารถสื่อสารกันได้
• การกำหนด Site ID. และ Remote Site for L2VPN นั่นหมายถึง การใช้งานแต่ละ Link จะไม่สามารถใช้งานได้ถ้าไม่มีการระบุ Site ID. ในแต่ละ Logical Interface และระบุ Remote Site ID. ถึงแม้จะอยู่ในอุปกรณ์ตัวเดียวกันก็ตาม ส่วนฝั่งปลายทางก็ต้องทำเช่นนี้เหมือนกัน ซึ่งจะเป็นการยืนยันอีกทีว่า จะต้องการ Setup จากที่ใดไปที่ใด
Sample Configuration
[edit routing-instances routing-instance-name]
description text;
instance-type l2vpn;
interface interface-name;
route-distinguisher (as-number:id | vpn-address:id);
vrf-target target:as-number:vpn-address;
protocols {
l2vpn {
encapsulation-type type
traceoptions {
file filename ;
flag flag ;
}
site site-name {
site-identifier identifier;
interface interface-name {
remote-site-id remote-site-id;
}
}
}
}


การจัดการเรื่อง Firewall Filter on Interface
• สามารถสร้างเงื่อนไขจาก Policies Firewall บนตัวอุปกรณ์ M-Series ได้ โดยสามารถสร้างชื่อ Filter ที่ต้องการได้ โดยการกำหนด Term แต่ละ Term ภายใน Term ประกอบด้วยเงื่อนไขต่างๆ และสุดท้ายต้องการให้ Action อะไร และ Match ใน Interface ด้วยชื่อของ firewall filter ซึ่งจะช่วยให้ป้องกันการเข้าถึงระบบ ป้องกันในเรื่อง Security ได้หลายอย่างมาก โดยจะใช้งานได้ดีขึ้นอยู่กับคนที่เขียน Parameters ให้ทำงาน
Sample Configuration
[edit]
aviva@router1# show
firewall {
filter incoming-to-me {
term restrict-telnet-ssh {
from {
protocol tcp;
destination-port [ telnet ssh ];
source-address {
10.0.0.0/8;
}
}
then accept;
}
}
}
}


การใช้ Firewall Filter Count Traffic on an Interface
• สามารถตรวจสอบจำนวนของ Packet ว่าเข้ามา Match Policy ของ Firewall Rule นั้นๆ หรือไม่ ซึ่งจะช่วยวิเคราะห์ปัญหาหรือตรวจสอบนโยบายที่สร้างขึ้นมาว่าสามารถใช้งานได้หรือไม่
Sample Configuration
[edit firewall filter incoming-to-me]
aviva@RouterF# set term final-accept then count incoming-accepted
aviva@RouterF# set term final-accept then accept
[edit firewall filter incoming-to-me]
aviva@RouterF# set term reject-addresses then count bad-addresses
aviva@RouterF# set term final-accept then discard
aviva@RouterF> show firewall filter incoming-to-me
Filter: incoming-to-me
Counters:
Name Bytes Packets
incoming-accepted 246 4

การตรวจสอบ Logging Traffic on an Interface
• จากการตรวจสอบจำนวนของ Packet ที่ผ่านมา จะสามารถตรวจสอบได้ว่าแต่ละ Packet นั้นที่ Incoming เข้ามามีรายละเอียดอย่างไรบ้าง โดยจะสามารถตรวจสอบ Source & Destination Address, Logical Interface, Protocol, Time and Action ได้
Sample Configuration
[edit firewall filter incoming-to-me]
aviva@RouterF# set term final-accept then log
aviva@RouterF# set term final-accept then accept
aviva@RouterF> show firewall log
Log :
Time Filter Action Interface Protocol Src Addr Dest Addr
04:59:13 pfe A t1-0/0/3.0 TCP 10.0.31.1 10.0.31.2
04:59:11 pfe A t1-0/0/3.0 TCP 10.0.31.1 10.0.31.2
04:58:43 pfe A t1-0/0/3.0 TCP 10.0.31.1 10.0.31.2
04:58:41 pfe A t1-0/0/3.0 TCP 10.0.31.1 10.0.31.2

การ Limit Traffic on Interface
• จะช่วยให้การบริหารจัดการ Bandwidth ได้อย่างมีคุณภาพ ซึ่งเป็นส่วนหนึ่งของ Policies

Sample Configuration

[edit firewall]
aviva@RouterF# set policer limit-icmp if-exceeding bandwidth-limit 1m
aviva@RouterF# set policer limit-icmp if-exceeding burst-size-limit 50k
aviva@RouterF# set policer limit-icmp then discard

การป้องกัน Routing Engine เพื่อให้มั่นใจว่า Traffic ที่เข้ามานั้นเป็น Trusted Network เท่านั้น

• การสร้าง firewall filter สำหรับป้องกัน routing engine โดยให้อนุญาตเฉพาะ Routing protocol traffic แบบ BGP Peer, OSPF Neighbors โดย Source Addressing ที่กำหนดเท่านั้น

[edit firewall filter protect-RE]
aviva@RouterF# edit term bgp-peers
[edit firewall filter protect-RE term bgp-peers]
aviva@RouterF# set from source-address 10.0.8.0/24
aviva@RouterF# set from source-address 10.0.13.0/24
aviva@RouterF# set from destination-port bgp
aviva@RouterF# set then accept
aviva@RouterF# up
[edit firewall filter protect-RE]
aviva@RouterF# edit term ospf-neighbors
[edit firewall filter protect-RE term ospf-neighbors]
aviva@RouterF# set from source-address 10.0.8.0/24
aviva@RouterF# set from source-address 10.0.13.0/24
aviva@RouterF# set from protocol ospf
aviva@RouterF# set then accept

• การอนุญาต Traffic ประเภท TCP ตาม Source Address ที่กำหนด
[edit
firewall filter protect-RE ]
aviva@RouterF# edit term tcp-traffic
[edit firewall filter protect-RE term tcp-traffic ]
aviva@RouterF# set from source-address 10.0.0.0/8
aviva@RouterF# set from protocol tcp
aviva@RouterF# set then accept

• การอนุญาต DNS Traffic
[edit firewall filter protect-RE ]
aviva@RouterF# edit term dns-servers
[edit firewall filter protect-RE term dns-servers ]
aviva@RouterF# set from source-address 10.0.0.0/8
aviva@RouterF# set from protocol udp
aviva@RouterF# set from port domain
aviva@RouterF# set then accept

• การอนุญาตในเรื่องการ Authentication for User & Accounting Management และการจัดการในช่องทางอื่นๆ
[edit firewall filter protect-RE]
aviva@RouterF# edit term radius
[edit firewall filter protect-RE term radius ]
aviva@RouterF# set from source-address 10.1.0.1/32
aviva@RouterF# set from source-address 10.3.0.1/32
aviva@RouterF# set from source-port radius
aviva@RouterF# set then accept
[edit firewall filter protect-RE term radius ]
aviva@RouterF# up
[edit firewall filter protect-RE ]
aviva@RouterF# edit term ssh-telnet
[edit firewall filter protect-RE term ssh-telnet ]
aviva@RouterF# set from source-address 10.0.8.0/24
aviva@RouterF# set from source-address 10.0.13.0/24
aviva@routerF# set from destination-port [ ssh telnet ]
aviva@RouterF# set then accept

• การอนุญาต Traffic SNMP สำหรับการใช้งาน Network Management System
[edit firewall filter protect-RE ]
aviva@RouterF# edit term xnm-from-nms
[edit firewall filter protect-RE term xnm-from-nms ]
aviva@RouterF# set from source-address 10.0.0.1/32
aviva@RouterF# set from source-address 10.0.5.1/32
aviva@RouterF# set from protocol tcp
aviva@RouterF# set then accept
aviva@RouterF# up
[edit firewall filter protect-RE ]
aviva@RouterF# edit term allow-snmp-from-nms
[edit firewall filter protect-RE term allow-snmp-from-nms ]
aviva@RouterF# set from source-address 10.0.0.1/32
aviva@RouterF# set from source-address 10.0.5.1/32
aviva@RouterF# set from protocol udp
aviva@RouterF# set from destination-port snmp
aviva@RouterF# set then accept

• การอนุญาต Traffic NTP Server & ICMP
[edit
firewall filter protect-RE ]
aviva@RouterF# edit term allow-ntp
[edit firewall filter protect-RE term allow-ntp ]
aviva@RouterF# set from source-address 10.10.0.1/32
aviva@RouterF# set from source-address 10.10.5.1/32
aviva@RouterF# set from port ntp
aviva@RouterF# set then accept
aviva@RouterF# up
[edit firewall filter protect-RE ]
aviva@RouterF# edit term allow-icmp
[edit firewall filter protect-RE term allow-icmp ]
aviva@RouterF# set from protocol icmp
aviva@RouterF# set from icmp-type [ echo-request echo-reply
unreachable time-exceeded
source-quench ]
aviva@RouterF# set then accept

• การสร้างเงื่อนไขสุดท้าย ไม่อนุญาตถ้าไม่ตรงกับเงื่อนไขข้างบน โดยจะต้องทำการเก็บ Counter, Log, Syslog สุดท้ายให้ packet ถูก Reject ไป
[edit firewall filter protect-RE ]
aviva@RouterF# edit term allow-nothing-else
[edit firewall filter protect-RE term allow-nothing-else ]
aviva@RouterF# set then count reject-counter
aviva@RouterF# set then log
aviva@RouterF# set then syslog
aviva@RouterF# set then reject

• การสร้างเงื่อนไขในการตรวจสอบเรื่องการ Attack โดยใช้ Counter ซึ่งจะช่วยให้ Router ทำงานได้อย่างเต็มประสิทธิภาพมากยิ่งขึ้น
[edit firewall filter protect-RE2 ]
aviva@RouterF# set term tcp then count tcp-counter
[edit interfaces]
aviva@RouterF# set lo0 unit 0 family inet filter input protect-RE2
[edit firewall filter tcp-flooding ]
aviva@RouterF# set term syn from protocol tcp
aviva@RouterF# set term syn from tcp-flags syn
aviva@RouterF# set term syn then count packets-syn
aviva@RouterF# set term syn then log
aviva@RouterF# set term syn then accept
aviva@RouterF# set term
rst from protocol tcp
aviva@RouterF# set term rst from tcp-flags rst
aviva@RouterF# set term rst then count packets-rst
aviva@RouterF# set term rst then log
aviva@RouterF# set term rst then accept
aviva@RouterF# set term fin from protocol tcp
aviva@RouterF# set term fin from tcp-flags fin
aviva@RouterF# set term fin then count packets-fin
aviva@RouterF# set term fin then log
aviva@RouterF# set term fin then accept
aviva@RouterF# set term tcp then count packets-tcp
aviva@RouterF# set term tcp then accept

• รองรับการทำงานแบบ SNMPv3 และ SNMPv3 Traps ซึ่งสามารถ Generate traps เกี่ยวกับ Hardware chassis หรือ Configuration event และส่ง trap ไปยัง Network Management System ได้อย่างปลอดภัยสูงสุด
[edit snmp v3]
aviva@router1# set notify chassis-notification-list type trap
aviva@router1# set notify chassis-notification-list tag chassis-trap-receivers
[edit snmp v3]
aviva@router1# set notify-filter chassis-
traps oid jnxChassisTraps include
aviva@router1# set notify-filter chassis-traps oid jnxChassisOKTraps include
[edit snmp v3]
aviva@router1# edit target-address nms1
[edit snmp v3 target-address nms1 ]
aviva@router1# set address 10.0.10.1
aviva@router1# set tag-list chassis-trap-receivers
aviva@router1# set target-parameters nms1-parameters
[edit snmp v3]
aviva@router1# edit target-parameters nms1-parameters
[edit snmp v3 target-parameters nms1-parameters ]
aviva@router1# set parameters message-processing-model v3
aviva@router1# set parameters security-model usm
aviva@router1# set parameters security-level privacy
aviva@router1# set parameters security-name nms1
aviva@router1# set notify-filter chassis-traps
edit snmp v3]
aviva@router1# set notify config-notification-list type trap
aviva@router1# set notify config-notification-list tag config-trap-receivers
[edit snmp v3]
aviva@router1# set notify-filter config-traps oid jnxCmNotifications include
[edit snmp v3]
aviva@router1# set target-address nms2 address 192.168.15.27
aviva@router1# set target-address nms2 tag-list config-trap-receivers
aviva@router1# set target-address nms2 target-parameters nms2-parameters
[edit snmp v3]
aviva@router1# set target-parameters nms2-parameters notify-filter config-traps
aviva@router1# set target-parameters nms2-parameters parameters
message-processing-
model v3
aviva@router1# set target-parameters nms2-parameters parameters security-model usm
aviva@router1# set target-parameters nms2-parameters parameters security-level
privacy
aviva@router1# set target-parameters nms2-parameters parameters security-name nms2


การป้องกันเรื่อง Security on M-Series (P or PE)

• การป้องกัน Root Authen โดยการเปลี่ยน Password Root ใหม่
system {
host-name router1
;
domain-name mynetwork.com;
backup-router 192.168.15.2;
root-authentication {
encrypted-password "$1$ZUlES4dp$OUwWo1g7cLoV/aMWpHUnC/"; ## SECRET-DATA;
}
name-server {
192.168.15.3;
}

• การ Control Root Authen ด้วยการ Load Key on Server
[edit]
root@router1# set system root-authentication ssh $1991poppI
[edit]
aviva@router1# set system root-authentication load-key-file server1:/homes/aviva
/.ssh/id_dsa.pub
.file.19692 | 0 KB | 0.3 kB/s | ETA: 00:00:00 | 100%
aviva@router1# show
system {
root-authentication {

ssh-rsa "1024 35
9727638204084251055468226757249864241630322207404962528390382038690141584534964170019
6106083587229615634757849182736033612764418742659468932077391083448101268312595772262
5461667999278316123500438660915866283822489746732605661192181489539813965561563786211
94032768780653816960202749164163735913269396344008443
root@mynetwork.com"; # SECRET-
DATA
}
}
[edit system]
aviva@router1# set services ssh root-login deny

• การอนุญาตการ Access ไปยังอุปกรณ์ด้วยความปลอดภัย เช่น การใช้ SSH
• SSH to provide secure encrypted sessions to the router
aviva@router1# set system services ssh
aviva-server1% 122: ssh router1
The authenticity of host 'router1-mycompany.com (192.168.71.246)' can't be
established.
DSA key fingerprint is 2c:a9:35:c5:2a:db:12:5b:b6:6e:0b:17:ae:ec:d4:55.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'router1-mycompany.com' (DSA) to the list of known hosts.
aviva@router1-mycompany.com's password:
--- JUNOS 7.4R1.7 built 2005-10-24 08:10:28 UTC
aviva@router1>

• Authentication Method (Radius/Tacacs/Local Password)
[edit]
aviva@router1> set system authentication-order [ radius password ]
[edit]
aviva@router1# set system authentication-order [ tacacs password ]

• การสร้าง Accounting on Router ซึ่งสามารถแบ่งแยก Level หรือกำหนดสิทธิ์ต่างๆ ในการ Access ได้
[edit system login]
aviva@router1# set user sage class operator
aviva@router1# set user sage full-name "sage david"
aviva@router1# set user sage uid 1991
aviva@router1# set user sage authentication plain-text-password
New password:
Retype new password:
เช่น
login {
user jarupat {
uid 2002;
class super-user;
authentication {
encrypted-password "$1$FF3Me31z$aDkgiqWl9EYD7xj3/HMCl."; ## SECRET-DATA
}
}

การ Changing the Plain-Text Password Encryption Method
• ถ้าปรกติการใช้ plain-text passwords จะเป็นการเข้ารหัสแบบ SHA1 และสามารถเปลี่ยนมาเป็น DES หรือ MD5 ได้
[edit]
aviva@router1# set system login password format des
[edit]
aviva@router1# set system login password format md5

• สามารถสร้าง Group ในการ Login ได้
[edit system login]
aviva@router1#
set user noc class operator
aviva@router1# set user noc full-name "NOC team"
[edit system]
aviva@router1# set authentication-order [ tacacs password ]
user = mike {
service = junos-exec {
local-user-name = noc
}
}
user = sage {
service = junos-exec {
local-user-name = noc
}
}

• รองรับการ Setup เพื่อ Authentication to RADIUS Server
[edit system]
aviva@router1# set radius-server 192.168.63.10 secret $1991poppI
aviva@router1# show
radius-server {
192.168.63.10 secret "$9$90m6AO1EcyKWLhcYgaZji"; ## SECRET-DATA
}
[edit system]
aviva@router1# set radius-server 192.168.63.10 retry 1
aviva@router1# set radius-server 192.168.63.10 timeout 10
[edit system]
aviva@router1# set radius-server 192.168.0.23 secret 2lip123
aviva@router1# set radius-server 10.0.16.1 secret 883roZe
[edit system]
aviva@router1# show
radius-server {
192.168.63.10 secret "$9$vs0W7-oJGiqm24fzF3AtKvWL7V"; ## SECRET-DATA
10.0.16.1 secret "$9$4DojHQFnCp0TzIcrKXxbs2"; ## SECRET-DATA
192.168.0.23 secret "$9$7edYgq.5QF/iktuB1hcwY2"; ## SECRET-DATA
}

• รองรับการ Setting Up TACACS+ User Authentication
[edit system]
aviva@router1# set tacacs-server 192.168.62.10 secret $1991poppI
aviva@router1# show
tacacs-server {
192.168.62.10 secret "$9$90m6AO1EcyKWLhcYgaZji"; ## SECRET-DATA
}

• การจัดการเรื่อง SSH & Telnet Access โดยการสร้าง Firewall filter เพื่อกำหนดเงื่อนไขในการ Access Network
[edit firewall filter protect-RE ]
aviva@RouterF# set term ssh-telnet from source-address 10.0.8.0/24
aviva@routerF# set term ssh-telnet from destination-port [ ssh telnet ]
aviva@RouterF# set then accept
[edit
firewall filter protect-RE ]
aviva@RouterF# set term allow-nothing-else then count reject-counter
aviva@RouterF# set term allow-nothing-else then log
aviva@RouterF# set term allow-nothing-else then syslog
aviva@RouterF# set term allow-nothing-else then reject
[edit interfaces]
aviva@RouterF# set lo0 unit 0 family inet filter input protect-RE

• การจัดการ MAC Address Filtering on IP Interface
[edit interfaces fe-0/0/0 fastether-options]
lab@r3# set source-filtering

[edit interfaces fe-0/0/0 fastether-options]
lab@r3# set source-address-filter 00:a0:c9:6f:7b:3e

[edit interfaces fe-0/0/0 fastether-options]
lab@r3# up
[edit interfaces fe-0/0/0]
lab@r3# show
fastether-options {
source-filtering;
source-address-filter {
00:a0:c9:6f:7b:3e;
}
}

1 ความคิดเห็น: