配置Linux下较为安全的Server
1、文本方式启动
vi /etc/inittab
找到"id:5:initdefault"
改为"id:3:initdefault"
2、设置语言参数(解决文本方式下终端乱码的问题)
vi /etc/sysconfig/i18n
找到"LANG = "en_US.UTF-8""
改为"LANG = "zh_CN.GB18030""
3、Linux中必不可少的服务(可通过ntsysv修改)
atd # 在例行性命令里提到的、只执行一次的预约执行服务,务必启动
crond # 在例行性命令里提到的、循环执行的命令,务必启动(有些Linux版本为cron)
iptables # 防火墙软件,为了安全,先启用它
keytables # 设置键盘上字母的格式(有些Linux版本没有这个选项)
network # 网络功能
random # 快速将系统状态在随机时间内保存到映像文件中,它对系统相当重要!因为开机之后,
# 系统会迅速回复到关机前的状态(有些Linux版本没有这个选项)
syslog # 系统日志
xined # 另一个服务管理器super daemon!
xfs # 此服务为run-level=5的图形界面所必须的,如果只通过文本方式登录可以不启动
# 可以根据具体情况启用适当的服务,如:sshd,vsftp,httpd,mysqld,spamssion等
4、防火墙配置(可根据具体情况开启端口,下面脚本为Samba服务器的)
touch /etc/rc.d/firewall
chmod u+x /etc/rc.d/firewall
vi /etc/rc.d/rc.local
/etc/rc.d/firewall
vi /etc/rc.d/firewall
# !/bin/bash
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 >/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 >/proc/sys/net/ipv4/conf/all/log_martians
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
## Enable local interface pass
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
##Allow State
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
## Anything else not allowed
iptables -A INPUT -j DROP
5、禁止Ctrl+Alt+Delete重启
vi /etc/inittab
将"ca::ctrlaltdel:/sbin/shutdown -t3 -r now"一行注释掉
6、修改重要文件权限
chmod -R 700 /etc/rc.d/init.d/*
7、禁止ssh下直接以root登录
vi /etc/ssh/sshd_config
把PermitRootLogin yes前的"#"去掉,将yes改为no.
8、限制su名单
vi /etc/pam.d/su
加入auth required /lib/security/$ISA/pam_wheel.so use_uid
顺便添加wheel组用户,并设置密码
useradd -g wheel leo4364088
passwd leo4364088
9、限制ssh使用者名单
vi /etc/pam.d/sshd
auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
然后建立/etc/ssh_users文件
echo leo4364088 >> /etc/ssh_users
10、防止IP欺骗
vi /etc/host.conf
order bind,hosts
multi off
nospoof on
11、口令文件锁定(建议配置好服务器再锁定,解锁命令为chattr -i /etc/passwd)
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
12、制定任务(如:每天3点重启机器)
crontab -e
00 03 * * * reboot