配置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