View
276
Download
2
Embed Size (px)
Citation preview
安装一台安全的安装一台安全的 LinuLinuxx
何伟平何伟平hwtony@xmubbshwtony@xmubbs
LinuxLinux 的优点的优点
LinuxLinux 花费小,硬件要求低花费小,硬件要求低
开放源码开放源码
相对安全相对安全
LinuxLinux 的缺点的缺点
学习成本高学习成本高
缺少技术支持缺少技术支持
特定服务无法满足要求特定服务无法满足要求
选择依据选择依据
根据应用选择操作系统根据应用选择操作系统
利用利用 linuxlinux 为老机器延长寿命为老机器延长寿命
安全概述安全概述
防范谁(天灾、病毒、人)防范谁(天灾、病毒、人)
需要什么样的措施需要什么样的措施
授予最小的权限授予最小的权限
安装要点安装要点
避免连接网络避免连接网络
慎重规划文件系统慎重规划文件系统
仅安装必要程序仅安装必要程序
规划文件系统规划文件系统
选用日志文件系统选用日志文件系统
独立独立 /var/var 、、 /home/home 、、 /boot/boot
独立独立 /usr/usr 、、 /tmp/tmp
安装最小的操作系统安装最小的操作系统
安装时选择安装时选择 MinimalMinimal
物理安全物理安全
限制启动方式限制启动方式
保护控制台保护控制台
限制启动方式限制启动方式
更改启动顺序更改启动顺序
加上加上 BIOSBIOS 密码密码
加上加上 LoaderLoader 密码密码
给给 GRUBGRUB 加上密码加上密码 获得加密串获得加密串
grub> md5cryptgrub> md5cryptPassword: ******Password: ******Encrypted: $1$qW/qn0$LOnxgnJ2eyQupw2i7aTtS1Encrypted: $1$qW/qn0$LOnxgnJ2eyQupw2i7aTtS1
编辑编辑 /boot/grub/grub.conf/boot/grub/grub.conf ,加入,加入password --md5 $1$b.0qn0$X7vUSPBqlznCPHzQQJJQ51password --md5 $1$b.0qn0$X7vUSPBqlznCPHzQQJJQ51
保护控制台 – 禁用保护控制台 – 禁用 ctrl+alt+delctrl+alt+del
编辑编辑 /etc/inittab/etc/inittab
注释掉如下配置注释掉如下配置ca::ctrlaltdel:/sbin/shutdown -t3 -r nowca::ctrlaltdel:/sbin/shutdown -t3 -r now
保护控制台 – 禁用程序保护控制台 – 禁用程序
执行以下命令执行以下命令rm –f /etc/security/console.apps/haltrm –f /etc/security/console.apps/haltrm –f /etc/security/console.apps/rebootrm –f /etc/security/console.apps/rebootrm –f /etc/security/console.apps/poweroffrm –f /etc/security/console.apps/poweroff
for i in /etc/pam.d/* dofor i in /etc/pam.d/* do> sed ‘/[^#].*pam_console.so/s/^/#/’ < $i > temp && mv –f temp $i> sed ‘/[^#].*pam_console.so/s/^/#/’ < $i > temp && mv –f temp $i> done> done
帐户安全帐户安全
删除不必要帐户删除不必要帐户
限制帐户权限限制帐户权限
保护超级管理员帐户保护超级管理员帐户
删除不必要的帐户删除不必要的帐户
用以下命令查看用户用以下命令查看用户cat /etc/passwd| cut -f 1-1 -d: -cat /etc/passwd| cut -f 1-1 -d: -
删除删除 admadm 、、 lplp 、、 syncsync、、 shutdownshutdown 、、halthalt 、、 newsnews、、 mailmail 、、 uucpuucp 、、 operatooperatorr、、 gamesgames、、 gophergopher 、、 ftpftp
删除不必要的组删除不必要的组
用以下命令查看用户用以下命令查看用户cat /etc/group| cut -f 1-1 -d: -cat /etc/group| cut -f 1-1 -d: -
删除删除 admadm 、、 lplp 、、 newsnews、、 mailmail 、、 uucpuucp 、、gamesgames、、 dipdip
限制帐户权限限制帐户权限
允许登陆?允许登陆?usermod -s /sbin/nologin usernameusermod -s /sbin/nologin username
登陆方式,位置?登陆方式,位置?
避免创建默认组避免创建默认组
保护超级管理员帐户保护超级管理员帐户
编辑编辑 /etc/profile/etc/profile ,加入,加入TMOUT=600TMOUT=600
编辑编辑 /etc/pam.d/su/etc/pam.d/su ,去掉下面的注释,去掉下面的注释#auth required /lib/security/$ISA/pam_wheel.so use_uid#auth required /lib/security/$ISA/pam_wheel.so use_uid
文件安全文件安全
避免不必要的文件权限避免不必要的文件权限
保护重要文件保护重要文件
注意注意 SUIDSUID 程序程序
避免不必要的文件权限避免不必要的文件权限
修改修改 fstabfstab
/var/var 、、 /tmp/tmp 加上加上 noexecnoexec 、、 nosuidnosuid 、、 nnodevodev
/home/home 加上加上 nosuidnosuid 、、 nodevnodev
保护重要的文件保护重要的文件
chattr –ichattr –i /etc/services/etc/services /etc/passwd/etc/passwd /etc/shadow/etc/shadow /etc/group/etc/group /etc/gshadow/etc/gshadow …………
去掉不必要的去掉不必要的 SUIDSUID
查找查找 SUIDSUID 程序程序find / -type f \( -perm -04000 -o -perm -02000 \)find / -type f \( -perm -04000 -o -perm -02000 \)
去掉权限去掉权限chmod a-s /bin/mountchmod a-s /bin/mount…………
网络安全网络安全
配置防火墙配置防火墙
删除不必要的服务删除不必要的服务
设置内核参数设置内核参数
IPTABLES (1)IPTABLES (1)
# export INET_IP=xxx.xxx.xxx.xxx # export INET_IP=xxx.xxx.xxx.xxx
# iptables -N bad_tcp_packets# iptables -N bad_tcp_packets# iptables -N allowed# iptables -N allowed
# iptables -A bad_tcp_packets -p tcp --tcp-flags \ # iptables -A bad_tcp_packets -p tcp --tcp-flags \ SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset # iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP # iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
# iptables -A allowed -p TCP --syn -j ACCEPT # iptables -A allowed -p TCP --syn -j ACCEPT # iptables -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j AC# iptables -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j AC
CEPT CEPT # iptables -A allowed -p TCP -j DROP # iptables -A allowed -p TCP -j DROP
IPTABLES (2)IPTABLES (2)
# iptables -A INPUT -p tcp -j bad_tcp_packets # iptables -A INPUT -p tcp -j bad_tcp_packets # iptables -A INPUT -p ALL -i lo -s 127.0.0.1 -j ACCEPT # iptables -A INPUT -p ALL -i lo -s 127.0.0.1 -j ACCEPT # iptables -A INPUT -p ALL -i lo -s $INET_IP -j ACCEPT # iptables -A INPUT -p ALL -i lo -s $INET_IP -j ACCEPT # iptables -A INPUT -p ALL -d $INET_IP -m state --state \# iptables -A INPUT -p ALL -d $INET_IP -m state --state \ ESTABLISHED,RELATED -j ACCEPT ESTABLISHED,RELATED -j ACCEPT
# iptables -A OUTPUT -p tcp -j bad_tcp_packets# iptables -A OUTPUT -p tcp -j bad_tcp_packets# iptables -A OUTPUT -p ALL -o lo -d 127.0.0.1 -j ACCEPT# iptables -A OUTPUT -p ALL -o lo -d 127.0.0.1 -j ACCEPT# iptables -A OUTPUT -p ALL -o lo -d $INET_IP -j ACCEPT# iptables -A OUTPUT -p ALL -o lo -d $INET_IP -j ACCEPT# iptables -A OUTPUT -p ALL -s $INET_IP -m state --state \# iptables -A OUTPUT -p ALL -s $INET_IP -m state --state \ ESTABLISHED,RELATED -j ACCEPT ESTABLISHED,RELATED -j ACCEPT
IPTABLES (3)IPTABLES (3)# iptables -A INPUT -p TCP --dport 22 -j allowed # iptables -A INPUT -p TCP --dport 22 -j allowed
…………
# iptables -A OUTPUT -p UDP --dport 53 -j ACCEPT# iptables -A OUTPUT -p UDP --dport 53 -j ACCEPT
# iptables -A OUTPUT -p TCP --dport 53 -j allowed# iptables -A OUTPUT -p TCP --dport 53 -j allowed
# iptables -A OUTPUT -p TCP --dport 21 -j allowed # iptables -A OUTPUT -p TCP --dport 21 -j allowed
…………
# iptables -P INPUT DROP# iptables -P INPUT DROP
# iptables -P OUTPUT DROP# iptables -P OUTPUT DROP
# iptables -P FORWARD DROP # iptables -P FORWARD DROP
# service iptables save # service iptables save
TCP_WRAPPERSTCP_WRAPPERS
/etc/hosts.deny/etc/hosts.denyALL:ALLALL:ALL
/etc/hosts.allow/etc/hosts.allow ,用,用 ipipsshd:xxx.xxx.xxx.xxxsshd:xxx.xxx.xxx.xxx…………
删除不必要的服务删除不必要的服务
chkconfig –listchkconfig –list
chkconfig –level 3 servicename offchkconfig –level 3 servicename off
手工编辑手工编辑 /etc/rc.d/rc3.d/etc/rc.d/rc3.d
设置内核参数设置内核参数 /etc/sysctl.conf/etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1net.ipv4.icmp_echo_ignore_all = 1net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.all.accept_source_route = 0net.ipv4.tcp_syncookies = 1net.ipv4.tcp_syncookies = 1net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.all.accept_redirects = 0net.ipv4.ip_always_defrag = 1net.ipv4.ip_always_defrag = 1net.ipv4.icmp_ignore_bogus_error_responses = 1net.ipv4.icmp_ignore_bogus_error_responses = 1net.ipv4.conf.all.rp_filter = 1net.ipv4.conf.all.rp_filter = 1net.ipv4.conf.all.log_martians = 1net.ipv4.conf.all.log_martians = 1
安全相关安全相关
Security Through ObscuritySecurity Through Obscurity (不公开、(不公开、即安全)即安全)
日志日志 &&备份备份
升级升级
Security Through ObscuritySecurity Through Obscurity
删除删除 /etc/issue/etc/issue 、、 /etc/issue.net/etc/issue.net
修改端口修改端口
日志与备份日志与备份
正确设置正确设置 /var/log/var/log 权限权限
设置自动备份并测试设置自动备份并测试 (/etc(/etc 、、 /var/log)/var/log)
备份备份 /var/lib/rpm/fileindex.rpm/var/lib/rpm/fileindex.rpm 与与 /var/var/lib/rpm/packages.rpm/lib/rpm/packages.rpm ,用,用 rpm –Varpm –Va检查检查
谢谢谢谢