CentOS系统常规安全配置

近期服务器频繁有被暴力破解,大致分析了一下入侵行为,整理了常用的安全策略:最小的权限+最少的服务=最大的安全

修改默认连接22端口、及增加防火墙过滤规则

1、修改ssh的默认端口22:

1
2
3
4
5

vim /etc/ssh/sshd_config

#找到port这一样,去掉注释修改22为自定义44422端口
Port 44422

2、修改防火墙通过这个端口:

1
2
3
4
5

vim /etc/sysconfig/iptables

#增加过滤规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 44422 -j ACCEPT

3、重启sshd、防火墙服务

1
2
3
4
5
6
7

#重启ssd服务
service sshd restart

#重启iptables服务
service iptables restart


禁止root直接登录

1、新建帐户和设置帐户密码

1
2
3
4
5

useradd testuser

passwd testuser

2、不允许以root账号登录

1
2
3
4
5
6

vi /etc/ssh/sshd_config

#查找PermitRootLogin yes,改为no,并去掉#注释
PermitRootLogin no

3、重启sshd服务,测试登录

1
2
3
4
5
6
7
8

service sshd restart

#测试登录
ssh testuser@x.x.x.x -p 44422

#连接成功以后,su切换到root
su root

登录ip限制

1、设置登录ip限制

1
2
3
4
5
6

vi /etc/hosts.deny

#设置允许登录ip
sshd:172.29.73.23

2、重启sshd的服务

1
2
3

service sshd restart


防止一般的网络攻击

1、禁ping

1
2
3
4
5
6

vi /etc/rc.d/rc.local

#增加一行设置
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

2、防止IP欺骗

1
2
3
4
5
6
7
8

vi /etc/host.conf

#增加设置
order hosts,bind #名称解释顺序
multi on #允许主机拥有多个IP地址
nospoof on #禁止IP地址欺骗

3、防止DDoS攻击

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

vi /etc/security/limits.conf

#增加设置
#core 0 表示禁止创建core文件
* soft core 0
#nproc 128 把最多的进程数限制到20
* soft nproc 2048
* hard nproc 16384
#nofile 64 表示把一个用户同时打开的最大文件数限制为64
* soft nofile 1024
* hard nofile 65536
#* 表示登录到系统的所有用户,不包括root

#最后编辑/etc/pam.d/login
vi /etc/pam.d/login
#检查如下代码是否存在,不存在新增
session required pam_limits.so