1)cp /etc/sysctl.conf /etc/sysctl.conf.zf
2) 拷贝下面的内容到 /etc/sysctl.conf
net.ipv4.ip_forward = 0 # 问问他们是不是 LVS,如果是的话,要设置为1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.rp_filter = 1 # 问问他们是不是 LVS 后端服务器,如果是,要设置为0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.log_martians = 1
kernel.core_uses_pid = 1
3) sysctl -p
1)touch /root/zf.sh
2) 拷贝下面的脚本到该文件(注意要先理解下面列出的这些服务项目,然后在实际操作的
#!/bin/bash
#
export LANG=C
temp_file=/tmp/config_security.temp
| grep -v sshd | grep -v network | grep -v syslog | grep -v crond | grep -v anacron \
| grep -v iptables | grep -v readahead | grep -v irqbalance | grep -v lvm2-monitor \
| grep -v arptables_jf | grep -v sendmail | grep -v readahead_early | grep -v snmpd \
| grep -v apache2 | grep -v resin | grep -v mysql \
| grep -v portmap | grep -v nfslock | grep -v netfs \ # nfs client needs this line
| grep -v nfs | grep -v sysstat \ # nfs server needs this line
| awk '{ print $1 }' > $temp_file
do
chkconfig $serv off
/etc/init.d/$serv stop
done < $temp_file
rm -f $temp_file
1) 拷贝下面的代码到 /etc/profile 的最后位置
HISTSIZE=100000
HISTTIMEFORMAT="%F %R "
export HISTSIZE HISTTIMEFORMAT
2)执行 history 命令验证先前执行的命令的时间也显示出来了
1)touch /etc/ssh/sshd_config_secure
2) 把文件 sshd_config_secure 的内容拷贝到 /etc/ssh/sshd_config_secure
3) 把下面的代码加入到 /etc/syslog.conf 文件的末尾
# save logs of secure sshd to sshd_secure
local6.* /var/log/sshd_secure
并重启日志守护进程: /etc/init.d/syslog restart
4) 用 visudo 命令打开 /etc/sudoers 文件,并把下面的代码加入到 /etc/sudoers 文件的末尾
Defaults log_year, syslog=local6
5) /usr/sbin/sshd -f /etc/ssh/sshd_config_secure
6) 执行命令 netstat -lnp | grep :62222 验证我们自己配置的 SSH 已经在正常运行了
5. 配置 sudo
1)询问该服务器的相关维护人员和开放人员以确定需要建立哪几个组,每个组需要建立
2)然后在服务器上建立这些组和用户,一定要注意的是保证在所有服务器上的相同的组
------------------------------------------------------------------------------------------------------------------
组名称 组ID(GID) 组描述 该组内的用户 该用户的用户ID(UID)
sa 6000 system admin xxxx.xxx 60001
xxxx.xxx 60002
isa 6001 information security admin xxxx.xxx 60011
xxxx.xxx 60002
------------------------------------------------------------------------------------------------------------------
相关命令如下:
建组: groupadd -g 6000 sa # -g 参数指定建立的组的组ID(GID),如果不指定的话,
groupadd -g 6001 isa # 那样的话就没法保证在所有的服务器上相同的组名称
建用户:useradd -u 60001 -g 6000 xxxx.xxx # 指定 xxxx.xxx 的 UID 为 60001, GID 为
useradd -u 60011 -g 6001 xxxx.xxx # 指定 xxxx.xxx 的 UID 为 60011, GID 为 6001(isa 组)
useradd -u 60002 -g 6000 -G 6001 xxxx.xxx # 指定 xxxx.xxx 的 UID 为 60002, 主 GID 为
# useradd -u <UID> -g <GID> -G<GID1,GID2,...>
3)用 visudo 命令打开 /etc/sudoers, 并在其末尾添加如下形式的条目:
%<组名称> ALL = [NOPASSWD:]ALL # [NOPASSWD:] 表示该部分是可选
%sa ALL = NOPASSWD:ALL
%isa ALL = NOPASSWD:ALL
4)验证:
a. 为你自己的帐号设置密码,然后用自己的帐号尝试登录(注意 SSH 的端口是
b. 登录成功后,执行下面的命令验证 sudo 配置是否成功:sudo cat /etc/shadow
如果你能够打开 /etc/shadow 人家,表示 sudo 配置 OK 了,
c. 接着查看 /var/log/sshd_secure 验证我们自己的 SSH 的日志记录是否OK,如果你在该文
1)查看服务器上是否有 /root/.ssh/authorized_keys 文件,如果没有,建立它(如果
2)cd /root/.ssh
3) 用 rz 命令 上传 authorized_keys (自己生成的所有服务器统一使用的公钥文件)文件
1)执行下面的命令将系统的重要系统文件的 MD5 hash 保存到 md5.log
find /bin /boot /etc /lib /lib64 /sbin /sys/module \
/usr/bin /usr/include /usr/lib /usr/lib64 /usr/libexec /usr/sbin /usr/src \
-type f -exec md5sum {} \; >> md5.log
2)执行命令 sz md5.log 将该文件保存到本机,然后把服务器上的该文件副本删除,并把
(例如:211.151.xx.xxx --> xxx-md5-20070712.log)
转换格式,然后执行命令 /etc/init.d/iptables start 启用防火墙.
上面的步骤只配置了最基本的防火墙规则,进一步的调整需要和系统维护人员和开放人