RH253读书笔记(3)-Lab 3 Securing Networking
Lab 3 Securing Networking
Goal: To build skills with the Netfilter packet filter
Sequence 1: Applying simple packet filtering to a host
Scenario: A host (stationX) requires protection by packet filtering. This host has only one network interface, so no packet forwarding is involved.
Deliverable: Packet filter rules successfully limit connections to stationX for SSH services only.
System Setup: Install the iptables-ipv6 package. See the Appendix for more information on installing packages.
Instructions:
1. Work with a lab partner, and determine who of you has the role of stationX (192.168.0.X), and who has stationY (192.168.0.Y).
Install the iptables-ipv6package. See the Appendix for more information on installing packages.
a. [root@stationX]# yum -y install iptables-ipv6
[root@stationY]# yum -y install iptables-ipv6
2. Ensure localhost IPv6 connectivity through tcp_wrappers.
a. On both systems, add to /etc/hosts.allow:
ALL: [::1]
3. Ensure the SSH service is running on stationX.
a. [root@stationX]# service sshd status
sshd (pid 5563 5561 2536) is running...
4. Confirm exposed ports on stationX from stationY:
[root@stationY]# nmap stationX
5. Confirm stationX can establish SSH connections to stationY. Note: you may have a user account on each system, with the username of student. If so, then the password is student. Create an unprivileged user account if needed: it is strongly discouraged to login to the system as root, even using SSH.
a. [root@stationY]# ssh student@stationX
student@stationX's password:
[student@stationX]$ exit
6. On stationX, apply a new default policy of DROP on the INPUT chain of the filter table.
a. [root@stationX]# iptables -P INPUT DROP
7. From stationX, attempt an ssh connection to localhost using IPv4 (127.0.0.1). Set the , so that it only waits for ten seconds. This should eventually fail.
a. [root@stationX]# ssh -o ConnectTimeout=10 127.0.0.1
8. Now try the IPv6 address for localhost on stationX (::1). This should eventually work. Be patient, as there are other services timing out as we will discover later.
a. [root@stationX]# ssh -o ConnectTimeout=10 ::1
9. From stationY verify that you can ping the link-local IPv6 address of stationX.
Get the IPv6 address from stationX by looking at the output of the ip command (run on stationX, of course). It should provide something like the following, with the IPv6 address in bold. Note: the IPv6 address uses the interface MAC address for uniqueness, where:
fe80::2(2nd column of MAC):(3rd column)ff:fe(4th column):(5th column)(6th column)
# ip addr sh dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc
pfifo_fast qlen 1000
link/ether 00:0d:60:8e:25:f3 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.X/24 brd 192.168.0.255 scope global eth0
inet6
fe80::20d:60ff:fe8e:25f3/64 scope link
valid_lft forever preferred_lft forever
Once you have the IPv6 address, from stationY ping stationX using ping6:
[root@stationY]# ping6 -I eth0 -c 3 fe80::20d:60ff:fe8e:25f4
Replacing fe80::20d:60ff:fe8e:25f4 with the IPv6 address of stationX.
10. Allow all incoming local connections (lo) on stationX.
a. [root@stationX]# iptables -A INPUT -i lo -j ACCEPT
11. On stationX, allow connections to the SSH service from stationY and from server1. Remember that DNS names should not be used.
a. [root@stationX]# iptables -A INPUT -s 192.168.0.Y -p tcp --dport ssh -j ACCEPT
b. [root@stationX]# iptables -A INPUT -s 192.168.0.254 -p tcp --dport ssh -j ACCEPT
12. Now view your iptables rules. This may take a minute to complete. Can you figure out what the problem might be? You may need to review the Fault Analysis slides for hints on commands that might be useful here. Once you have found the problem, fix it.
a. [root@stationX]# iptables -L
b. strace may prove useful here, as it allows us to view the files and commands that iptables may be using when it hangs.
[root@stationX]# strace iptables -L
You should find lines that include files such as /lib/libresolv.so.2 and /lib/libnss_dns.so.2 as well as a connection to the IP address of your DNS server. This appears to be a DNS problem, so we need to add entries for the DNS server:
[root@stationX]# iptables -A INPUT -s 192.168.0.254 -p udp --sport 53 -j ACCEPT
[root@stationX]# iptables -A INPUT -s 192.168.0.254 -p tcp --sport 53 -j ACCEPT
13. Allow ESTABLISHED and RELATED packets on stationX.
a. [root@stationX]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
14. From stationY, confirm that only the SSH port is exposed on stationX:
[root@stationY]# nmap -v -P0 stationX
This may take some time to complete, but give it a couple of minutes. Would merely an attempt to connect to stationX, from stationY using ssh prove that our Netfilter configuration is effective? Why? Why not?
a. We could prove that our configuration is effective in allowing ssh, but it is impossible to determine that it was actually blocking other ports from that one test.
15. Confirm that stationX can establish connections to stationY, and that stationX can still resolve host names.
a. [root@stationX]# ssh student@stationY
student@stationY's password:
[student@stationY]$ exit
b. [root@stationX]# dig stationY.example.com
16. On stationX, save your configuration and view the iptables configuration file just created.
a. [root@stationX]# service iptables save; restorecon -R /etc/sysconfig
b. [root@stationX]# cat /etc/sysconfig/iptables
c. [root@stationX]# iptables -vL --line-numbers
17. Go back through the lab and switch stations. stationX will become stationY, and stationY will become stationX. By the end of the lab, you should both have the same rules.
18. After both you and your lab partner have completed this sequence, configure a default installed set of Netfilter rules for IPv4, and disable the IPv6 Netfilter rules.
a. [root@stationX]# lokkit -q --enabled
b. [root@stationX]# service iptables restart
c. [root@stationX]# service ip6tables stop
d. [root@stationX]# chkconfig ip6tables off
RH253读书笔记(3)-Lab 3 Securing Networking的更多相关文章
- RH253读书笔记(8)-Lab 8 Securing Data
Lab 8 Securing Data Goal: Gain familiarity with encryption utilities Sequence 1: Using SSH keys with ...
- RH253读书笔记(1)-Lab 1 System Monitoring
Lab 1 System Monitoring Goal: To build skills to better assess system resources, performance and sec ...
- RH253读书笔记(6)-Lab 6 Implementing Web(HTTP) Services
Lab 6 Implementing Web(HTTP) Services Goal: To implement a Web(HTTP) server with a virtual host and ...
- RH253读书笔记(2)-Lab 2 System Resource Access Controls
Lab 2 System Resource Access Controls Goal: To become familiar with system resource access controls. ...
- RH253读书笔记(4)-Lab 4 The Domain Name System
Lab 4 The Domain Name System Goal: To install and configure a DNS server System Setup: Throughout th ...
- RH253读书笔记(5)-Lab 5 Network File Sharing Services
Lab 5 Network File Sharing Services Goal: Share file or printer resources with FTP, NFS and Samba Se ...
- RH253读书笔记(7)-Lab 7 Electronic Mail
Lab 7 Electronic Mail Goal: To build common skills with MTA configuration Estimated Duration: 90 min ...
- RH253读书笔记(9)-Lab 9 Account Management Methods
Lab 9 Account Management Methods Goal: To build skills with PAM configuration Sequence 1: Track Fail ...
- RH033读书笔记(16)-Lab 17 Installation and Administration Tools
Lab 17 Installation and Administration Tools Goal: Become familiar with system configuration tools a ...
随机推荐
- 开源 免费 java CMS - FreeCMS1.9 会员组管理
项目地址:http://www.freeteam.cn/ 会员组管理 会员组分为两种,一级是经验会员组,一种是特殊会员组. 经验会员组的会员会依据经验自己主动变更,特殊会员组不会自己主动变更,须要管理 ...
- 求1e11以内的素数
有两种做法,一种是打表,另一种是直接求. 打表 将1e11每隔len(len=2000w)个数字统计一下该区间内素数的个数,比如cnt[1] 表示[1,len]以内有多少个素数,cnt[2]表示[le ...
- U7Linux文件与目录管理
1. .:代表当前层目录. ..:代表上一层目录. -:代表前一个工作目录. ~:代表目前用户所在的主文件夹. ~account:代表account这个用户的主文件夹. 2.pwd:显示当前目录. p ...
- hdu4857 逃生 bestcoder round1 A
题目要求要求在满足约束条件的情况下,使小的序号尽力靠前. 坑点就在这里.小的序号尽量靠前并非代表字典序,它要求多种情况时,先使1靠前(可能1仅仅能在第2或第3位 那么就要使它在第2位),其次2,3. ...
- 数据库采用多表连接查询,对应javaBean文件连接方式
在一个Web项目中,只要是存在数据库就一定会有JavaBean文件.一个JavaBean文件会对应一张数据库中的表,供dao中的代码来调用用来存取数据.我们都知道,在数据库设计的时候,如果A.B两张表 ...
- as 的妙用
个人理解:as跟is is 相当于判断里的“==” 是与否 if(e.OriginalSource is Button) as 一般用来转换另一种object e.OriginalSource as ...
- POJ 2299 Ultra-QuickSort (求序列的逆序对数)
题意:废话了一大堆就是要你去求一个序列冒泡排序所需的交换的次数. 思路:实际上是要你去求一个序列的逆序队数 看案例: 9 1 0 5 4 9后面比它小的的数有4个 1后面有1个 0后面没有 5后面1个 ...
- [jQuery]地图浏览:如何实现图片的放大缩小和点击之后的位置居中
HTML代码: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis. ...
- html网页特殊符号代码
HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字.下面就是以字母或数字表示的特殊符号大全. ...
- Android (1) - Activity
onCreate(Bundle status) --> setContentView(View view) --> findViewById(int id) Intent intentFo ...