Linux极客的56个技巧(12)
这将会创建一个名为setuid.txt的文件,包含了所有当前系统上匹配的文件的细节。要移除任何你不用的工具的s位,输入:
chmod a-s program57:Mac过滤Host AP
难度:高级
应用程序:iwpriv
你可以在链路层使用iptables或者ebtables执行MAC过滤,那比让Host AP为你做这些更安全。这不仅仅是阻碍指向你的网络传输,也是预防邪恶的人关联你的站。这能帮助组织某些人给你的其他无线客户端造成麻烦的可能,即使他们没有更多的网络通道。
当使用MAC过滤时,很多人会列出一个他们希望允许的无线装置清单,然后拒绝所有其他的。使用iwpriv命令完成这个功能:
iwpriv wlan0 addmac 00:30:65:23:17:05iwpriv wlan0 addmac 00:40:96:aa:99:fd...iwpriv wlan0 maccmd 1iwpriv wlan0 maccmd 4
addmac指示添加一个MAC地址到内部表。只要你喜欢你就可以通过执行更多的addmac命令添加更多的MAC地址到表中。然后你需要告诉Host AP对你已经建好的表做什么。maccmd 1命令告诉Host AP就像使用一个“允许”清单一样使用这个表,并且拒绝所有其他的MAC地址来关联。最终,maccmd 4命令去除掉所有的关联客户端,强制使它们重新关联。对表中的客户端来说是自动发生的,但是其他的任何企图关联的客户端都是被拒绝的。
有时,你只需要禁止一个或者两个捣蛋鬼,而不是设置一个详细的被允许的硬件规则。如果你需要禁止两三个MAC地址而允许其他所有的地址,尝试这个:
iwpriv wlan0 addmac 00:30:65:fa:ca:deiwpriv wlan0 maccmd 2iwpriv wlan0 kickmac 00:30:65:fa:ca:de
像以前一样,你可以不限次数的使用addmac,只要你乐意。Maccmd2命令会将规则设置为“拒绝”,而如果该MAC恰巧已经关联,kickmac会立刻将特定的MACboot。这也许比只为了禁止一个捣蛋鬼而消除所有关联然后让他们重新邻接要好一些。顺便说一下,如果你想要消除所有的MAC过滤,尝试maccmd 0。
如果你错误的输入了一个MAC地址,你可以像使用addmac一样使用delmac命令,然后它(可以预见)就会从表中删掉这个给出的MAC地址。你有时会需要完全清除当前的MAC表但是保留它当前的规则,使用这条命令:
iwpriv wlan0 maccmd 3
最后,你可以通过使用/proc浏览正在运行的MAC表:
cat /proc/net/hostap/wlan0/ap_control
iwpriv程序操纵正在运行的Host AP驱动,但是重启后不保留设置。一旦你对你的MAC过滤表感到满意,请确保你在一个rc脚本中添加了相关命令在启动时间运行。
注意,未关联的客户端仍然可以监听网络传输,所以MAC过滤实际上只能预防一点点窃取。为了与被动的监听技巧搏斗,你需要加密你的数据。
更新:如果你想要知道更多的技巧,请查看《More Linux tips every geek should know》(每个geek应该知道的更多的技巧)