找回密码
 注册
查看: 6266|回复: 42

关于个人 PC 如何设置 iptables 才是正确或者安全的?

[复制链接]
发表于 2012-7-13 22:10:17 | 显示全部楼层 |阅读模式
#bin/bash
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -L
主要是不懂 FORWARD 具体控制的是什么东西,中转么,只要自己不充当主机提供子网给分机的话,FORWARD 就可以直接 DROP ?默认禁止所有包的进入,但开放接收由本机发出三次握手所需要返回的包,打开所有输出的端口。。,不过 output 是否还可以接着关闭掉一些服务器端口? FORWARD 如果不考虑分机,全部关闭。
这里还有个lo 回环需要打开,否则打不开本地一些基于 Web 的服务设置。
发表于 2012-7-14 10:37:24 | 显示全部楼层
个人计算机防火墙没多大必要吧

话说到现在都觉得,Magiclinux最不安全的理念是root登录
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-14 13:23:57 | 显示全部楼层
你别急,迟早会有一个工具来专门设置这些东西。
回复 支持 反对

使用道具 举报

发表于 2012-7-14 15:53:48 | 显示全部楼层
1、禁止 root 登录
2、禁止非一般用户 ID 登录
3、默认不打开远程控制服务
4、禁止空密码

iptables 完全不需要,因为人家从远程根本就无法链接到计算机,你又如何让人远程入侵系统?
真正需要考虑安全的是每个服务,远程控制服务必须设置才能登录,服务进程必须使用独立的限制权限 ID 。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-14 16:27:33 | 显示全部楼层
原帖由 jiangtao9999 于 2012-7-14 15:53 发表
1、禁止 root 登录
2、禁止非一般用户 ID 登录
3、默认不打开远程控制服务
4、禁止空密码

iptables 完全不需要,因为人家从远程根本就无法链接到计算机,你又如何让人远程入侵系统?
真正需要考虑安全的是每个服务,远程控 ...

iptables 应该还是需要的,这个不用管 INPUT 设置有没实际意义,默认打不打开远程服务都无所谓,iptables 关掉 OUTPUT 端口,开了服务也只能在本地 localhost 里面玩。Linux 本身就不允许空密码吧,难道你连 Single 模式或者 startx 都禁止么?
回复 支持 反对

使用道具 举报

发表于 2012-7-14 19:17:22 | 显示全部楼层
原帖由 jiangtao9999 于 2012-7-14 15:53 发表
1、禁止 root 登录
2、禁止非一般用户 ID 登录
3、默认不打开远程控制服务
4、禁止空密码


我不同意1和4,如果实行1和4,我觉得有需要的时候不能用,实在太难受了。
回复 支持 反对

使用道具 举报

发表于 2012-7-14 20:09:07 | 显示全部楼层
任何一个常驻进程存在风险,包括那个iptables

对于桌面用户防火墙没多大实际价值,那些个高风险进程改个端口基本上能解决蠕虫穷举问题了
回复 支持 反对

使用道具 举报

发表于 2012-7-14 20:11:12 | 显示全部楼层
原帖由 软用者 于 2012-7-14 19:17 发表

我不同意1和4,如果实行1和4,我觉得有需要的时候不能用,实在太难受了。


sudo
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-14 20:46:56 | 显示全部楼层
把 root 账号改名,只要修改 /etc/passwd 和 /etc/shadow 即可,不过后遗症不少,很多东西要做修正。
几乎所有的服务都会用到 root 这个账号,所以这个账号是不能改名的,否则麻烦比应用还要多。
但是如果想限定 root 账号,比如说设置为 nologin,那么 KDE4 照样可以进入,终端和虚拟终端则进不去了,KDE 上的软件照样工作。麻烦来了,你普通用户也同时没有了终端操作的 root 权限。
关于 root ,我觉得你想安全点把密码设置复杂些就行了,以前你电话充值还要先输一长串卡号,现在就一长串密码了。
设置好 iptables 就安全了,不想太多了,自己折腾自己。
你可以设置 root 不能登录 kde4,但那是自己骗自己,kde 进不了不等于远程进不了,你把终端关掉,那所有普通用户也别想用 root 权限工作。
除非真有耐心,把所有配置的 root 全改名。
回复 支持 反对

使用道具 举报

发表于 2012-7-14 20:51:11 | 显示全部楼层
原帖由 haulm 于 2012-7-14 04:27 PM 发表

iptables 应该还是需要的,这个不用管 INPUT 设置有没实际意义,默认打不打开远程服务都无所谓,iptables 关掉 OUTPUT 端口,开了服务也只能在本地 localhost 里面玩。Linux 本身就不允许空密码吧,难道你连 Single 模式或者  ...

Single 可以直接启动一个 root bash 。完全可以绕过密码提供。不过我觉得 Single 提供一个 login 进入普通用户也是完全可以的。
startx 和登录密码,不让 root 登录有关系吗?你难道不知道 kdm 和 gdm 都可以设置禁止 root 登录?
Linux 支持空密码。
至于开了服务也只能在本地玩……我的计算机就经常需要远程 ssh 的好不好?偶尔还要提供 samba 或者 NFS 传输文件用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-14 20:54:28 | 显示全部楼层
我上面已经实验过了,root 可以改名,改后可以进 kde 可以上网,但是仍有很多地方要改,否则很多东西工作不正常。包括所有 dbus 启动的服务,它可是指名 root 运行的。
回复 支持 反对

使用道具 举报

发表于 2012-7-14 20:55:13 | 显示全部楼层
root 密码再长。你也已经知道 root 用户名了。这就是禁止 root 登录最根本的一个原因。
至于改 root 用户名,你找抽吗?难道全世界的程序员都要为了你的系统去专门设置提问 root 用户名的功能?
既然可以禁止 root 登录,我为什么要改名?禁止了 root 登录,我依然可以用 root 权限。我为什么还要一直开着 root 用户?

你这思维真奇怪。明明有简单的办法,却还要去麻烦。
回复 支持 反对

使用道具 举报

发表于 2012-7-14 20:58:11 | 显示全部楼层
dbus 用 root ?dbus 可以用独立 ID 运行的好不好?

我前面的话都白说了吗?所有的服务全都用独立 ID 运行,你就算攻掉了这个服务,也没办法整体控制系统,相互独立的服务 ID ,也不能跨服务去使用另一个服务的漏洞。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-14 21:01:43 | 显示全部楼层
# grep -r "root" `rpm -ql dbus`
Binary file /bin/dbus-daemon matches
/etc/dbus-1/system.conf:  <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
/etc/dbus-1/session.conf:  <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
/etc/dbus-1/system.d/ConsoleKit.conf:  <!-- Only root can own the service -->
/etc/dbus-1/system.d/ConsoleKit.conf:  <policy user="root">
/etc/dbus-1/system.d/org.polkit.mxd2.conf:  <!-- Only root can own the service -->
/etc/dbus-1/system.d/org.polkit.mxd2.conf:  <policy user="root">
/etc/dbus-1/system.d/avahi-dbus.conf:  <!-- Only root or user avahi can own the Avahi service -->
/etc/dbus-1/system.d/avahi-dbus.conf:  <policy user="root">
/etc/dbus-1/system.d/avahi-dbus.conf:  <policy user="root">
/etc/dbus-1/system.d/org.freedesktop.UPower.conf:  <!-- Only root can own the service -->
/etc/dbus-1/system.d/org.freedesktop.UPower.conf:  <policy user="root">
/etc/dbus-1/system.d/org.kde.wicdclient.scripts.conf:  <!-- Only user root can own the foo helper -->
/etc/dbus-1/system.d/org.kde.wicdclient.scripts.conf:  <policy user="root">
/etc/dbus-1/system.d/org.kde.kcontrol.kcmclock.conf:  <!-- Only user root can own the foo helper -->
/etc/dbus-1/system.d/org.kde.kcontrol.kcmclock.conf:  <policy user="root">
/etc/dbus-1/system.d/org.freedesktop.colord-sane.conf:  <!-- Only user root or user colord can own the colord service -->
/etc/dbus-1/system.d/org.freedesktop.colord-sane.conf:  <policy user="root">
/etc/dbus-1/system.d/org.freedesktop.PolicyKit1.conf:  <policy user="root">
/etc/dbus-1/system.d/org.freedesktop.PolicyKit1.conf:  <policy user="root">
/etc/dbus-1/system.d/bluetooth.conf:  <policy user="root">
/etc/dbus-1/system.d/org.gnome.GConf.Defaults.conf:  <!-- Only root can own the service -->
/etc/dbus-1/system.d/org.gnome.GConf.Defaults.conf:  <policy user="root">
/etc/dbus-1/system.d/org.kde.fontinst.conf:  <!-- Only user root can own the foo helper -->
/etc/dbus-1/system.d/org.kde.fontinst.conf:  <policy user="root">
/etc/dbus-1/system.d/org.kde.kcontrol.kcmkdm.conf:  <!-- Only user root can own the foo helper -->
太长了,省略。

[ 本帖最后由 haulm 于 2012-7-14 21:27 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-14 21:04:11 | 显示全部楼层
原帖由 jiangtao9999 于 2012-7-14 20:55 发表
root 密码再长。你也已经知道 root 用户名了。这就是禁止 root 登录最根本的一个原因。
至于改 root 用户名,你找抽吗?难道全世界的程序员都要为了你的系统去专门设置提问 root 用户名的功能?
既然可以禁止 root 登录,我 ...

我不想扯废话,你给出正确禁止 root 的指令集来。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2022-8-18 00:34 , Processed in 0.040404 second(s), 16 queries .

© 2021 Powered by Discuz! X3.4.

快速回复 返回顶部 返回列表