安装一台安全的 Linux 何伟平hwtony@xmubbs. Linux 的优点 Linux...

Preview:

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检查检查

谢谢谢谢

Recommended