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 ...
随机推荐
- HDU 3046Pleasant sheep and big big wolf(切最小网络流)
职务地址:HDU 3046 最小割第一发!事实上也没什么发不发的. ..最小割==最大流.. 入门题,可是第一次入手最小割连入门题都全然没思路... sad..对最小割的本质还是了解的不太清楚.. 这 ...
- VC++ 在两个文件互相包含时会出现的错误
首先,要分别在两个文件中实现以下两个类 class Object { public: NewType ToType(); }; class NewType : public Object { } -- ...
- SWT中Display和Shell是个什么东东
Display:与操作系统沟通的桥梁 我们在前面说过,每个swt程序在最开始都必须创建一个Display对象.Display对象起什么作用呢?它是swt与操作系统沟通的一座桥梁.它负责swt和操作系统 ...
- 探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1)
探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1) 一.前言: Oracle 12c公布距今已经一年有余了,其最大亮点是一个能够插拔的数据库(PD ...
- .Net程序猿玩转Android开发---(7)相对布局RelativeLayout
相对布局RelativeLayout是Android布局中一个比較经常使用的控件,使用该控件能够布局出适合各种屏幕分辨率的布局,RelativeLayout採用相对位置进行 ...
- shell手册--笨鸟杰作
==================================================================================================== ...
- WPF对于xml的简单操作(下)绑定ListView
上个月做好的,电脑给盗了,没及时存在网盘,也及时发到随笔,于是乎悲哉!搞了一个上午终于绑定好了,有时候就是这么眼瞎,Path和XPath全瞎了,摸滚了一个上午,赶紧的随笔跟上先. <ListVi ...
- [TroubleShooting]'trn\bak' is incorrectly formed. SQL Server cannot process this media family.
SQL Server online consultants came across an interesting scenario where one of our client was una ...
- cocos2dx 3.2 定义自己使用rapidjson阅读json数据
一.说明 我在这里得到的只是一个简单的定义string和Int种类,其他数据类型可以被替换向上. 两.头文件 class JsonReadUtils { public: static JsonRead ...
- HDU 4435 charge-station (并查集)
先说下题目的意思: 在一个二维坐标系中有N个点,某人要来个走遍所有点的旅行,但是他的车每次加油后只能走M个单位距离:所以要在这个N点中选一些建立加油站:问题来了:i^th 点 建加油站的花费是 2 ...