初入linux安全

简介:
linux 是开源的操作系统,这样带来的好处是可以免费获取和使用。也可以定制自己的linux系统。由于开源也导致了系统安全的问题,
linux也会收到一些系统底层的攻击。
     一般的攻击手段:
        1.密码暴力破解。用来破解用户密码。(主要针对系统口令,一般可以修改密码难度加入防范多次错误连接机制)
        2.拒绝服务攻击。Dos  (DDos)原理是:利用合理的服务请求来占用过多的服务器资源。向目标服务器发起大量请求,由于服务器短时间内无法接受太多请求,造成系统资源耗尽,服务挂起,严重造成服务器瘫痪。
        3.应用程序漏洞攻击。常见的SQL注入漏洞攻击,网页权限漏洞。已知系统程序的漏洞。
     防范攻击策略
        1.网络传输安全。
            网络传输由网络安全设备构成。一般由硬件防火墙,网络入侵监测(IDC Intrusion Detection System),路由器,交换机。通过给这些设备合理的配置,防范危险。
        2.操作系统安全
            经常进行的系统安全设置:系统内核定期升级,系统自带软件更新,配置防火墙IPtables防范策略。
            SYN攻击属于DDoS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施
            Linux syn攻击是一种黑客攻击,如何处理和减少这种攻击是系统管理员比较重要的工作.
            SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。
            Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn 看到:
            net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 0
            net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_syn_retries = 5
            tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie 功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN 的重试次数。加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分 SYN攻击,降低重试次数也有一定效果。
            调整上述设置的方法是: 
            增加SYN队列长度到2048: 
            sysctl -w net.ipv4.tcp_max_syn_backlog=2048
            打开SYN COOKIE功能: 
            sysctl -w net.ipv4.tcp_syncookies=1
            降低重试次数: 
            sysctl -w net.ipv4.tcp_synack_retries=3 sysctl -w net.ipv4.tcp_syn_retries=3 
            为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。
            防止同步包洪水(Sync Flood) 
            # iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
            也有人写作 
            #iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT 
            --limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改
            防止各种端口扫描 
            # iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
            Ping洪水攻击(Ping of Death) 
            # iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 
            这些是处理linux sync攻击的思路。
        3.应用软件安全
            服务器上运行的软件程序本身进行安全策略配置和优化。常见www服务的apache安全设置。ftp服务访问授权控制等。
  Linux操作系统安全策略
        1.软件的升级 
            系统软件一般用yum update (yum工具自动升级。要有网络)
        2.端口和服务。
           端口。其实一个有效的连接的建立,就是客户端的端口和服务器的端口建立连接的过程。端口在系统中有自己的一套划分规律。
           linux 可以通过查看  more  /etc/services
           linux 下,共有655536个可用端口,这些端口以 1024为分割点,分别是;
           ‘只有root用户才能启动的端口’和‘客户端的端口’
           1. 只有root才能开启的端口
                0-1023  端口,主要用于系统一些常见的通信服务中。常见的:ftp  21; telnet 23;mail 25; wwww 80;
           2. 客户端的端口
              1024及以上的端口主要给客户端软件使用,这些端口由软件随机分配。比如 msyql  3306;tomcat 8080 8009;
              oneproxy 4041(管理); php-fpm 9000;当然这些是默认的都可以在配置文件修改的。
              一般查看这些的命令组合: netstat -anltup
            3.服务和端口是一个一一对应的关系。相互依赖,相互衬托的。服务开启,端口也就启动了。
                真正影响安全的是服务,而非端口。
            4.关闭不必要的服务。一般系统需要的服务有syslog(记录日志功能),sshd(远程连接服务器系统)network(激活网络接口的脚本,
                使用网络必须的)xinetd(支持多种网络服务的核心守护进程。包括telnet .vsftpd) iptables(内置的防火墙软件)
                atd(特定时间的指定事物服务)crond(自动安排进程提供运行服务)
                这些是必须开启支撑linux工作。此外,还有些和业务相关的可以开启外,其它的建议关闭。
    密码登录安全:
        密码设置安全:一般8位以上的。数字,字母和特殊字符。定期更换密码等。可以加入防止密码探测机制(一个帐号几次失败后。拒绝访问)
            此外,还可以设置密钥认证登录(限于secureCRT等远程登录程序)可以不通过密码登录。
            在 secureCRT上  工具=创建密钥
            上传密钥到linux,导入密钥
            # ssh-keygen -i -f Identity.pub >>/root/.ssh/authorized_keys
            然后修改登录方式为公钥登录找到生成密钥的路径选中。
            进入linux:修改 ssh2的配置文件:
            Port 22  #这个是ssh连接的默认端口可以改变
            Protocol 2   #使用ssh2
            PubkeyAuthentication yes  #启动 pubkey 认证
            AuthorizedKeysFile     .ssh/authorized_keys    #publickey 文件路径
            PasswordAuthentication no    #不使用密码认证
            # service  sshd  restart    #重启服务使新配置的ssh生效。
    其它设置:
        1.禁止外部ping 测试:
          #  echo "1"> /proc/sys/net/ipv4/icmp_echo_ignore_all 
          将忽略ping响应策略开启。
        2.删除系统默认的不必要的服务和账户
            /etc/passwd    /etc/group
            这2个目录存放账户和组的信息:
            可以删除的有  adm  lp sync shutdown halt new  uucp operator ames gopher 等。
            此外  默认shell为 /sbin/nologin 的为不可登录账户
        3.限制 shell记录历史条数
            编辑  /etc/profile 修改  HISTSIZE 参数。
            这里还有个小技巧  : 在命令行下输入  HISTCONTROL=ignorespace   然后在输入命令的时候前面多个空格则history不记录。
        4.关闭 selinux    
            临时关闭 :  setenforce 0
            永久关闭: vi /etc/selinux/conf  (centos 6 下)
                SELINUX=disabled   重启启动系统。









本文转自 swallow_zys  51CTO博客,原文链接:http://blog.51cto.com/12042068/1897484,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
运维 安全 Linux
实现远程访问Linux堡垒机:通过JumpServer系统进行安全的服务器管理
实现远程访问Linux堡垒机:通过JumpServer系统进行安全的服务器管理
|
4月前
|
安全 关系型数据库 MySQL
Linux 实用小脚本系列(2)----mysql安全初始化脚本的免交互执行--mysql_secure_installation
Linux 实用小脚本系列(2)----mysql安全初始化脚本的免交互执行--mysql_secure_installation
54 0
|
2月前
|
安全 网络协议 Linux
Linux系统管理、服务器设置、安全、云数据中心
Linux系统管理、服务器设置、安全、云数据中心
|
6月前
|
安全 Linux 网络安全
百度搜索:蓝易云 ,Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置!
这些步骤提供了在Debian 11服务器上安装SSH,创建新用户并允许SSH远程登录以及进行SSH安全登录配置的指南。请确保按照步骤操作,并根据您的需求进行必要的修改。
100 0
|
3月前
|
Ubuntu 安全 Linux
Linux/Ubuntu 的日常升级和安全更新,如何操作?
Linux/Ubuntu 的日常升级和安全更新,如何操作?
71 0
Linux/Ubuntu 的日常升级和安全更新,如何操作?
|
3月前
|
安全 Linux C语言
【Linux权限:系统中的数字锁与安全之门】(下)
【Linux权限:系统中的数字锁与安全之门】
|
3月前
|
安全 Linux 数据安全/隐私保护
【Linux权限:系统中的数字锁与安全之门】(上)
【Linux权限:系统中的数字锁与安全之门】
|
8月前
|
安全 网络协议 Linux
Linux SSH:安全远程访问与管理
SSH(Secure Shell)是一种网络协议,广泛应用于Linux系统中,用于在不安全的网络中进行安全的远程访问和管理。SSH协议通过加密和身份认证机制,确保数据传输的安全性和用户身份的可靠性。本文将深入探讨Linux下的SSH协议,包括工作原理、配置、密钥认证、安全性措施以及实际应用等,帮助读者充分了解SSH的重要性,并学会在Linux系统中正确使用SSH实现安全远程访问和管理。
286 0
|
4月前
|
安全 Linux 网络安全
Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)
Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)
183 1
|
5月前
|
Web App开发 存储 Linux
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)(下)
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)