CentOS Linux系统安全设置

简介:

CentOS系统安全设置
1.禁止ping 
[root@zh888 ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all //临时禁止ping
[root@zh888 ~]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all //临时允许ping 
如果要永久ping可以把第一句
[root@zh888 ~]# echo "echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all">>/etc/rc.local 
[root@zh888 ~]# cat /etc/rc.local 
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

2.用iptables防火墙禁止(或丢弃) icmp 包
[root@zh888 ~]# iptables -A INPUT -p icmp -j DROP
[root@zh888 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp --  0.0.0.0/0            0.0.0.0/0          

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination       

[root@zh888 ~]# iptables -F INPUT //清理INPUT
[root@zh888 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   


3.、更改SSH端口,最好改为10000以上,防止别人扫描顺便建立一个普通用户来登录然后直接切换到root
[root@zh888 ~]# echo "port=10000">>/etc/ssh/sshd_config 
[root@zh888 ~]# echo "PermitRootlogin no">>/etc/ssh/sshd_config 
[root@zh888 ~]# service sshd restart
停止 sshd:                                                [确定]
启动 sshd:                                                [确定]

root@zh888 ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      1631/snmpd          
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      1748/smbd           
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1607/portmap        
tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      1917/dnsmasq        
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      1726/vsftpd         
tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      1748/smbd           
tcp        0      0 :::10000                    :::*                        LISTEN      3023/sshd   //修改了端口22默认端口。       

[test@zh888 ~]$ su - root//切换到root
口令:
[root@zh888 ~]# set|grep LOGNAME//然后查看环境变量的LOGNAME
LOGNAME=root


4.[root@zh888 ~]# chattr +i /etc/passwd /etc/group /etc/gshadow /etc/shadow //利用chattr +i或者-i来修改权限.


[root@zh888 ~]# chmod 777 /etc/passwd
chmod: 更改 “/etc/passwd” 的权限: 不允许的操作


5.[root@zh888 ~]# chmod 600 /etc/xinetd.conf //修改xinetd.conf配置文件权限,因为已经修改好了。主只有读和写。
chmod: 更改 “/etc/xinetd.conf” 的权限: 不允许的操作
[root@zh888 ~]# ll /etc/xinetd.conf 
-rw------- 1 root root 1001 2011-05-31 /etc/xinetd.conf


6.删除不太常用的用户和组adm  lp  sync  shutdown  halt  news  uucp  operator  games  gopher

组groupdel adm groupdel lp groupdel news groupdel uucp groupdel games groupdel dip groupdel pppusers


7.禁止ip原路由也就是ip包包含到达目的地的详细路径信息,是非常危险的。
fro f in /proc/sys/net/ipv4/conf/*
/accept_source_route;do 
echo 0 > $f done
上面是禁止所有网络界面。

8.使TCP SYN Cookie保护生效,SYN Attack是一种拒绝服务攻击方式,会消耗系统所有资源,迫使系统重启,
[root@zh888 ~]# echo "echo 1 >/proc/sys/net/ipv4/tcp_syncookies">>/etc/rc.local //让系统启动可以生效
[root@zh888 ~]# cat /etc/rc.local //查看/etc/rc.local文件
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

 

#/usr/local/mysql/libexec/mysqld --user=root&
#/usr/local/apache/bin/apachectl start
#modprobe ip_conntrack_ftp
#route add default gw 192.168.20.254
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
fro f in /proc/sys/net/ipv4/conf/*/accept_source_route;do echo 0 > done
fro f in /proc/sys/net/ipv4/conf/*/accept_source_route;do echo 0 >  done
echo 1 >/proc/sys/net/ipv4/tcp_syncookies

9.[root@zh888 ~]# chattr +i /etc/services //修改/etc/services端口文件的属性

10.[root@zh888 ~]# cat /etc/securetty //注释掉不用的tty前面加#就可以了。只允许root为tty1设备登录,如果其它可以用su - root来切换。
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
#tty9
#tty10
#tty11

11.关闭不需要的服务可以用ntsysv来关闭。
[root@zh888 ~]# runlevel
N 3 //3级别因为修改了/etc/sysconfig/i18n 所以是中文显示grep最好用on off来比较好。
[root@zh888 ~]# cat /etc/sysconfig/i18n 
#LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.GB18030"
[root@zh888 ~]# chkconfig --list|grep 3:启用

anacron         0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
apmd            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
auditd          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
crond           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
kudzu           0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
libvirt-guests  0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
libvirtd        0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
mdmonitor       0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
network         0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
ntpd            0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:关闭  6:关闭
portmap         0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
readahead_early 0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
readahead_later 0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
restorecond     0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
smb             0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
snmpd           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
snmptrapd       0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:关闭  6:关闭
sshd            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
syslog          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
sysstat         0:关闭  1:关闭  2:启用  3:启用  4:关闭  5:启用  6:关闭
vsftpd          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
xendomains      0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
xinetd          0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
yum-updatesd    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
 



本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/740880,如需转载请自行联系原作者


相关文章
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
706 24
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
546 18
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
2216 25
|
Web App开发 运维 Linux
破防了!原来CentOS联网设置竟藏在这个路径?网友:5年运维都白干了!
默认情况下,新装的 CentOS 无法直接上网。可通过点击桌面右上角的网络图标,启动 `eth0` 连接网络。为实现自动连接,右键该图标选择“编辑连接”,在 `System eth0` 设置中勾选“自动连接”。这样配置后,系统重启也能自动联网。
541 19
破防了!原来CentOS联网设置竟藏在这个路径?网友:5年运维都白干了!
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
407 4
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
669 3
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
1478 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
603 10
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
882 0
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1795 25

热门文章

最新文章